Serial haberleşme ile led yakma

merhaba bir python programıyla arduinoya serial port üzerinden veri gönderip ledi yakmak istiyorum fakat led yanmıyor sebebi nedir. kodlarım:
arduino kodum:

const int ledPin = 12;

void setup() {
  // Seri portu başlatın ve hızı ayarlayın
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);

void loop() {
    if (Serial.available() > 0) {
        String data = Serial.readString();
        if (data == "ledon") {
            digitalWrite(ledPin, HIGH);
        }
        else {
            digitalWrite(ledPin, LOW);
        }
    }
}

python kodum:

import serial

def send_data(data):
    arduino = serial.Serial("COM9", 9600)
    arduino.write(data.encode())
    arduino.close()

send_data("ledon")
print("led yakıldı")

Bahsettiginiz uc parcanin hepsi (LED, arduino, python) birbirinden bagimsiz calisiyor mu?

LED’i delay ile yakip sondurunce ne oluyor?
arduino’ya seri konsoldan yazi yazinca ne oluyor?
python programi calisinca seri porta hangi datayi basiyor?

1 Beğeni

arduino ide’nin seri konsolundan yazınca led yanıyor ve python ledon datasını gönderiyor.

python ledon datasini arduino nasil aliyor?

nasıl atıyor derken? serial kütüphanesini kullanarak usb üzerinden com9 uzerinden 9600 bouthdan veri gonderiyor

Önce bir başlık yollanır, bir veya bir kaç karakter
uzunluğunda. Bunun yakalanması beklenir veya
belli bir zaman sonra bekleme bırakılıp diğer
işlere bakılır. Döngü yinelenince yeniden ilgili
başlık değeri beklenir.
Bunun sebebi hatta bir sürü akan veriler bulunabilir,
alıcı kısımın da bunu rahatça ayırt edebilmesi
istenir.

Normalde,
header+data+CRC
olarak yollanmalıdır.
Ancak basit uygulamalarda,
header+data
yeterlidir.

arduino’da data degiskeninin degeri "ledon" degilse nedir?

zaman ayırdığınız ve cevabınız icin teşekkür ederim.