This shows you the differences between two versions of the page.
pm:prj2022:cstan:semnalizator_pentru_biciclisti [2022/05/08 17:03] andrei.dumitrescu00 [Rezultate Obţinute] |
pm:prj2022:cstan:semnalizator_pentru_biciclisti [2022/05/27 20:12] (current) andrei.dumitrescu00 [Jurnal] |
||
---|---|---|---|
Line 24: | Line 24: | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
+ | Piese folosite: | ||
+ | * placuta arduino | ||
+ | * 3 butoane pentru semnalizarea directiei | ||
+ | * matrice 8x8 de leduri | ||
+ | * cabluri de legatura | ||
+ | * potentiometru pentru schimbarea vitezei animatiei | ||
+ | * cablu de alimentare | ||
+ | * lcd pentru a arata biciclistului direcita | ||
==== Schema in Eagle ==== | ==== Schema in Eagle ==== | ||
Line 31: | Line 38: | ||
===== Software Design ===== | ===== Software Design ===== | ||
+ | ==== Tool-uri folosite ==== | ||
+ | * Eagle pentru realizarea schemei electrice | ||
+ | * Arduino IDE | ||
+ | * TinkerCAD pentru testarea anumitor functionalitati inainte de a veni piesele | ||
+ | ==== Biblioteci folosite ==== | ||
+ | |||
+ | * LedControl.h | ||
+ | * LiquidCrystal_I2C.h | ||
+ | |||
+ | ==== Cod ==== | ||
+ | |||
+ | **Setup + initializari de variabile** | ||
+ | * am facut cateva initializari, cum ar fi setarea pinilor pentru butoane, LCD, matrice leduri, potentiometru. | ||
+ | * initializarea mesajelor care urmau sa fie afisate pe LCD. | ||
+ | * initializarea matricelor afisate pe matricea de leduri ( variabila arrows ). | ||
+ | * initializarea LCD-ului si a LedControl-ului. | ||
+ | * in setup am facut setez pinii si valorile initiale ale lcd-ului si a ledControl-ului. | ||
+ | * setez variabilele pentru timer si prescaler. | ||
+ | |||
+ | **Functia printByte** | ||
+ | * Pentru un array de bytes, setez fiecare linie din matricea de leduri cu valoarea d ela pozitia respectiva. Ex.: linie 0 are valoarea object[0], unde object este parametrul de tip byte[]. | ||
+ | |||
+ | **Functia printMessage** | ||
+ | * primeste ca parametru un mesaj. | ||
+ | * afiseaza mesajul pe lcd dupa ce se seteaza cursorul la 0, 0. | ||
+ | |||
+ | **Timerul** | ||
+ | * aici se afla logica jocului. | ||
+ | * in variabila offset retin starea la care se afla sageata acum, pentru a putea genera animatia. | ||
+ | * aceasta poate lua valori doar de la 0 la 7 ( inclusiv ), deoarece sunt 8 randuri de leduri. | ||
+ | * afisez matricea cu functia printByte cu parametrul arrows[directionToMove][offset]. offset pentru starea curenta si directionToMove pentru directia de miscare a biciclistului. | ||
+ | * iau valoarea potentiometrului pentru a regla viteza animatiei matricei. | ||
+ | * am considerat valorile sa fie intre 5 si 1000. | ||
+ | * pentru modificarea vitezei, schimb valoarea lui OCR1A. | ||
+ | * acesta va lua valori intre 3000 si 10000 - 11000. | ||
+ | |||
+ | **Functia readButtonInput()** | ||
+ | * citeste valorile celor 3 butoane. | ||
+ | * se face o verificare pentru a afla directia in care se va misca biciclistul. | ||
+ | |||
+ | **Functia loop()** | ||
+ | * se citeste valoarea butoanelor. | ||
+ | * daca s-a schimbat optiunea de ultima data, atunci fac update la mesajul care se afiseaza pe lcd. | ||
===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
+ | Demo:[[https://www.youtube.com/watch?v=kY2xTkwKDkY]] | ||
{{:pm:prj2022:cstan:proiect.jpeg?600|}} | {{:pm:prj2022:cstan:proiect.jpeg?600|}} | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | A fost un proiect interesant. Cu ajutorul laboratoarelor am reusit sa ma misc foarte repede, fara a fi nevoie de multe tutoriale pe youtube. Proiectul nu este greu de implementat, insa am incercat sa cuprind cat mai multe dintre laboratoare. | ||
===== Download ===== | ===== Download ===== | ||
+ | {{:pm:prj2022:cstan:dumitrescuandrei333cc.zip}} | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
+ | * 28 aprilie - Alegerea Proiectului si scrierea paginii wiki | ||
+ | * 3 mai - Finalizarea proiectului | ||
+ | * 8 mai - Finalizarea paginii Wiki | ||
+ | * 10 mai - Scriere Readme | ||
+ | * 19 mai - Prezentare si rectificare erori | ||
+ | * 26 mai - Ultima prezentare | ||
+ | * 27 mai - Finalizare | ||
===== Bibliografie/Resurse ===== | ===== Bibliografie/Resurse ===== | ||
- | <note> | + | * Laboratoarele de PM |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | * https://www.arduino.cc/reference/en/libraries/liquidcrystal-i2c/ |
- | </note> | + | * https://www.arduino.cc/reference/en/libraries/ledcontrol/ |
<html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||