• 11-04-2020, 21:48:18
    #1
    Arkadaşlar Python ile Arduinoya bağlanıp basit bir LED yakmak istiyorum ama bir türlü olmuyor.
    Sizce kodlardaki hata nedir?
    Ben çalıştırıken hata vermiyor ama ledide yakmıyor
    Yardım ederseniz gerçekten sevinirim.

    Arduino kodu

    void setup() {
    pinMode(10,OUTPUT);
    Serial.begin(9600);
    }


    void loop() {
    if(Serial.available()) {
    switch(Serial.read()) {
    case 0: digitalWrite(10,LOW);
    break;
    case 1: digitalWrite(10,HIGH);
    break;
    default: break;
    }
    }
    }

    Python kodu
    import serial
    ser = serial.Serial('COM3',9600)

    while 1:
    ser.write(1)
  • 11-04-2020, 21:52:03
    #2
    case 1: digitalWrite(10,LOW); hatalı

    case 1: digitalWrite(10,HIGH); olmalı. Kapalı kal komutu gidiyor lede.
  • 11-04-2020, 21:53:01
    #3
    o lowlardan birini high yapın.
  • 11-04-2020, 21:53:16
    #4
    switch(Serial.read()) {
    case 0: digitalWrite(10,LOW);
    break;
    case 1: digitalWrite(10,HIGH);
    break;
    default: break;
    }

    Yakmak için HIGH +5 v uygulamak gerekir ardunio üzerinde
  • 11-04-2020, 21:56:38
    #5
    CtrlInformatics adlı üyeden alıntı: mesajı görüntüle
    case 1: digitalWrite(10,LOW); hatalı

    case 1: digitalWrite(10,HIGH); olmalı. Kapalı kal komutu gidiyor lede.
    Hocam onu düzelttim ama yine yanmıyor.



    ThirtySeven adlı üyeden alıntı: mesajı görüntüle
    o lowlardan birini high yapın.
    Hocam onu düzelttim ama yine yanmıyor.



    darness adlı üyeden alıntı: mesajı görüntüle
    switch(Serial.read()) {
    case 0: digitalWrite(10,LOW);
    break;
    case 1: digitalWrite(10,HIGH);
    break;
    default: break;
    }

    Yakmak için HIGH +5 v uygulamak gerekir ardunio üzerinde
    Hocam HIGH yaptım ama olmuyor yine.
  • 11-04-2020, 22:04:47
    #6
    Bağlantıların düzgün olduğunu kabul edelim;

    Serial.read() gelen değeri integer değişkene atayıp deneyebilir misin?

    Olmazsa konsola değeri yazdırın çıktıyı görelim.
  • 11-04-2020, 22:12:58
    #7
    CtrlInformatics adlı üyeden alıntı: mesajı görüntüle
    Bağlantıların düzgün olduğunu kabul edelim;

    Serial.read() gelen değeri integer değişkene atayıp deneyebilir misin?

    Olmazsa konsola değeri yazdırın çıktıyı görelim.
    Sayın hocam önceliklecvp verme nezaketinizden dolayı teşekkür ederim.İstediğiniz değişikliği aşağıdaki gibi yaptım. Ancak hatada vermiyor , yakmıyorda..
    Arduino kısmını integer yapmak için şöyle değiştirdim.

    int serialData;

    void setup() {
    pinMode(10,OUTPUT);
    Serial.begin(9600);
    }


    void loop() {
    if(Serial.available()) {
    serialData = Serial.read();
    switch(serialData) {
    case 0: digitalWrite(10,LOW);
    break;
    case 1: digitalWrite(10,HIGH);
    break;
    default: break;
    }
    }
    }
  • 11-04-2020, 22:20:40
    #8
    Garip. Read zaten int değer alır ama değişken garantili olur diye öyle düzelttirdim. Bağlantılar düzgün ise gelen değerde bir sorun olabilir. Konsola çıktıyı yazdırabilirseniz değeri bir görelim. Bağlantıdan değer alamadığı için sürekli -1'de kalıyor da olabilir.
  • 11-04-2020, 22:24:59
    #9
    while(serial.available) olmalı sanrıım