09-12-2019, 20:33
Pierwsza sprawa:
Tak nie reguluje się mocy lasera. Podejrzewam, że chodziło Ci o sygnał PWM, więc powinno to wyglądać tak:
Druga sprawa, to jak wyglądają komendy wysyłane z telefonu?
Tak naprawdę to wysyłasz kody ASCII, a c=Serial.read() przypisuje te kody do zmiennej c.
Więc jeśli wyślesz char '1', to c=49 i za chwilę c=10 bo jeszcze mamy '\n' co w ASCII jest decymalnie równe 10.
Proponuję:
Kod:
digitalWrite(laser, moc);
Kod:
analogWrite(laser, moc);
Druga sprawa, to jak wyglądają komendy wysyłane z telefonu?
Tak naprawdę to wysyłasz kody ASCII, a c=Serial.read() przypisuje te kody do zmiennej c.
Więc jeśli wyślesz char '1', to c=49 i za chwilę c=10 bo jeszcze mamy '\n' co w ASCII jest decymalnie równe 10.
Proponuję:
Kod:
if (Serial.available())
{
c = Serial.parseInt(SKIP_WHITESPACE,'\n');
}
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.