Komunikácia medzi Imagine Logo a Arduinom: Rozdiel medzi revíziami
Skočit na navigaci
Skočit na vyhledávání
(Vytvorená stránka „Imagine Logo je silný nástroj a dokáže robiť všetko možné... napríklad aj otvárať a komunikovať cez sériový port - a tam sa práve pripája Arduino. Podro...“) |
dBez shrnutí editace |
||
Riadok 20: | Riadok 20: | ||
if (c == '1') | if (c == '1') | ||
Serial.println("Ahoj Imagine!"); | Serial.println("Ahoj Imagine!"); | ||
else | else if ((c >= '0') && (c <= '9')) | ||
Serial.println((c - '0') * 3 | Serial.println((c - '0') * 3); | ||
} | } | ||
delay(10); | delay(10); |
Verzia z 22:39, 11. november 2019
Imagine Logo je silný nástroj a dokáže robiť všetko možné... napríklad aj otvárať a komunikovať cez sériový port - a tam sa práve pripája Arduino.
Podrobné informácie o práci so sériovým portom sú na stránkach o Imagine Logu.
Tu si vyskúšame jednoduchý príklad. Napíšeme program pre Arduino, ktorý čaká na nejaké jednociferné číslo na sériovom porte, ak je to 1, tak pošle naspäť jeden riadok, v ktorom je pozdrav, inak číslo vynásobí tromi a výsledok pošle naspäť do PC:
void setup()
{
Serial.begin(9600);
pinMode(13, OUTPUT);
}
void loop()
{
if (Serial.available())
{
char c = Serial.read();
if (c == '1')
Serial.println("Ahoj Imagine!");
else if ((c >= '0') && (c <= '9'))
Serial.println((c - '0') * 3);
}
delay(10);
digitalWrite(13, 1 - digitalRead(13));
}
Po nahratí programu do Arduina si túto funkcionalitu môžeme vyskúšať cez terminálové okno Putty:
A napokon napíšeme program pre Imagine Logo, ktorý otvorí sériový port a komunikuje s Arduinom (použijeme anglickú verziu Imagine):
to otestujArduino
let "arduino new "CommPort [port COM3]
arduino'setConnected "true
if [not arduino'connected] [show [Neda sa pripojit na Arduino] stop]
arduino'onReceive [show se [Arduino:] arduino'receive]
arduino'send "1
delay 1000
arduino'send "2
delay 1000
arduino'send "3
arduino'setConnected "false
end