merhaba, arduino nano ya bluetooth hc05 bağladım, bluetooth un rx ini arduino nun tx pinine, bluetooth un tx ini arduino nun rx pinine bagladım, Arduino ide sindeki Seri port monitoru açtığımda telefonumla bluetooth a baglanıp seri haberleşmeyi saglayabiliyorum, fakat seri port monitor kapalı iken telefondan gönderdiğim hiçbir komutu arduino algılamıyor, çözümünü bilen biri var mıdır ?
arduino nano da seri port monitor kapalı iken seri port haberleşmesinin çalışmaması tek benim mi başıma geldi acaba ? ![]()
kodu kısaltıp basit şekilde koyarmısın. while (!Serial) veya if (Serial.available()) gibi satırlar varsa kullanma bunları
int ledPin = 9; int led2Pin = 5; void setup(void) { Serial.begin(9600); pinMode(ledPin, OUTPUT); pinMode(led2Pin, OUTPUT); } void loop(void) { char z ; if(Serial.available()) { z=Serial.read(); if(z==‘0’) { Serial.println(“greenledon”); digitalWrite(ledPin, HIGH); digitalWrite(led2Pin, LOW); } else if(z==‘1’) { Serial.println(“redledon”); digitalWrite(led2Pin, HIGH); digitalWrite(ledPin, LOW); } } }
kod bu şekilde
sayın okoman sadece if(Serial.available()) satırını kaldırmam yeterli midir ?
bazı programların setup kısımında while(!serial) gibi bir bekleme rutini oluyor o durumda kitlenmiş gibi geliyor sende bu durum yokmuş. serial.available gerekiyor sende karakter geldiğini anlayıp iş yapman lazım. yalnız dikkatimi çeken bt modul ve serial monitor aynı pinleri kullanıyorsa biraz saçma olmuş serial.printle yolladığın aynı anda bt module de gidiyor sanki. bt modul sofrserial pinlere bağlı olması lazım değilmi
if(Serial.available()) kaldırdım, hiçbirşey değişmedi. halen komut gönderemiyorum seri port monitoru açmadan
software serial ile deneyeyim ozaman birde
serial.available eklediğimde oldu. şu an problemsiz çalışıyor. teşekkür ederim
if(Serial.available()) fonksiyonunu kaldırırsan serial monitoru açsanda komut gönderemezsin
onu kaldırma
yok sadece if i kaldırdım, çalışıyo şu an. aşağıdaki gibi oldu, aksi halde seri port programını açmadan telefondan veri yollayamıyorum. char z ; Serial.available() z=Serial.read(); if(z==‘0’) { Serial.println(“greenledon”); digitalWrite(ledPin, HIGH); digitalWrite(led2Pin, LOW); } else if(z==‘1’) { Serial.println(“redledon”); digitalWrite(led2Pin, HIGH); digitalWrite(ledPin, LOW); }