Arduino R4 si senzorul RPI-1031: aprinde LED-uri in functie de inclinare

Arduino R4 si senzorul RPI-1031: aprinde LED-uri in functie de inclinare

Salutare, sunt Oana de la Bitmi.ro si astazi iti arat cum poti construi un sistem interactiv de semnalizare cu LED-uri, folosind un senzor de unghi RPI-1031 si o placa Arduino. Este un proiect simplu, dar foarte util pentru a invata cum sa interpretezi iesirile digitale ale unui senzor si sa controlezi mai multe iesiri in functie de pozitia detectata. In esenta, vei aprinde un LED in functie de directia in care este inclinat senzorul – sus, jos, stanga sau dreapta.


Ce este senzorul de unghi RPI-1031 si cum functioneaza

Senzorul de unghi RPI-1031 este un modul digital simplu dar ingenios, proiectat pentru a detecta inclinarea in patru directii: sus, jos, stanga si dreapta. Este adesea numit si „senzor tilt 4 directii” sau „4DOF angle sensor”, unde DOF vine de la "Degrees of Freedom" (grade de libertate). Nu trebuie confundat cu accelerometrele – RPI-1031 nu masoara unghiul exact, ci ofera o iesire digitala pentru o anumita pozitie fixa.


In interior, RPI-1031 contine doua comutatoare mecanice tip mercur sau biluta metalica (tilt switches), montate pe axe perpendiculare. Aceste comutatoare se inchid sau se deschid in functie de directia gravitatiei. Astfel, senzorul poate genera patru combinatii logice:

  • S1 = 0, S2 = 0 → pozitia 0 (sus)

  • S1 = 0, S2 = 1 → pozitia 1 (stanga)

  • S1 = 1, S2 = 0 → pozitia 2 (dreapta)

  • S1 = 1, S2 = 1 → pozitia 3 (jos)

Fiecare comutator actioneaza ca un buton normal deschis (NO), care devine LOW (0) atunci cand se inchide circuitul, semnalizand pozitia corespunzatoare. Practic, la fiecare inclinare, biluta (sau globul metalic din interior) activeaza o pereche de contacte, iar tu poti interpreta semnalul in codul Arduino pentru a reactiona corespunzator.

Fie ca vrei sa construiesti un robotel care reactioneaza la inclinare, fie ca iti testezi ideile intr-un prototip, RPI-1031 iti ofera un mod simplu si eficient de a interactiona cu miscarea, fara sa intri in complexitatea calcului vectorial sau a filtrelor software. Nu necesita configurari avansate si te ajuta sa ramai concentrat pe partea creativa a proiectului.


Componente necesare

1 x Placa de dezvoltare compatibila Arduino R4 WiFi 
1 x Modul senzor de unghi RPI-1031, 4DOF
1 x Breadboard 400 puncte
4 LED-uri 
4 rezistori de 330 Ohm
1 x Cablu de date USB 2.0 la tip C 30 cm
9 fire tata - tata 
4 fire tata - mama

Schema de conectare




Cod sursa
 

Dupa ce ai realizat circuitul, e timpul sa introduci codul sursa, pentru a descarca codul sursa clic AICI. 

Conecteaza placa de dezvoltare compatibila Arduino Uno R4 la computer folosind portul USB. Apoi, mergi la meniul Tools si selecteaza tipul de placa si portul serial pe care il folosesti (optiunile Board si Port). 

Pentru a incarca codul pe placa, apasa butonul Upload (simbolul cu sageata spre dreapta). In partea de jos a ferestrei, vei putea urmari mesajele de stare: Compiling Sketch, Uploading si Done. Odata ce incarcarea s-a finalizat cu succes, placa Arduino va incepe sa ruleze codul pe care l-ai incarcat.


Cum functioneaza proiectul?
 

Proiectul se bazeaza pe senzorul RPI-1031, un modul simplu dar ingenios care detecteaza inclinarea pe patru axe (sus, jos, stanga, dreapta). Acesta foloseste doua iesiri digitale (tilt_s1 si tilt_s2) pentru a codifica pozitia curenta a modulului. Combinatia celor doua semnale genereaza patru stari logice distincte, fiecare corespondenta unei orientari fizice.

Mai exact, senzorul contine un sistem mecanic cu bile interne care inchid sau deschid contacte electrice in functie de orientare. Aceasta abordare permite o detectie simpla, fara microcontrolere sau semnale analogice.

In codul Arduino, functia getTiltPos() citeste valorile celor doi pini digitali (digitalRead), apoi le combina folosind o operatie logica ((s1 << 1) | s2) pentru a obtine un numar intre 0 si 3. Acest numar este folosit in loop() pentru a decide care LED sa se aprinda.

De exemplu:

  • Cand senzorul este orientat in sus, pozitia citita este 0 → se aprinde doar LED-ul de sus.

  • Cand este inclinat spre dreapta, pozitia devine 2 → se aprinde LED-ul din dreapta.

  • Pentru pozitia stanga, valoarea este 1 → se aprinde LED-ul din stanga.

  • Iar cand este orientat in jos, pozitia citita este 3 → se aprinde LED-ul de jos.

Restul LED-urilor sunt stinse in orice moment, pentru a pastra o indicatie clara si precisa a directiei.

Aceasta logica simpla face proiectul ideal pentru incepatori, deoarece nu implica calcule complexe sau programare avansata. Totul se bazeaza pe logica binara si pe controlul unor iesiri digitale, ceea ce este perfect pentru a invata conceptele de baza in electronica si programare Arduino.

Compara produse

Trebuie sa mai adaugi cel putin un produs pentru a compara produse.

A fost adaugat la favorite!

A fost sters din favorite!