- Katılım
- 27 Şubat 2019
- Mesajlar
- 12,014
O zaman cihaz kasası üzerine bir switch koyacağım. Şu iğne sokunca reset atan cihazlar gibi birşey olacak. Tuşla kodlamaya uğraşmak istemiyorum.evet gnd'ye çekince reset atıyor
O zaman cihaz kasası üzerine bir switch koyacağım. Şu iğne sokunca reset atan cihazlar gibi birşey olacak. Tuşla kodlamaya uğraşmak istemiyorum.evet gnd'ye çekince reset atıyor
sorunu hemen pico'ya attın ya sende.O zaman cihaz kasası üzerine bir switch koyacağım. Şu iğne sokunca reset atan cihazlar gibi birşey olacak. Tuşla kodlamaya uğraşmak istemiyorum.
Picoya atmadım ya. Büyük ihtimal kodlamadandır. Ama böyle durumlara karşı da bir buton koymak şart. Oldu da 1 hafta çalıştı sonra kilitlenesi tuttu. Reset atmak için cihazı sökmek zorunda kalmayalım.sorunu hemen pico'ya attın ya sende.
Belki senin programda bişeyler karışıyor bir bakalım çözüm buluruz ona
1 reseti butonunu bütün cihazlara gezdir.Hem display'i resetlesin hem picoyu daha başka resetlenen ne varsaPicoya atmadım ya. Büyük ihtimal kodlamadandır. Ama böyle durumlara karşı da bir buton koymak şart. Oldu da 1 hafta çalıştı sonra kilitlenesi tuttu. Reset atmak için cihazı sökmek zorunda kalmayalım.
Ekranda reset pini var ama acaba oda mı gnd ye çekince resetliyor?1 reseti butonunu bütün cihazlara gezdir.Hem display'i resetlesin hem picoyu daha başka resetlenen ne varsa
büyük ihtimal öyledir bakman lazım ona. Eğer ekran üstünde pull up yapıyorsa ekranı resetlemeye bulaştırmayalım 5 volt gitmesinEkranda reset pini var ama acaba oda mı gnd ye çekince resetliyor?
vbusdan vereceksin abiPicoya VSYS pininden 5v veriyorum çalışmıyor?
Aceleci davrandım ya. Nanodan alışkınım ışık yanmasına. Bunda o tepkiyi alamayınca çalışmıyor sandım. VSYS den besliyorum şuan çalışıyor.vbusdan vereceksin abi
Abi şöyle bir tasarım var vsys direkt regülatör girişine. VBUS 1 diyot üstünden regülatör girişine 1 diyottan geçsin ki regülatör 0.7v daha az bir voltajı regüle etsin ısınma söz konusu olmuyor ama 1 diyottan geçirmekte fayda var hem ters bağlantı koruması hemde regülatörün kırpacağı voltajdan birazını diyot üstünde bırakıyoruzAceleci davrandım ya. Nanodan alışkınım ışık yanmasına. Bunda o tepkiyi alamayınca çalışmıyor sandım. VSYS den besliyorum şuan çalışıyor.
Yanlış okumadıysam USB den beslemeyecekseniz VSYS den besleyin filan yazıyordu.
kütüphane içine bakmak lazım.PCF8574 i2C modülü tanıtamıyorum bir türlü.
SDA ve SCL pinleri pico ya bağlıyorum. Sonra i2CScanner diye bir kod var onu yüklüyorum.
Çalıştırınca com portta bana "i2C adress: 0x20" gib bir çıktı vermesi lazım ama "Not Found" döndürüyor.
"Wire.setSDA(0); Wire.setSCL(1);" Bu kodlar ile tanımlama yapınca da Com port çalışmıyor, Windows "USB Aygıtı Tanınmadı" hatası veriyor.
Picoyu yaktım sandım ama başka kod yükleyince çalıştı allahtan.
16325 eklentisine bak
Kullandığım küphane aşağıda.kütüphane içine bakmak lazım.
Wire kütüphanesi ekliyor musun?
Wire begin yapıyor musun?
sen ı2c modülü 5 volt ile mi besliyorsun.
ı2c modül pull up yapıyor olmasın baktın mı
#include <Wire.h>
void setup()
{
Wire.begin();
/*Wire.setSDA(0);
Wire.setSCL(1);*/
Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}
5volta dayanıklı bir pini yok diye biliyorum.Kullandığım küphane aşağıda.
Bu kodlar ile nanoda denedim sorunsuz tarayıp 0x20 kodunu buluyor.
Hatta hazır takmışken kendi yaptığım keypadi de denedim. Hiç sıkıntı yok.
Ama aynı kodu picoya yükleyince "No I2C devices found" yazıyor.
Hatta bir ara i2c scanner pyhton dosyası buldum .py uzantılı. Thony ile onuda yükledim. Ondada "Not Found" yazdı.
Yani pico bir şekilde bununla haberleşemiyor.
İlk taktığımda 5v'a bağlamıştım. Sonradan 3.3v'a bağladım. Her halukarda pcf8574'e erişemiyorum.
Anladığım kadarıyla piconun pinleri 5v'a dayanıklı. Şimdiye kadar bir sorun çıkmadı.
C:#include <Wire.h> void setup() { Wire.begin(); /*Wire.setSDA(0); Wire.setSCL(1);*/ Serial.begin(9600); while (!Serial); // Leonardo: wait for serial monitor Serial.println("\nI2C Scanner"); } void loop() { byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); error = Wire.endTransmission(); if (error == 0) { Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Unknown error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan }
" Wire.setSDA(0); Wire.setSCL(1);" bunların numarasını taktığımız pine göre mi vermemiz lazım yoksa 0,1 mi kalmalı hep?5volta dayanıklı bir pini yok diye biliyorum.
usb aygıtı tanınmadı hatasını büyük ihtimal bu yüzden verdi 5 volt gelince işlemciye bişeyler oldu ve haberleşmedi.
başka bir ı2c portunda dene ve mutlaka 3.3 ile besle
taktığın GPIO pinlerini seçeceksin abi" Wire.setSDA(0); Wire.setSCL(1);" bunların numarasını taktığımız pine göre mi vermemiz lazım yoksa 0,1 mi kalmalı hep?