Duyuru

Çöküş
Henüz duyuru yok

I2c Bağlantısı İ2c Scan

Çöküş
X
 
  • Filtrele
  • Zaman
  • Göster
Hepsini Sil
yeni mesajlar

  • I2c Bağlantısı İ2c Scan

    Merhabalar chatgpt yardımı ile aşağıdaki kodları yazdırdım. Bu kodları çalıştırdığımda hiç bir cihaz bağlı olmasa bile bir cihaz buluyor. Bu nedenle
    Kod:
    self.i2c = SoftI2C(sda=Pin(deneyap.SDA), scl=Pin(deneyap.SCL))
    #self.oled = oledFW.SSD1306_I2C(128, 64, self.i2c)
    komutuyla oled ekrana bağlanmaya çalıştığımda
    Kod:
    Traceback (most recent call last):
    ile "boot.py", line 5, in <module>
    File "NFCAttendance.py", line 100, in __init__
    File "lib/ssd1306.py", line 110, in __init__
    File "lib/ssd1306.py", line 36, in __init__
    File "lib/ssd1306.py", line 71, in init_display
    File "lib/ssd1306.py", line 115, in write_cmd
    OSError: [Errno 19] ENODEV
    MicroPython dc5a679-dirty on 2021-05-31; Deneyap Kart with ESP32
    hatası alıyorum. Bu sorunu nasıl çözerim ?

    Kod:
    import machine
    import ssd1306
    
    # I2C bağlantısını ayarlayın
    i2c = machine.I2C(scl=machine.Pin(5), sda=machine.Pin(4))
    
    # I2C taraması yapın
    devices = i2c.scan()
    
    # "Merhaba" yazısını tüm cihazlara gönderin
    for device_address in devices:
        try:
            # SSD1306 OLED ekranı için ayarları yapın
            oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=device_address)
    
            # Ekranı temizleyin
            oled.fill(0)
    
            # "Merhaba" yazısını ekranın ortasına yazdırın
            oled.text("Merhaba", 32, 24)
            
            # Cihaz adresini yazdırın
            oled.text("Adres:", 0, 48)
            oled.text(hex(device_address), 40, 56)
    
            # Ekranı güncelleyin
            oled.show()
    
            print("Adres:", hex(device_address))
            print("Başarıyla gönderildi.")
            print()
        except OSError as e:
            print("Adres:", hex(device_address))
            print("Hata:", str(e))
            print()

  • #2
    Aslı sametatabasch tarafından gönderilmiş Mesajı göster
    Merhabalar chatgpt yardımı ile aşağıdaki kodları yazdırdım. Bu kodları çalıştırdığımda hiç bir cihaz bağlı olmasa bile bir cihaz buluyor. Bu nedenle
    Kod:
    self.i2c = SoftI2C(sda=Pin(deneyap.SDA), scl=Pin(deneyap.SCL))
    #self.oled = oledFW.SSD1306_I2C(128, 64, self.i2c)
    komutuyla oled ekrana bağlanmaya çalıştığımda
    Kod:
    Traceback (most recent call last):
    ile "boot.py", line 5, in <module>
    File "NFCAttendance.py", line 100, in __init__
    File "lib/ssd1306.py", line 110, in __init__
    File "lib/ssd1306.py", line 36, in __init__
    File "lib/ssd1306.py", line 71, in init_display
    File "lib/ssd1306.py", line 115, in write_cmd
    OSError: [Errno 19] ENODEV
    MicroPython dc5a679-dirty on 2021-05-31; Deneyap Kart with ESP32
    hatası alıyorum. Bu sorunu nasıl çözerim ?

    Kod:
    import machine
    import ssd1306
    
    # I2C bağlantısını ayarlayın
    i2c = machine.I2C(scl=machine.Pin(5), sda=machine.Pin(4))
    
    # I2C taraması yapın
    devices = i2c.scan()
    
    # "Merhaba" yazısını tüm cihazlara gönderin
    for device_address in devices:
    try:
    # SSD1306 OLED ekranı için ayarları yapın
    oled = ssd1306.SSD1306_I2C(128, 64, i2c, addr=device_address)
    
    # Ekranı temizleyin
    oled.fill(0)
    
    # "Merhaba" yazısını ekranın ortasına yazdırın
    oled.text("Merhaba", 32, 24)
    
    # Cihaz adresini yazdırın
    oled.text("Adres:", 0, 48)
    oled.text(hex(device_address), 40, 56)
    
    # Ekranı güncelleyin
    oled.show()
    
    print("Adres:", hex(device_address))
    print("Başarıyla gönderildi.")
    print()
    except OSError as e:
    print("Adres:", hex(device_address))
    print("Hata:", str(e))
    print()
    Deneyap Kart üzerinde dahili bulunan 6-eksen ataletsel ölçüm birimi I2C protokolü ile haberleşme sağlamaktadır. I2C adresi 0x6A' dır.

    Yorum Yap


    • #3
      Evet adres o şekilde çıkıyordu. Diğer cihazlarla bağlantı oluştururken sorun çıkartıyor. Ben oled ekranın adresini kullanarak hallettim. Cevap için teşekkürler

      Yorum Yap

      Hazırlanıyor...
      X