FAQ – Arduino pentru Programatori Conectare USB
Despre ce este vorba cu acest "Arduino pentru Programatori" ?
Arduino pentru Programatori se refera la o gama de produse bazate pe platforma Arduino si special gandite pentru acei utilizatori care se simt mult mai confortabil programand intr-un limbaj de nivel inalt pe PC (gen Java, C#, Phyton, Ruby, PHP) decat lipind fire sau masurand tensiuni pe placi cu circuite electronice. Exista produse tip "Ready-to-Run, Conectare USB" care constau intr-o placa Arduino UNO pe post de "creier" conectata cu senzori si preprogramata sa trimita un flux continuu de date pe portul serial, produse tip "Ready-to-Run, Conectare Internet" care in loc de cablul USB utilizeaza o conexiune Ethernet (prin LAN sau Internet) si "Componente", utilizate pentru a extinde produsele "Ready-to-Run".
Cum functioneaza un produs Ready-to-Run conectat prin USB ?
Un produs Ready-to-Run, conectare USB contine o placa Arduino UNO conectata cu senzori si preprogramata sa trimita un flux continuu de date pe portul serial. Totul este asamblat pe plexiglass negru cu suruburi metalice, iar componentele sunt conectate intre ele cu fire (fara lipituri, conectare tip pin mama-tata). Arduino se cupleaza la PC printr-un cablu USB tip imprimanta, si in mod continuu citeste senzorii si trimite datele citite pe un port serial.
Ca sa simplificam lucrurile, sa luam drept exemplu un Senzor de Presiune Atmosferica, Temperatura si Umiditate cu conectare seriala.
Produsul este complet asamblat si preprogramat sa citeasca cei doi senzori si sa trimita in mod continuu valorile citite peste un port serial. Valorile citite sunt separate prin virgula si punct si virgula, dupa cum urmeaza : "[…] 158,99914,59;158,99922,59;158,99914,59;158,99917,59;158,99917,59[…] ". Acest sir de valori este trimis in mod continuu. Separatorul punct si virgula desparte grupurile de valori consecutive, iar separatorul virgula separa valoarea temperaturii de cea a presiunii atmosferice si cea a umiditatii. Astfel interpretarea exemplului de mai sus este ca temperatura este in jur de 15.8 C, presiunea atmosferica este de 99917 Pascali, iar umiditatea relativa este de 59 %. Tot ce ai tu de facut este sa citesti si sa parsezi acest sir de date primit pe portul serial pe PC.
Ce sisteme de operare sunt suportate ?
Windows, MAC OS X, Linux 32 si 64 de biti, deci cam toate 🙂
Cum instalez drivere-le pentru Arduino UNO ?
Daca ai MAC sau Linux, ai scapat, n-ai nimic de instalat. Pur si simplu cuplezi Arduino prin cablu USB la PC si vei vedea un port serial nou aparut (ca exemplu, pe Ubuntu portul serial "/dev/ttyACM0" sau "/dev/ttyACM0").
Daca ai Windows, driver-ul este un singur fisier .inf. Download mediul de dezvoltare pentru Arduino (pentru Window) si apoi urmeaza instructiunile prezentate aici.
Ar trebui ca in final sa ai pe sistem un nou port serial. Daca rulezi Windows, vei vedea in Device Manager sub "Ports & LPT" un port denumit "Arduino UNO" iar daca rulezi Linux vei vedea un port de genul "/dev/ttyACM0", ca in poza de mai jos.
Cum testez ca totul este OK cu dispozitivul meu Ready-to-Run si ca driverele s-au instalat corect ?
Cel mai simplu poti face asta folosind PuTTY. Este un terminal gratuit, disponibil pentru toate sistemele de operare. Download versiunea pentru sistemul tau de operare, la "Connection type" alege "Serial", iar la "Serial line" introdu portul Arduino pe care l-ai gasit la pasul precedent. Seteaza "Speed" la "9600", ca mai jos. Dupa ce apesi "Open" vei vedea fluxul de date transmis de placa ta in mod continuu.
Cum citesc si interpretez datele in limbajul meu favorit de programare pe PC ?
Tot ce ai de facut este sa citesti datele trimise pe portul serial asociat placii Arduino si sa le interpretezi conform semnificatiei lor. Mai jos sunt tutoriale pentru cateva limbaje de programare. Fiecare dintre link-urile de mai jos trateaza atat partea de programare pe Arduino, cat si partea de programare in limbajul de programare pe PC. In acest moment pe tine te intereseaza doar partea de programare in limbajul de nivel inalt pe PC, pentru ca partea de Arduino deja am facut-o noi.
Am enumerat doar o parte dintre limbajele de programare, cele mai des intalnite. Lista completa o gasesti aici – ArduinoInterfacingWithSoftware .
Sa aleg din categoria "Ready-to-Run" sau din categoria "Componente" ?
Asa cum am mai spus si mai sus, un produs "Ready-to-Run se compune dintr-un Arduino UNO si o serie de senzori, totul asamblat pe o placa de plexiglass negru cu suruburi metalice si conectat cu fire cu mufa tata-mama. Astfel, sistemul este perfect extensibil si permite orice fel de combinatie de senzori. Primul lucru pe care ar trebui sa il faci ca sa te hotarasti ce cumperi este sa arunci un ochi peste Ready-to-Run . Daca gasesti o placa care sa faca ceea ce vrei tu, atunci cel mai simplu este o iei pe aceea. Daca ai nevoie de o combinatie de senzori mai speciala, sau vrei sa adaugi un senzor in plus la o placa deja existenta in categoria Ready-to-Run, atunci solutia este sa alegi placa Arduino fara senzori, si apoi sa adaugi exact senzorii de care ai nevoie. Ai grija ca la fiecare senzor sa selectezi optiunea "Montat pe placa". Noi vom preasambla toti senzorii alesi de tine pe placa de plexiglass, vom conecta toti senzorii la Arduino, si vom crea un program care ruleaza pe Arduino si citesti senzorii special pentru tine. Tu vei primi prin curier placa complet asamblata si preprogramata, si prin email codul sursa al programului Arduino (in caz ca te hotarasti sa il modifici).
Cum modific programul care ruleaza pe placa Arduino ?
La un moment dat vei simti nevoie sa modifici programul pe care noi l-am preprogramat pe placa Arduino (de exemplu poate vei dori sa modifici un element de temporizare – gen ca placa sa trimita doar 10 date pe secunda si atat). Nu este deloc complicat sa faci asta. Trebuie sa iti instalezi mediul de dezvoltare pentru Arduino , apoi sa descarci firmware-ul placii (il gasesti in sectiunea "firmware" la fiecare placa), sa modifici programul firmware si apoi sa il uploadezi pe placa Arduino. Aici gasesti tutoriale detaliate despre cum sa faci asta – pentru Windows, pentru Linux si pentru MAC, iar aici gasesti o descriere detaliata a structurii unui program Arduino.
Daca ai modificat codul sursa de pe Arduino si acum lucrurile nu mai merg cum trebuie, aminteste-ti ca vei gasi firmware-ul original pe pagina produsului.
N-am inteles nimic, explicatiile de mai sus sunt pur bullshit ! Ce pot sa fac mai departe ?
Da-ne un email la contact [at] robofun [dot] ro, sau cand ai timp treci pur si simplu pe la noi 🙂