un kit special creat pentru cei care vor sa inceapa programarea pe platforma arduino

Upload: liliana-costinean

Post on 04-Jun-2018

228 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    1/18

    Un kit special creat pentru cei care vor sa inceapa programarea pe platforma Arduino. Contine o placa dedezvoltareArduino Leonardo in varianta completa,o carte "Arduino pentru Incepatori"in limba romana, sio serie decomponente brick special gandite ca sa incepi foarte simplu. Fiecare componenta vine cu unconector special gandit special pentru conectarea simpla la Arduino, fara lipire.

    Kit-ul contine o placa de dezvoltareArduino Leonardo in varianta completa,o carte "Arduino pentruIncepatori"in limba romana, unbuton brick,unminidifuzor brick,unled galben brick,unled verde brick,unled rosu brick,unled albastru brick, unsenzor de lumina brick, unsenzor de temperatura brick,unsenzor de umiditate brick,unshield LCD,unbreadboardsi 10fire de conectare brick.Mai exact, tot ceai nevoie ca sa explorezi ceea ce poate face Arduino.

    Pentru a conecta placa Arduino la calculator, ai nevoie de un cablu microUSB.Daca nu ai deja un astfelde cablu, atunci selecteaza in campul de optiuni (culoare galbena) optiune "+ Cablu MicroUSB".

    http://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/bricks/buton-mare-brickhttp://www.robofun.ro/bricks/buton-mare-brickhttp://www.robofun.ro/bricks/buton-mare-brickhttp://www.robofun.ro/bricks/minidifuzor-brickhttp://www.robofun.ro/bricks/minidifuzor-brickhttp://www.robofun.ro/bricks/minidifuzor-brickhttp://www.robofun.ro/bricks/led-brick-galbenhttp://www.robofun.ro/bricks/led-brick-galbenhttp://www.robofun.ro/bricks/led-brick-galbenhttp://www.robofun.ro/bricks/led-brick-verdehttp://www.robofun.ro/bricks/led-brick-verdehttp://www.robofun.ro/bricks/led-brick-verdehttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/senzor-luminahttp://www.robofun.ro/bricks/senzor-luminahttp://www.robofun.ro/bricks/senzor-luminahttp://www.robofun.ro/bricks/senzor-temperatura-brickhttp://www.robofun.ro/bricks/senzor-temperatura-brickhttp://www.robofun.ro/bricks/senzor-umiditate-brickhttp://www.robofun.ro/bricks/senzor-umiditate-brickhttp://www.robofun.ro/bricks/senzor-umiditate-brickhttp://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/breadboard-82x52x10?keyword=breadboard&category_id=0http://www.robofun.ro/breadboard-82x52x10?keyword=breadboard&category_id=0http://www.robofun.ro/breadboard-82x52x10?keyword=breadboard&category_id=0http://www.robofun.ro/cabluri/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/cabluri/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/cabluri/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/cablu_microusb_1_8mhttp://www.robofun.ro/cablu_microusb_1_8mhttp://www.robofun.ro/cablu_microusb_1_8mhttp://www.robofun.ro/cablu_microusb_1_8mhttp://www.robofun.ro/cabluri/fire_conexiune_tata_tata-140mmhttp://www.robofun.ro/breadboard-82x52x10?keyword=breadboard&category_id=0http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/senzor-umiditate-brickhttp://www.robofun.ro/bricks/senzor-temperatura-brickhttp://www.robofun.ro/bricks/senzor-luminahttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-rosuhttp://www.robofun.ro/bricks/led-brick-verdehttp://www.robofun.ro/bricks/led-brick-galbenhttp://www.robofun.ro/bricks/minidifuzor-brickhttp://www.robofun.ro/bricks/buton-mare-brickhttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/arduino/arduino-leonardohttp://www.robofun.ro/carti/carte-arduino-incepatorihttp://www.robofun.ro/arduino/arduino-leonardo
  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    2/18

    Ce este Arduino ?

    Arduino este una dintre cele mai simplu de utilizat platforme cu microcontroller. Te poti gandi la el ca la

    un minicalculator (are puterea de calcul a unui computer obisnuit de acum 15 ani), fiind capabil saculeaga informatii din mediu si sa reactioneze la acestea. In jurul lui Arduino exista un ecosistem dedispozitive extrem de bine dezvoltat. Orice fel de informatie ti-ai dori sa culegi din mediu, orice felde conexiuni cu alte sisteme ai avea nevoie, exista o sansa foarte mare sa gasesti un dispozitiv pentruArduino capabil sa iti ofere ceea ce ai nevoie. In cazul Arduino, totul este foarte simplu de utilizat. Ainevoie de circa 5 minute ca sa iti instalezi mediul de dezvoltare si sa scrii primul tau program pe Arduino.Nu este necesar sa lipesti fire, tot ce ai nevoie este un port USB liber.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    3/18

    Led Brick, ON/OFF

    Un led brick reprezinta cea mai simpla posibilitate de a genera un semnal luminos folosind Arduino. Unled brick necesita un port digital liber pentru a fi controlat de catre Arduino.

    void setup() {

    pinMode(13, OUTPUT);

    }

    void loop() {

    digitalWrite(13, HIGH);

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    4/18

    delay(1000);

    digitalWrite(13, LOW);

    delay(1000);

    }

    Rutina setup, care se executa exact o singura data cand Arduino este alimentat, declara pinul digital 13(cel la care am conectat led-ul) ca fiind un pin de iesire (in sensul ca va controla un dispozitiv externconectat la Arduino, si nu va citi o informatie digitala din mediu). Rutina loop, care se executa atata timpcat Arduino este alimentat, aprinde led-ul ridicand pinul 13 in HIGH (mai exact, face ca tensiunea pinuluisa fie 5 V), apoi asteapta o secunda, stinge led-ul (tensiunea pinului devine 0 V) si apoi iarasi asteapta osecunda.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    5/18

    Led Brick, intensitate variabilaIn prima lectie am vazut cum putem aprinde si stinge un led. In acest exempluvom folosi acelasi led, dar ilvom aprinde variabil. Chiar daca Arduino nu poate scoate tensiune variabila pe porturile digitale (scoateori 5V ori 0V), exista o posibilitate de a genera un semnal de putere variabila pe unul dintre porturile sale.Acest lucru este posibil prin generarea unui semnal dreptunghiular, care se plimba periodic intre 0V si 5V,

    foarte rapid. In functie de cat timp sta in 5V si cat timp sta in 0V, puterea semnalului variaza. Numeleacestui gen de semnal este "PWM".

    void setup() {

    pinMode(11, OUTPUT);}void loop() {

    for (int i = 0; i < 255; i++){ analogWrite(11, i);delay(50);

    }for (int i = 255; i > 0; i--){

    analogWrite(11, i);delay(50);

    }}

    Rutina setup, care se executa exact o singura data cand Arduino este alimentat, declara pinul digital 11(cel la care am conectat led-ul) ca fiind un pin de iesire.In rutina loop este interesanta instructiunea analogWrite, care defineste puterea semnalului PWM deiesire. Ca parametri, instructiunea analogWrite primeste pinul (11, in cazul nostru), si puterea semnalului(variabila, de la 0 la 255). Aceasta instructiune este apelata intr-un ciclu for, care modifica valoareavariabilei i intre 0 si 255. Efectul va fi ca led-ul se va aprinde gradat pana la maxim, iar apoi se va stingetreptat.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    6/18

    Buton BrickAm vazut in exemplele precedente cum putem folosi porturile digitale Arduino pentru a comandadispozitive din exterior (led-uri, in exemplele de pana acum). Acum vom vedea cum putem folosi un portdigital Arduino pentru a citi informatie din mediu (starea unui buton).

    void setup() {pinMode(7, INPUT);Serial.begin(9600);

    }

    void loop() {int stareButon = digitalRead(7);Serial.println(stareButon);delay(10);

    }

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    7/18

    Senzor Lumina BrickDupa ce am comandat led-uri si am citit valori digitale din mediu, senzorul de lumina este primul exemplude citire a valorilor analogice din mediu. Un senzor de lumina da o valoare numerica intre 0 si 1023,valoare proportionala cu nivelul de iluminare din mediul ambiant.

    void setup() {Serial.begin(9600);

    }void loop() {

    int nivelIluminare = analogRead(0);Serial.println(nivelIluminare);

    delay(10);}

    In rutina setup singurul lucru pe care il facem este sa initializam o comunicare seriala cu PC-ul, pe care ovom folosi ca sa transmitem si sa vizualizam pe PC valorile citite de senzorul de lumina. Rutina loopciteste valoarea data de senzorul de lumina (conectat la portul serial 0) si afiseaza aceasta valoare inconsola seriala. Poti vedea aceasta informatie deschizand Serial Monitor in Arduino IDE. Pentru a testaca lucrurile functioneaza corect, pune degetul peste senzorul de lumina. Vei observa ca valoarea pe careo vezi in Serial Monitor scade.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    8/18

    Minidifuzor

    Mini difuzorul este cea mai simpla modalitate de a crea sunete cu Arduino. Util izarea acestuia esteextrem de simpla. Conectezi firul negru la pinul GND al placii Arduino, iar firul rosu la un pin PWM digitalal placii Arduino. Placa Arduino Leonardo are 7 astfel de pini (3, 5, 6, 9, 10, 11 si 13), iar placa ArduinoMega are 15 astfel de pini (de la pinul 2 pana la pinul 13 si de la pinul 44 la pinul 46). Un semnal de tip

    PWM este un semnal care se misca foarte rapid intre 5V si 0V, astfel incat membrana difuzorului este siea miscata la fel de rapid, generand sunete. Frecventa cu care semnalul se misca intre 5V si 0Vdetermina frecventa sunetului.

    void setup() {pinMode(11, OUTPUT);

    }void loop() {

    for (int i = 1500; i < 4000; i++) { tone(11, i);delay(10);

    }for (int i = 4000; i > 1500; i--) {

    tone(11, i);delay(10);

    }

    }

    Partea interesanta din codul de mai sus este instructiunea tone, care primeste ca parametri pinul lacare este conectat difuzorul (in cazul nostru pinul 11) si frecventa sunetului (in cazul nostru, variabilai). Variabila i se modifica intre 1500 de Hertzi si 4000 de Hertzi. Efectul obtinut este cel de sirena. Casa opresti sunetul complet, instructiunea este noTone(); In cazul de mai sus, noTone(11)opreste complet sunetul.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    9/18

    Semafor, Trei Led-uri Brick

    In acest proiect vom folosi un led verde brick, un led galben brick si un led rosu brick pentru a genera unefect de tip semafor. Pentru alimentarea tuturor celor trei led-uri, vom utiliza un breaboard. Conectarea seface exact ca in situatia in care ai folosit un singur led, doar ca vei folosi breadboard-ul pentru a obtine

    mai multe puncte GND.

    void setup() {pinMode(13, OUTPUT);pinMode(12, OUTPUT);

    pinMode(11, OUTPUT);}void loop() {

    digitalWrite(13, HIGH);delay(1000);digitalWrite(12, HIGH);delay(200);digitalWrite(13, HIGH);digitalWrite(12, HIGH);digitalWrite(11, HIGH);delay(1000);digitalWrite(12, HIGH);delay(200);

    digitalWrite(11, HIGH);digitalWrite(12, HIGH);digitalWrite(13, HIGH);delay(1000);

    }

    Rutina setup face acelasi lucru ca in exemplul cu un singur led, doar ca acum declara trei pini in loc deunul. Rutina loop aprinde initial led-ul verde vreme de o secunda. Apoi aprinde led-ul galben vreme de0.2 secunde si apoi stinge led-ul verde si il aprinde pe cel rosu. Dupa o secunda, face exact acelasi ciclu,dar de data aceasta cu led-ul verde aprins.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    10/18

    Lampa de Veghe

    Sau mai bine spus, led de veghe. Pentru acest proiect ai nevoie de un led brick, un senzor de luminabrick, si evident, un Arduino. Vom programa Arduino ca ori de cate ori nivelul de iluminare scade sub o

    anumita valoare, sa aprinda led-ul si sa il stinga atunci cand nivelul de iluminare creste iarasi. Daca maifolosesti si o bila de ping-pong in care bagi led-ul brick (si folosesti un led brick albastru), rezultatul aratachiar excelent. Pentru conectarea componentelor la Arduino, vezi mai sus sectiunea despre led brick sidespre senzorul de lumina. Probabil ca vei vrea sa folosesti un breadboard pentru a obtine mai multepuncte VCC si GND.

    void setup() {pinMode(11, OUTPUT);

    }void loop() {

    int nivelIluminare = analogRead(0);if (nivelIluminare < 300) {

    digitalWrite(11, HIGH);} else {

    digitalWrite(11, LOW);}

    }

    Singurul lucru pe care il face rutina setup este sa declare pinul la care este conecta ledul ca fiind pin deiesire. Rutina loop verifica daca nivelul de iluminare a scazut sub un anumit prag predefinit, si dacada, atunci aprinde led-ul. In caz contrar, il stinge. S-ar putea ca pragul ales de mine sa nu fie bineales pentru parametrii din incaperea ta, si atunci led-ul sa stea stins tot timpul. Daca se intampla acestlucru, cel mai simplu este sa maresti valoarea pragului (cu cat vrei tu), sau sa folosesti debug-ul serial casa vezi exact valoarea pe care o masoara senzorul in camera ta (vezi lectia a doua despre debug). Dacavaloarea prag-ului este bine aleasa, atunci led-ul va sta stins in mod obisnuit. Ca sa testezi ca se stinge,pune degetul peste senzorul de lumina, iar led-ul se va aprinde.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    11/18

    Buton + Led

    Un proiect simplu care aprinde un led atunci cand apesi un buton. Ai nevoie de un led brick, un butonbrick si un Arduino. Proiectul este destul de similar cu cel anterior, doar ca am inlocuit senzorul de luminacu butonul. Pentru conectarea componentelor la Arduino, vezi mai sus sectiunea despre led brick sidespre butonul brick. Probabil ca vei vrea sa folosesti un breadboard pentru a obtine mai multe puncte

    VCC si GND.

    void setup() {pinMode(11, OUTPUT);pinMode(7, INPUT);

    }void loop() {

    int stareButon = digitalRead(7);if (stareButon == 1) {

    digitalWrite(11, HIGH);} else {

    digitalWrite(11, LOW);

    }}

    Este interesanta cea de-a doua instructiune din rutina setup, care declara ca pinul 7, cel pe care esteconectat butonul, este un pin de intrare. Rutina loop verifica starea butonului (folosind digitalRead) siactualizeaza starea led-ului in consecinta.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    12/18

    Senzor Temperatura BrickSenzorul de temperatura brick este un alt exemplu de senzor care ofera valori analogice care depind detemperatura din mediul ambiat. Din valorile citite de la senzori se obtine valoarea temperaturii in mediulambiant in grade Celsius, aplicand o formula matematica simpla, formula prezentata in codul sursa de

    mai jos.

    void setup() {Serial.begin(9600);

    }

    void loop() {Serial.println(citesteTempInCelsius(10));

    }

    float citesteTempInCelsius(int count) {float temperaturaMediata = 0;float sumaTemperatura;for (int i =0; i

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    13/18

    La fel ca si in exemplele precedente, in rutina setup singurul lucru pe care il facem este sa initializam ocomunicare seriala cu PC-ul, pe care o vom folosi ca sa transmitem si sa vizualizam pe PC valorile cititede senzorul de temperatura.

    Rutina loop nu face altceva decat sa apeleze rutina "citesteTempInCelsius" care calculeaza temperaturain grade Celsius pe baza valorii citite de la senzor. Pentru a diminua influenta surselor de erori asupra

    citirilor, temperatura se calculeaza pe baza a zece citiri succesive, care sunt mediate.

    Ca sa testezi ca lucrurile functioneaza corect, pune degetul peste senzorul de lumina. Vei observa cavaloarea pe care o vezi in Serial Monitor creste.

    Senzor Umiditate Brick

    Senzorul de umiditate brick este un senzor care ofera o valoare analogica care depind de nivelul deumiditate din mediul ambiat. Din valoarea citita de la senzor se poate deduce valoarea exacta a umiditatii(%), dar deducerea formulei matematice este destul de dificila, asa ca in cele ce urmeaza ne vommultumi sa obtinem un nivel calitativ al nivelului umiditatii (mai umed, mai putin umed). Mai exact vomobtine o valoare care variaza in functie de umiditate exact in acelasi mod tot timpul. Daca astazi valoareacitita pe senzor este 453, si ieri a fost tot 453, atunci vom putea spune astazi umiditatea din aer areacelasi nivel ca si ieri.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    14/18

    void setup() {Serial.begin(9600);

    }

    void loop() {

    int nivelUmiditate = analogRead(0);Serial.println(nivelUmiditate);delay(50);

    }

    Codul sursa de mai sus este aproape identic cu cel de la senzorul de lumina, asa ca nu voi insista asupralui.

    Ca sa testezi ca lucrurile functioneaza corect, sufla peste senzor, usor. Vei observa ca valoarea pe care ovezi in Serial Monitor se modifica, datorita faptului ca respiratia ta contine vapori de apa. Alta variantaeste sa desfaci o sticla de plastic care contine apa pe jumatata, si sa introduci senzorul in prima jumatatea sticlei (NU in apa, in zona in care sticla este goala).

    Termometru : Senzor Temperatura Brick + Led-uriCu trei led-uri brick de culori diferite, introduse in bile de ping-pong, impreuna cu un senzor detemperatura brick si un Arduino UNO poti crea un termometru deosebit si elegant.

    Ai nevoie de trei led-uri brick (ideal verde, galben si rosu), trei mingi de ping-pong, un senzor detemperatura brick si un Arduino UNO. La baza fiecarei mingi de ping-pong creezi o gaura folosind uncutter, astfel incat sa poti introduce led-ul brick in interiorul mingii. Mai departe, Arduino citestetemperatura din camera, si aprinde gradat led-urile din interiorul mingilor de ping-pong.

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    15/18

    #define NIVEL1 15#define NIVEL2 25#define NIVEL3 38void setup() {

    pinMode(3, OUTPUT);pinMode(5, OUTPUT);pinMode(6, OUTPUT);

    }void loop() {

    int temperatura = citesteTempInCelsius();int intensitateVerde = 255 10 * (NIVEL1 temperatura);int intensitateGalben = 255 10 * (NIVEL2 temperatura);int intensitateRosu = 255 10 * (NIVEL3 temperatura);if (temperatura < NIVEL1) {

    analogWrite(3, intensitateVerde);digitalWrite(5, LOW);digitalWrite(6, LOW);

    } else if (temperatura < NIVEL2) {analogWrite(3, intensitateVerde);

    analogWrite(5, intensitateGalben);digitalWrite(6, LOW);

    } else if (temperatura < NIVEL3) {analogWrite(3, intensitateVerde);analogWrite(5, intensitateGalben);analogWrite(6, intensitateRosu);

    }}

    float citesteTempInCelsius() {float temperaturaMediata = 0;float sumaTemperatura;for (int i =0; i

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    16/18

    Arduino Leonardo pe post de tastaturaExact, daca ai un Arduino Leonardo (cel din acest kit), poti sa-l faci sa se comporte ca o tastatura sau unmouse absolut obisnuite (din punct de vedere al calculatorului). Este o facilitate a noului microcontrollerAtmega32u4. Tot ce ai facut este ca in codul Arduino sa apelezi libraria Keyboard si calculatorul (la care

    ai conectat Arduino prin USB) se va comporta ca si cum ai fi apasat taste pe tastatura obisnuita.

    Inainte de a trece mai departe, este necesar sa iti atrag atentia asupra unui lucru care ar putea fineplacut. Imediat ce ai programat placa sa trimita taste apasate catre calculator, Arduino le va trimite tottimpul, pana cand ii spui sa se opreasca. Singurul mod in care ii poti spune sa se opreasca esteincarcand alt program. Dar daca ai pus placa sa trimita taste prea rapid, atunci nu vei putea face acestlucru, pentru ca se vor apasa taste chiar in mediul de dezvoltare, acolo unde vei vrea sa scrii codul. Casa nu se intample asta, ai grija ca sa existe un mecanism prin care sa opresti trimiterea de taste (cum ar fiun buton conectat la Arduino, sau un delay mare pus un setup). Cu un delay in setup, poti oricand sa daiun reset placii altfel incat sa o fortezi sa ruleze functia setup, si apoi cat timp placa sta in delay, tu ii veiputea modifica programul.

    void setup() {

    delay(15000);Keyboard.begin();

    }

    void loop() {Keyboard.print("Hello!");delay(10000);

    }

    In exemplul de mai sus, nu facem altceva decat sa initializam modul tastatura (Keyboard.begin()) si apoisa trimitem la fiecare 10 secunde sirul de caractere "Hello" (exact ca si cum am apasa pe tastaturaconsecutiv tastele H e l l o. Am pus un delay in setup de 15 secunde in ideea ca atunci cand vei vrea saschimbi programul placii, sa poti da un reset si astfel sa ai la dispozitie 15 secunde pentru a incarca noulprogram. Cu Arduino Leonardo poti apasa si tastele CTRL, ALT, sau SHIFT, ca mai jos.

    char ctrlKey = KEY_LEFT_CTRL;

    void setup() {Keyboard.begin();delay(15000);

    }

    void loop() {delay(1000);Keyboard.press(ctrlKey);Keyboard.press('n');delay(100);Keyboard.releaseAll();delay(30000);

    }

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    17/18

    Logare nivel de iluminare in Excel, cu Arduino Leonardo

    Folosindu-ne de capacitatea lui Arduino Leonardo de a emula o tastatura, devine foarte simplu sa logaminformatie pe calculator. Tot ce avem de facut este sa apasam din Arduino acele taste corespunzatoare

    valorilor citite (ca sa cand le-am introduce manual din tastatura).

    Acest proiect foloseste un senzor de lumina brick, impreuna cu un Arduino Leonardo pentru a introduceperiodic informatie intr-un document Excel.

    void setup(void) {

    Serial.begin(9600);

    delay(15000);

    Keyboard.begin();

    }

    void loop(void) {

    int nivelIluminare = analogRead(1);

    Keyboard.print(String(nivelIluminare));

    Keyboard.print(KEY_RIGHT_ARROW);

    Keyboard.print(String(nivelUmiditate));

    Keyboard.println();

    delay(2000);

    }

  • 8/13/2019 Un Kit Special Creat Pentru Cei Care Vor Sa Inceapa Programarea Pe Platforma Arduino

    18/18

    Shield LCD

    #include LiquidCrystal lcd(7, 6, 5, 4, 3, 2);void setup() {

    Serial.begin(9600);lcd.begin(16, 2);

    }

    void loop() {lcd.setCursor(0, 0);lcd.print("Hello World,");lcd.setCursor(0, 1);

    lcd.print("ROBOFUN is cool!");}

    UPDATE 23 ianuarie 2013: Incepand de astazi, Kit-ul Arduino pentru Incepatori contineShield LCD16 X 2in loc deLCD 16X2 I2C.

    Kit-urile livrate inainte de aceasta data continLCD 16X2 I2C .

    http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/lcd-16x2-i2c-negru-verde?keyword=i2c&category_id=0http://www.robofun.ro/bricks/shield-lcd-16x2http://www.robofun.ro/bricks/shield-lcd-16x2