02. GYAKORLAT Soros monitor
Feladat Készítsen hardvert és írjon hozzá szoftvert amelyik az Arduino fejlesztőlap 13. lábacskájára kötött LED-et vezérli. A LED akkor kell hogy bekapcsoljon amikor „H” karaktert küldjük el, és akkor kell hogy kikapcsoljon amikor az „L” karaktert küldjük el. A karaktereket vagy a soros port-on keresztül küldjük, vagy valamelyik másik program segítségével (pl. Processing).
Soros monitor A soros monitort a Tools/Serial Monitor menüből nyitjuk. A LED-et a „H” karakter küldésével kapcsoljuk ki. A LED-et az „L” karakter küldésével kapcsoljuk ki.
Hardver Mivel a fejlesztőlap 13. lábacskájára már be van építve egy LED, maga a fejlesztőlap képezi a hardvert, további összekötés nem szükséges. A LED a 13. lábacska és a földelés közé van bekötve. A LED-et más lábacskára is lehet csatlakoztatni.
Hardver
Szoftver // initialize the LED pin as an output: const int ledPin = 13; // the pin that the LED // is attached to int incomingByte; // a variable to read // incoming serial data into void setup() { // initialize serial communication: Serial.begin(9600); // initialize the LED pin as an output: pinMode(ledPin, OUTPUT); } void loop() { // see if there's incoming serial data: if (Serial.available() > 0) { // read the oldest byte in the serial buffer: incomingByte = Serial.read(); // if it's a capital H (ASCII 72), // turn on the LED: if (incomingByte == 'H') { digitalWrite(ledPin, HIGH); } // if it's an L (ASCII 76) turn //off the LED: if (incomingByte == 'L') { digitalWrite(ledPin, LOW);
Programkód elemzése // a LED kimenetkent van definialva const int ledPin = 13; // a labacska amelyikre // a LED van csatlakoztatva int incomingByte; // a valtozo amelyikben a kuldott // erteket orizzuk void setup() { // soros kommunikacio inicializalasa, 9600bps sebesseg Serial.begin(9600); // a LED kimenetkent van definialva pinMode(ledPin, OUTPUT); }
Programkód elemzése void loop() { // ellenorizzuk, hogy lett-e valami kuldve a soros porton keresztul: if (Serial.available() > 0) { // legkorabban beirt adat olvasasa a soros pufferbol: incomingByte = Serial.read(); // ha „H” lett elkuldve, bekapcsol a LED: if (incomingByte == 'H') { digitalWrite(ledPin, HIGH); } // ha „L” lett elkuldve, kikapcsol a LED: if (incomingByte == 'L') { digitalWrite(ledPin, LOW);
Az elkészített projekt
Önálló feladat Írjon programot amelyik a LED-et nagybetűk megnyomásakor kapcsola be, kisbetűk megnyomásakor pedig kapcsolja ki. Írjon programot amelyik a LED-et akármelyik szám (0-9) lenyomásával kapcsolja be, és 3 másodperc után automatikusan eloltja a LED-et.