Postări

Ultrasonic sensor

Imagine
Parallax PING range finder este un sensor ultrasonic capabil sa detecteze obiecte aflate pana la distanta de 3 metri. Sensorul are doi pini dedicati alimentarii (GND si VCC), iar al treilea pin este folosit si pentru input si output. Pin-ul dedicat citirii datelor trebuie sa faca un shifting de la modul output la modul input. Pentru inceput noi trebuie sa trimitem un puls, dupa care platforma Arduino comuta pin-ul pe modul input si asteapta sa receptioneze sunetul ecou folosind functia pulseIn(). Duratia pulsului este egala cu timpul efectuat de ultrasunet pentru a ajunge la obiect, si de la obiect inapoi la sensor. Folosind viteza sunetului, putem calcula din timp distanta. Lucruri necesare Platforma Arduino Sensor Ultrasonic Parallax Cablu de conexiuni/breadboard Creeare circuitului Conectati pinul 5V la pinul 5V de pe platforma Arduino. GND-ul la GND-ul de pe platforma Arduino. Iar pin-ul de semnal la pin-ul 7 PWM. Exemplu de cod const   int ...

Lectia #5: Ardumoto

Imagine
Ardumoto Driver Ce este Ardumoto? Ardumoto este o platforma compatibila cu platforma Arduino bazata pe driverul L298 H-bridge, folosit de obicei pentru controlul  motoarele de voltaj mic. Placa a fost creata special pentru a putea fi montata pe o platforma Arduino precum Arduino Duemilanove sau Arduino Uno. De ce Ardumoto? Pai fiindca daca am conectat un motor, oricat de putin ar consuma el, ar arde aproape instantaneu platforma Arduino. Pentru asta se intrebuinteaza Ardumoto. De ce altceva mai am nevoie? Pe langa Ardumoto va mai fi nevoie de o platforma Arduino (eg.Uno, Duemilanove), doua motorase , letcon, fludor, conectori si un patent pentru taierea conectorilor. Construirea propriu-zisa Acum, va trebuii sa conectati cu fludor si letconul conectorii de la motor la ceilalti 4 conectori de la Ardumoto. Ardumoto se alimenteaza de pe platforma Arduino, asa ca recomandat va fi sa alimentati Ardumoto cu o sursa de energie externa la conectorii VIN de pe Ardumoto. Odata...

Proiect ArduTurtle Tekduino v1.0

Imagine
In primul rand as vrea sa ii multumesc domnului Viorel Spinu pentru amabilitatea si generozitate pe care a dovedit-o, si de asemenea pentru letconul fara de care mai mult ca sigur nu as fi reusit sa duc la bun sfarsit proiectul. Pentru prima data, mi-am creat si eu propriul proiect. Un robot bazat pe platforma Arduino. Acest robot....nu l-am facut ca tema la scoala ci doar din pasiune:). Haideti sa incepem sa-l analizam in detaliu. Introducere Ce are la baza un robot autonom? Scopul sau...nimic mai mult. In cazul nostru, robotul ArduTurtle Tekduino are ca scop gasirea celei mai apropiate surse de lumina, iar in acelasi timp sa se fereasca de obstacole folosindu-se de antenele din fata acestuia. Atunci cand detecteaza o valoarea maxima a luminii se va opri. Acelasi lucru se va intampla si atunci cand va fi intuneric, acesta intrand intr-o stare de stand-by. De asemenea cand detecteaza intr-un final o sursa de lumina medie, ArduTurtle Tekduino va incepe sa se roteasca in ju...

Lectia #4: Switch-ul - Partea II

Acum sa trecem la ,,fapte"... Vom face un ,,numarator". Acesta va numara clickurile de la switch si in functie de cate face el va face ceva prestabilit. Componente necesare Platforma Arduino Cablu USB A-B Switch (de la conexelectronic.ro) Programul Arduino IDE Pasul urmator este sa conectati pinii periferici ai switch-ului la pinii de alimentare a platformei Arduino iar pinul ramas conectat la un pin-ul 13 spre exemplu. De preferat ar fi sa utilizati un breadboard de la robofun.ro Initializati conexiunea USB si porniti programul Arduino de pe calculator. Bucla for Bucla for este la fel ca atunci cand parintii nostrii ne pun sa facem un lucru. Daca acel lucru nu stim sa il facem, trebuie sa il rexersam pana vom invata sa facem spre exemplu problema la matematica. Abia atunci cand vom stii, parintii nostrii ne vor da drumul afara la joaca. Acelasi principiu se aplica si buclei for.  Buclele for se repeta pentru un numar specificat de utilizator. Model de a...

Lectia #4: Introducere Switch - Partea I

Pana acum, am facut baza programarilor pe platforma Arduino. In continuare noi vom face un sistem ce ,,memoreaza" valorile primite, care apoi la randul sau le trimite prin Serial spre calculator. Pentru inceput, ne vom intoarce la variabile. Ce sunt variabilele...? Ele sunt niste marimi...niste valori ce sunt stocate in memoria Random Access Memory, prescurtat si memoria RAM. Aceste valori sunt stocate in adresele memoriei RAM. Spre exemplu un byte reprezinta un bloc de 8biti in care pot fi stocate informatii. Dar ce facem in caz ca sunt variabile int care au 4 octeti? Nimic mai simplu: calculatorul aloca variabilei respective 4 adrese cu informatii adresate acelei variabile specificata. Dupa cum am mai spus probabil si in celalalte articole, variabilele sunt de mai multe feluri. Variabile globale si variabile statice. Variabilele globale sunt....globale. Ele au rezolutie pe intreaga ,,suprafata" a programului respectiv. Acesta este avantajul lor. Dar pe de alta parte ...

Lectia #3: Grafice

Imagine
De data aceasta vom invata sa folosim Serialul platformei Arduino trimitand informatii venite de pe senzori pe calculator si afisandu-le ca un grafic pe monitor. Serialul poate fi caracterizat ca fiind o conexiune prin care se fac transferuri de date codificate in cifrele 1 si 0. Lucruri necesare Platforma Arduino Cablu USB Programul Arduino pentru platforma Arduino Processing pentru procesarea si afisarea datelor de pe Arduino Potentiometru/Senzor lumina/sunet etc conectat la un pin analog in, in cazul nostru A0; Acum platforma Arduino trebuie programata in asa fel incat sa poata sa trimita prin Serial datele de la senzori. Daca a-ti invatat pana acum destul de bine C++, ar trebui sa stiti deja sa faceti acest lucru, dar ca eu oricum va voi prezenta un exemplu de-al meu. Programarea pentru platforma Arduino int pin = A0; val = 0; void setup() { Serial.begin(9600); pinMode(pin,INPUT): } void loop() { val = analogRead(pin); Serial.println(val...

Lectia #2: Analiza Codului - Part 2

Imagine
Operatorii relationali Programele de Arduino pot accepta operatorii relationali. In urmatorul tabel avem lista cu operatorii relationali pentru Arduino. Operatorul Semnficatie >   Mai mare <   Mai mic >= Mai mare sau egal <= Mai mic sau egal == Egal != Diferit  Lista prioritatilor operatorilor relationali. Prioritate Operatorul Maxima >; >=; <; <= Minima ==; != Instructiunea IF/ELSE exemplu: if (valoarea booleana) {                instructiune; }               else {                instructiune; } Ansamblul celor 4 linii se numeste instructiune if/else. Prima linie consta din cuvantul cheie if urmat de o expresie relationala, care se evavalueaza la o valoarea booleana, pre...