This shows you the differences between two versions of the page.
|
pm:prj2022:cstan:semnalizator_pentru_biciclisti [2022/05/08 17:16] andrei.dumitrescu00 [Bibliografie/Resurse] |
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 32: | Line 39: | ||
| ==== Tool-uri folosite ==== | ==== Tool-uri folosite ==== | ||
| - | * Eagle pentru realizarea schemei electrice | + | * Eagle pentru realizarea schemei electrice |
| - | * Arduino IDE | + | * Arduino IDE |
| - | * TinkerCAD pentru testarea anumitor functionalitati inainte de a veni piesele | + | * 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 ===== | ||
| Line 44: | Line 90: | ||
| ===== Download ===== | ===== Download ===== | ||
| + | {{:pm:prj2022:cstan:dumitrescuandrei333cc.zip}} | ||
| ===== Jurnal ===== | ===== Jurnal ===== | ||
| Line 50: | Line 96: | ||
| * 3 mai - Finalizarea proiectului | * 3 mai - Finalizarea proiectului | ||
| * 8 mai - Finalizarea paginii Wiki | * 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 ===== | ||