Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:cstan:semnalizator_pentru_biciclisti [2022/05/08 17:10]
andrei.dumitrescu00 [Jurnal]
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 +  ​* 28 aprilie - Alegerea Proiectului si scrierea paginii wiki 
-* 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 =====
  
-* Laboratoarele de PM +  ​* Laboratoarele de PM 
-* https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/​ +  * https://​www.arduino.cc/​reference/​en/​libraries/​liquidcrystal-i2c/​ 
-* https://​www.arduino.cc/​reference/​en/​libraries/​ledcontrol/​+  * 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>​
  
pm/prj2022/cstan/semnalizator_pentru_biciclisti.1652019035.txt.gz · Last modified: 2022/05/08 17:10 by andrei.dumitrescu00
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0