Differences

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

Link to this comparison view

pm:prj2021:avaduva:bike_pov_animation [2021/06/03 01:31]
maria.vidrasc [Concluzii]
pm:prj2021:avaduva:bike_pov_animation [2021/06/10 11:15] (current)
maria.vidrasc
Line 7: Line 7:
 ======Introducere====== ======Introducere======
 Proiectul isi propune sa foloseasca fenomenul de Persistence Of Vision pentru a afisa texte pe o roata de bicicleta. Textul poate fi selectat in cod si printat in viteza. Proiectul isi propune sa foloseasca fenomenul de Persistence Of Vision pentru a afisa texte pe o roata de bicicleta. Textul poate fi selectat in cod si printat in viteza.
- 
  
 ======Hardware Design====== ======Hardware Design======
Line 22: Line 21:
 Pentru aceasta etapa m-am gandit de la inceput ca vreau sa fac un strip de LED-uri care sa incapa pe toata spita rotii. Am gasirt pe net stripuri cu cate 8 leduri programabile. Am conectat direct stripurile in serie. Partea buna a acestui lucru este ca ledurile au venit "la pachet" ​ Pentru aceasta etapa m-am gandit de la inceput ca vreau sa fac un strip de LED-uri care sa incapa pe toata spita rotii. Am gasirt pe net stripuri cu cate 8 leduri programabile. Am conectat direct stripurile in serie. Partea buna a acestui lucru este ca ledurile au venit "la pachet" ​
 cu o bibleoteca de functii pentru usurarea controlului ledurilor. Partea proasta a ledurilor este ca 3 stripuri conectate in serie au nevoie de 1.5 A intensitate. Acest lucru nu poate fi oferit din arduino, deci a trebuit sa adaug o baterie separata pentru alimentarea stripurilor. cu o bibleoteca de functii pentru usurarea controlului ledurilor. Partea proasta a ledurilor este ca 3 stripuri conectate in serie au nevoie de 1.5 A intensitate. Acest lucru nu poate fi oferit din arduino, deci a trebuit sa adaug o baterie separata pentru alimentarea stripurilor.
 +
 +{{:​pm:​prj2021:​avaduva:​Strip-fata.jpeg?​550|}}
 +{{:​pm:​prj2021:​avaduva:​Strip-spate.jpeg?​550|}}
  
 ==Senzorul Magnetic== ==Senzorul Magnetic==
-Senzorul magnetic a venit cu o problema hardware de ontare ​pe roata. Pentru asta am lipit (sudat) senzorul de rezistenta de 1k si de fire de conetare ​la arduino.+Senzorul magnetic a venit cu o problema hardware de montare ​pe roata. Pentru asta am lipit (sudat) senzorul de rezistenta de 1k si de fire de conectare ​la arduino.
  
 +{{:​pm:​prj2021:​avaduva:​Hall1902.jpeg?​550|}}
  
 ==Sistemul final== ==Sistemul final==
 Am conectat senzorul si stripurile si m-am asigurat ca acestea functioneaza la apropierea unui magnet de senzor. Partea aceasta nu a fost complicata, dar a contat la capitolul Software. Am conectat senzorul si stripurile si m-am asigurat ca acestea functioneaza la apropierea unui magnet de senzor. Partea aceasta nu a fost complicata, dar a contat la capitolul Software.
  
 +{{:​pm:​prj2021:​avaduva:​Schema1902.png?​550|}}
  
 ==Punerea pieselor pe roata== ==Punerea pieselor pe roata==
Line 36: Line 40:
      * Rezistenta componentelor. Acest pas a fost destul de complicat, deoarece a trebuit sa ma asigur ca piesele si firele vor sta intacte la momentul rotirii rotii la viteza mare. Am legat cu banda izolatoare toate componentele,​ am verificat la viteze mari si din fericire totul a fost bine.      * Rezistenta componentelor. Acest pas a fost destul de complicat, deoarece a trebuit sa ma asigur ca piesele si firele vor sta intacte la momentul rotirii rotii la viteza mare. Am legat cu banda izolatoare toate componentele,​ am verificat la viteze mari si din fericire totul a fost bine.
      * Lipirea magnetului astfel incat senzorul sa il intercepteze la fiecare rotatie - Am lipit magnetul pe cadrul bicicletei.      * Lipirea magnetului astfel incat senzorul sa il intercepteze la fiecare rotatie - Am lipit magnetul pe cadrul bicicletei.
 +
 +{{:​pm:​prj2021:​avaduva:​Aranjament final1902.jpeg?​550|}}
 +
 ======Software Design====== ======Software Design======
-In cod am implementat urmatoarele functii:+Folosind Arduino IDE am realizat un cod in care am implementat urmatoarele functii:
    * setup() - setam pinul de citire pt senzor si intreruperea acestuia si facem test de aprindere al ledurilor.    * setup() - setam pinul de citire pt senzor si intreruperea acestuia si facem test de aprindere al ledurilor.
    * loop() - folosesc micros() intoarce timpul de cat a pornit placuta, apoi la o anumita pozitie pe roata se incepe printarea cuvintelor si pentru restul partii de roata in care nu am de printat nimic.    * loop() - folosesc micros() intoarce timpul de cat a pornit placuta, apoi la o anumita pozitie pe roata se incepe printarea cuvintelor si pentru restul partii de roata in care nu am de printat nimic.
Line 43: Line 50:
    * displayChar(char cr, float line_delay) - pentru fiecare litera printam 6 linii de leduri, in functie de vectorul de cod pentru fiecare litera.    * displayChar(char cr, float line_delay) - pentru fiecare litera printam 6 linii de leduri, in functie de vectorul de cod pentru fiecare litera.
    * draw_a_line(int this_line) - printam linia in functie de linia din litera si de litera.    * draw_a_line(int this_line) - printam linia in functie de linia din litera si de litera.
 +{{:​pm:​prj2021:​avaduva:​whatsapp_image_2021-06-03_at_12.14.28_4_.jpeg?​550|}}
    * sensorISR() - aceasta functie trateaza trigger-ul senzorului si calculam dimensiunea gradelor de delay intre luminarea ledurilor pt a forma cuvinte.    * sensorISR() - aceasta functie trateaza trigger-ul senzorului si calculam dimensiunea gradelor de delay intre luminarea ledurilor pt a forma cuvinte.
  
  
 ======Rezultate Obtinute====== ======Rezultate Obtinute======
 +{{:​pm:​prj2021:​avaduva:​print31902.jpeg?​550|}}
 +{{:​pm:​prj2021:​avaduva:​print11902.jpeg?​550|}}
 +{{:​pm:​prj2021:​avaduva:​print21902.jpeg?​550|}}
  
 +Prezentare finala: https://​www.youtube.com/​watch?​v=WSo_QLChyOE&​ab_channel=MariaVidrasc
  
 ======Concluzii====== ======Concluzii======
Line 54: Line 66:
 ======Download====== ======Download======
 Am atasat mai jos codul sursa al acestui proiect. Proiectul este reglabil in functie de numarul de leduri pe strip. Am atasat mai jos codul sursa al acestui proiect. Proiectul este reglabil in functie de numarul de leduri pe strip.
 +
 +{{:​pm:​prj2021:​avaduva:​mv.zip| Bike PoV Animation code}}
  
 ======Bibliografie/​Resurse====== ======Bibliografie/​Resurse======
-[[ https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​bikepovanimation?​do=export_pdf| Export PDF ]]+    * [[ https://​ocw.cs.pub.ro/​courses/​pm/​prj2021/​avaduva/​bikepovanimation?​do=export_pdf| Export PDF ]] 
 +    * Libraria Adafruit NeoPixel - https://​github.com/​adafruit/​Adafruit_NeoPixel 
 +    * PoV inspiration project - http://​electronoobs.com/​eng_arduino_tut21.php
pm/prj2021/avaduva/bike_pov_animation.1622673072.txt.gz · Last modified: 2021/06/03 01:31 by maria.vidrasc
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