Kablo pin testi

Erman86

Üye
Katılım
18 Şubat 2021
Mesajlar
89
Merhaba arkadaşlar,

Bir abimin de yardımıyla çalıştığım şirkette işimi kolaylaştırmak amacıyla bir proje yaptım şimdi sizlerin yardımı ve bilgilerinizle bu projeyi geliştirmek istiyorum.

Mevcut durumda Arduino Nano ile 39 giriş 50 çıkışlı bir kablo test cihazı yaptık. 20x4 lcd ekranda kablonun soket üzerinde nerden nereye gittiğini ekrana yazan bir test cihazı.
Ekrana ait görüntüleri ekliyorum.
Kodlamada iki soket türüne göre kodlama mevcut 21 giriş 50 çıkış , 39 giriş 39 çıkış. Program tuşuna basarak programlar arasında geçiş sağlanıyor.
Benim test kısmı işimi görüyor . Bu kısmın üzerine keypad ekleyerek işi yapan kişinin personel numarasını girmesini sağlamak ve tesisatın seri numarasını girilmesini sağlamak istiyorum. SD kart modülü ile de yapılan bütün işi sırasıyla ekranda yazanları seri numarası adı altında ki dosya içerisinde kayıt etmesini istiyorum.

Sizlerin bilgi ve deneyimlerini rica ediyorum.
Şimdiden teşekkürler



İmla hatalarım için kusuruma bakmayın

IMG-20210116-WA0018.jpeg
IMG-20210116-WA0036.jpeg
IMG-20210116-WA0034.jpeg
 
Last edited by a moderator:
Hem tuş takımı için hem de SD card için hazır kütüphaneler var arduino için. Onların dokümanlarını oku ve deneme kodlarıyla dene. Sorun yaşadığın noktada da soru sor, ikisi ile de çalışmış üyeler var yardımcı olurlar.
 
Hem tuş takımı için hem de SD card için hazır kütüphaneler var arduino için. Onların dokümanlarını oku ve deneme kodlarıyla dene. Sorun yaşadığın noktada da soru sor, ikisi ile de çalışmış üyeler var yardımcı olurlar.
Merhaba

Ben bu konuda çok yeniyim hiç birşey bilmiyorum gibi durumdayım bu proje ile birşeyler öğrenmeye çalışıyorum.
Tavsiyelerinizi deneyeceğim
Teşekkürler
 
Keypad ve 4x20 LCD ekranı PCF8574 ve I2C seri haberleşme modülleri ile Aşağıdaki resimdeki gibi bağlarsın.

seri_haberleşme_1.jpg


LCD'yi halihazırda kullandığına göre bunun için bir şey yapmana gerek yok.
Keypad'i ise şu kütüphaneleri kullanarak çalıştırabilirsin.

Keypad Kütüphane:
#include "Wire.h"
#include "I2CKeyPad.h"

const uint8_t KEYPAD_ADDRESS = 0x20;
I2CKeyPad keyPad;

"void setup" kısmında keypad bağlantısını kontrol ediyoruz. Hata döndürürse serial monitöre yazdırıyor.

Keypad:
if (keyPad.begin(KEYPAD_ADDRESS) == false)
  {
    Serial.println("\nERROR: cannot communicate to keypad.\nPlease reboot.\n");
    while(1);
  }

void loop kısmında ise keypad den veri alma kodları şu şekilde;
burayı kendi kodlarınla düzenlemen gerek.
Mesela teknisyen numarasını girdikten sonra, bu numarayı "#" tuşuna basınca sd karta atsın istiyorsan ilgili kodu " # Tuşuna basıldığında yapılacak işlem!" yazan yere yazmalısın.
Keypad:
uint8_t idxx = keyPad.getKey();
    char idx = "D#0*C987B654A321"[idxx];

    if ( isdigit(idx) ) {
        uint8_t sayi = idx - '0';
        ToplamSayi = ((ToplamSayi * 10) + sayi);
          Serial.print( "Tuslanan Sayi:" );
          Serial.println(ToplamSayi);
          lcd.print(ToplamSayi);
    } else if ( idx == '#' ) {
// # Tuşuna basıldığında yapılacak işlem!
        
    } else if ( idx == '*' ) {
// * Tuşuna basıldığında yapılacak işlem!
        
    } else if ( idx == 'A' ) {
// A Tuşuna basıldığında yapılacak işlem!
        
    } else if ( idx == 'B' ) {
// B Tuşuna basıldığında yapılacak işlem!
        
    } else if ( idx == 'C' ) {
// C Tuşuna basıldığında yapılacak işlem!
      
    } else if ( idx == 'D' ) {
// D Tuşuna basıldığında yapılacak işlem!

    }
    delay(300);
 
Keypad ve 4x20 LCD ekranı PCF8574 ve I2C seri haberleşme modülleri ile Aşağıdaki resimdeki gibi bağlarsın.

8342 eklentisine bak

LCD'yi halihazırda kullandığına göre bunun için bir şey yapmana gerek yok.
Keypad'i ise şu kütüphaneleri kullanarak çalıştırabilirsin.

Keypad Kütüphane:
#include "Wire.h"
#include "I2CKeyPad.h"

const uint8_t KEYPAD_ADDRESS = 0x20;
I2CKeyPad keyPad;

"void setup" kısmında keypad bağlantısını kontrol ediyoruz. Hata döndürürse serial monitöre yazdırıyor.

Keypad:
if (keyPad.begin(KEYPAD_ADDRESS) == false)
  {
    Serial.println("\nERROR: cannot communicate to keypad.\nPlease reboot.\n");
    while(1);
  }

void loop kısmında ise keypad den veri alma kodları şu şekilde;
burayı kendi kodlarınla düzenlemen gerek.
Mesela teknisyen numarasını girdikten sonra, bu numarayı "#" tuşuna basınca sd karta atsın istiyorsan ilgili kodu " # Tuşuna basıldığında yapılacak işlem!" yazan yere yazmalısın.
Keypad:
uint8_t idxx = keyPad.getKey();
    char idx = "D#0*C987B654A321"[idxx];

    if ( isdigit(idx) ) {
        uint8_t sayi = idx - '0';
        ToplamSayi = ((ToplamSayi * 10) + sayi);
          Serial.print( "Tuslanan Sayi:" );
          Serial.println(ToplamSayi);
          lcd.print(ToplamSayi);
    } else if ( idx == '#' ) {
// # Tuşuna basıldığında yapılacak işlem!
       
    } else if ( idx == '*' ) {
// * Tuşuna basıldığında yapılacak işlem!
       
    } else if ( idx == 'A' ) {
// A Tuşuna basıldığında yapılacak işlem!
       
    } else if ( idx == 'B' ) {
// B Tuşuna basıldığında yapılacak işlem!
       
    } else if ( idx == 'C' ) {
// C Tuşuna basıldığında yapılacak işlem!
     
    } else if ( idx == 'D' ) {
// D Tuşuna basıldığında yapılacak işlem!

    }
    delay(300);
Teşekkürler
Burada ki parçayi alarak ise başlayayım
 
Merhaba arkadaslar

şuan için bendeki kodlarımı eke ekliyorum bu kodlama benim test kısmın da işimi görmekte
arduino nanoya göre kodlama yapıldı fakat nanonun pinleri yetersiz mi kalır. sd kart için
 

Ekler

  • erman test.txt
    26.4 KB · Görüntüleme: 126
Kodlara göre Anolog pinlerinin 6 tanesi boşta gibi görünüyor. Belki o pinler özel bir kodlama ile sd kartı okuyacak hale gelebilir. Yanlış hatırlamıyorsam bazı pinler kodlama yapılarak istenilen pine atanabiliyordu.
 
Sd kartın ihtiyaç duyduğu pinler miso, mosi ve sck pinleri. Bu pinler nano üzerinde 11,12 ve 13 nolu pinler. Senin kodlarda gördüğüm kadarıyla 13 nolu pin kullanılmamış. 11 ve 12 nolu pini kullanılmayan 2 tane analog pine tanımlayabilirsen bu iş olur. Yalnız çizimini yapıp bastırdığın devre kartlarını tekrar düzenleyip baskı yaptırman gerekir. Yada eeprom alternatifini değerlendirebilirsin.
 
Sd kartın ihtiyaç duyduğu pinler miso, mosi ve sck pinleri. Bu pinler nano üzerinde 11,12 ve 13 nolu pinler. Senin kodlarda gördüğüm kadarıyla 13 nolu pin kullanılmamış. 11 ve 12 nolu pini kullanılmayan 2 tane analog pine tanımlayabilirsen bu iş olur. Yalnız çizimini yapıp bastırdığın devre kartlarını tekrar düzenleyip baskı yaptırman gerekir. Yada eeprom alternatifini değerlendirebilirsin.
Arduino yu kart üzerine takmam kablo ile dışarıdan bağlarım
 
11 ve 12 nolu pini boşa çıkarma şansın var mı peki? Yada boştaki analog pinlere atama?
 
Kodta ki en üstte bulunan tanımlamaları degistirdigimizde işlem hallolurmu analog pinleri direkt kullanabilir miyiz
İşte orasını bilemiyorum. Yani test ettiğin cihazdan nasıl veri geliyor, nasıl işleniyor bilmiyorum. Deneyerek yapabilirsin. Yada software spi kullanarak analog pinleri dijitale çevirebilirsin. Bu software spi olayıda yapılıyor ama nasıl yapıldığını ben bilmiyorum. Forum da bilen arkadaşlar yazarsa iyi olur. Yada ingilizcen yeterli ise Arduino Software SPI olarak google da arat. Mutlaka işe yarar birşeyler çıkar.
 
İşte orasını bilemiyorum. Yani test ettiğin cihazdan nasıl veri geliyor, nasıl işleniyor bilmiyorum. Deneyerek yapabilirsin. Yada software spi kullanarak analog pinleri dijitale çevirebilirsin. Bu software spi olayıda yapılıyor ama nasıl yapıldığını ben bilmiyorum. Forum da bilen arkadaşlar yazarsa iyi olur. Yada ingilizcen yeterli ise Arduino Software SPI olarak google da arat. Mutlaka işe yarar birşeyler çıkar.
Benim elimde suan mega var o yüzden hiç problem değil illa Nano olmalı diye birşey yok megadan kablo ile PCB üzerine bağlarız :)
 
Benim elimde suan mega var o yüzden hiç problem değil illa Nano olmalı diye birşey yok megadan kablo ile PCB üzerine bağlarız :)
Mega da 50, 51 ve 52 nolu pinlerden sd kart modülü bağlayabilirsin. Ama bütün kodlamayı megaya göre değiştirmen gerekebilir. Nano ile mega arasında pin farklılıkları olabilir.
Tüm bu bağlantıları çözdükten sonra geri kalan iş sd kart kütüphanesini yükleyip koda eklemek, sd kart içinde metin belgesi oluşturmak, bu metin belgesine veri yazdırmak. Bununla ilgili eminim bolca örnek vardır nette.
Keypadi de nasıl kullanacağına ilişkin örnek kod paylaşmıştım yukarıda. Parçaları birleştirmelisin :)
 
Mega da 50, 51 ve 52 nolu pinlerden sd kart modülü bağlayabilirsin. Ama bütün kodlamayı megaya göre değiştirmen gerekebilir. Nano ile mega arasında pin farklılıkları olabilir.
Tüm bu bağlantıları çözdükten sonra geri kalan iş sd kart kütüphanesini yükleyip koda eklemek, sd kart içinde metin belgesi oluşturmak, bu metin belgesine veri yazdırmak. Bununla ilgili eminim bolca örnek vardır nette.
Keypadi de nasıl kullanacağına ilişkin örnek kod paylaşmıştım yukarıda. Parçaları birleştirmelis

Umarım yapabilirim :)
 

Çevrimiçi personel

Forum istatistikleri

Konular
5,789
Mesajlar
99,022
Üyeler
2,464
Son üye
s4met

Son kaynaklar

Son profil mesajları

cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Kesici/Spindle hızı hesaplamak için SpreadSheet UDF'leri kullanın, hesap makinesi çok eski kalan bir yöntem :)
Dr. Bülent Başaran,
Elektrik ve Elektronik Mühendisi
Yonga Tasarım Özdevinimcisi
Üç güzel "çocuk" babası
Ortahisar/Ürgüp/Konya/Ankara/Pittsburgh/San Francisco/Atlanta/Alaçatı/Taşucu...

Back
Top