This shows you the differences between two versions of the page.
pm:prj2021:avaduva:pov_alarma [2021/06/02 01:04] bogdan.anghel2010 [Rezultate Obtinute] |
pm:prj2021:avaduva:pov_alarma [2021/06/02 10:45] (current) bogdan.anghel2010 [Schema Bloc] |
||
---|---|---|---|
Line 12: | Line 12: | ||
==== Schema Bloc ==== | ==== Schema Bloc ==== | ||
{{:pm:prj2021:avaduva:pov_buzzer1.png?480|}} | {{:pm:prj2021:avaduva:pov_buzzer1.png?480|}} | ||
+ | |||
+ | ==== Schema Electrica ==== | ||
+ | {{:pm:prj2021:avaduva:circuit_electric.png?800|}} | ||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
Line 26: | Line 29: | ||
* Buzzer | * Buzzer | ||
* Senzor IR | * Senzor IR | ||
+ | |||
+ | ==== Asamblare ==== | ||
+ | |||
+ | - am pus 8 leduri pe pcb, am legat catodul in comun si l-am conectat la GND, iar la anod cate o rezistenta; | ||
+ | - am lipit pinii de placuta utilizand un pistol de lipit; | ||
+ | - am lipit jumper cables M/M de rezistente si conectat la placuta Arduino la pinii 2-9; | ||
+ | - am conectat senzorul IR la placuta la pinii 10-11; | ||
+ | - am conectat buzzerul la placuta la pinul 13; | ||
+ | - am conectat o baterie 9V la o mufa de alimentare pentru a o putea conecta la placuta Arduino; | ||
+ | - am montat pe o placa de gips-carton subtire (spoiler: o sa fie prea grea) componentele mentionate anterior si le-am lipit cu silicon; | ||
+ | - am atasat suportul pe un ventilator pentru a invarti placa. | ||
+ | |||
+ | |||
===== Software Design ===== | ===== Software Design ===== | ||
+ | Codul a fost scris in Arduino IDE. M-am inspirat din versiuni gasite pe internet, modificand pentru a se potrivi porturile, senzorul, sincronizarea, caracterele. | ||
+ | Am mapat caracterele, fiecare avand o secventa de 5 faze: | ||
+ | int NUMBER9[]={1,1,1,1,0,0,0,1, 1,0,0,1,0,0,0,1, 1,0,0,1,0,0,0,1, 1,0,0,1,0,0,0,1, 1,1,1,1,1,1,1,1}; | ||
+ | int NUMBER8[]={0,1,1,0,1,1,1,0, 1,0,0,1,0,0,0,1, 1,0,0,1,0,0,0,1, 1,0,0,1,0,0,0,1, 0,1,1,0,1,1,1,0}; | ||
+ | int NUMBER7[]={1,0,0,0,0,0,0,0, 1,0,0,0,1,0,0,0, 1,0,0,0,1,0,0,0, 1,0,0,1,1,1,1,1, 1,1,1,0,1,0,0,0}; | ||
+ | int NUMBER6[]={1,1,1,1,1,1,1,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,1,1,1}; | ||
+ | int NUMBER5[]={1,1,1,1,1,0,0,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,0,0,1, 1,0,0,0,1,1,1,1}; | ||
+ | . . . | ||
+ | . . . | ||
+ | | ||
+ | Functia printLetter afiseaza litera curenta cu ajutorul ledurilor | ||
+ | <code> | ||
+ | void setup() | ||
+ | { | ||
+ | Serial.begin(9600); | ||
+ | pinMode(IR_pin,INPUT); | ||
+ | for( int i = 2; i<10 ;i++ ) | ||
+ | { | ||
+ | pinMode(i, OUTPUT); | ||
+ | } | ||
+ | | ||
+ | letterSpace =4; | ||
+ | delayTime =1; | ||
+ | } | ||
+ | |||
+ | |||
+ | void printLetter(int letter[]) | ||
+ | { | ||
+ | int y; | ||
+ | for (y=0; y<8; y++) | ||
+ | { | ||
+ | digitalWrite(y+2, letter[y]); | ||
+ | } | ||
+ | delay(delayTime); | ||
+ | for (y=0; y<8; y++) | ||
+ | { | ||
+ | digitalWrite(y+2, letter[y+8]); | ||
+ | } | ||
+ | delay(delayTime); | ||
+ | for (y=0; y<8; y++) | ||
+ | { | ||
+ | digitalWrite(y+2, letter[y+16]); | ||
+ | } | ||
+ | delay(delayTime); | ||
+ | for(y = 0; y<8; y++) { | ||
+ | digitalWrite(y+2, letter[y+24]); | ||
+ | } | ||
+ | delay(delayTime); | ||
+ | for(y = 0; y<8; y++) { | ||
+ | digitalWrite(y+2, letter[y+32]); | ||
+ | } | ||
+ | delay(delayTime); | ||
+ | for (y=0; y<8; y++) | ||
+ | { | ||
+ | digitalWrite(y+2, 0); | ||
+ | } | ||
+ | delay(letterSpace); | ||
+ | |||
+ | pinMode(13, OUTPUT); | ||
+ | |||
+ | |||
+ | |||
+ | void loop() | ||
+ | { | ||
+ | if(digitalRead(IR_pin)==LOW) | ||
+ | { | ||
+ | printLetter (P); | ||
+ | printLetter (O); | ||
+ | printLetter (V); | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | </code> | ||
+ | |||
+ | {{:pm:prj2021:avaduva:pov.txt| Codul ca txt}} | ||
===== Rezultate Obtinute ===== | ===== Rezultate Obtinute ===== | ||
Line 32: | Line 124: | ||
Acesta este aspectul final al proiectului. Din pacate nu functioneaza efectiv, intrucat motorul este prea slab pentru a putea invarti suportul suficient de repede. Voi incerca sa inlocuiesc fie suportul fie motorul pentru a-l face functional. | Acesta este aspectul final al proiectului. Din pacate nu functioneaza efectiv, intrucat motorul este prea slab pentru a putea invarti suportul suficient de repede. Voi incerca sa inlocuiesc fie suportul fie motorul pentru a-l face functional. | ||
- | {{:pm:prj2021:avaduva:proiect.jpg?300|}} | + | Datorita lipsei unui modul RTC, nu am putut realiza functionalitatea initial dorita, aceea de a avea un ceas POV cu alarma. Buzzerul functioneaza la trigger (hardcoded), dar neavand un timp setat pentru a reprezenta o alarma acesta nu se activeaza automat. |
+ | {{:pm:prj2021:avaduva:proiect.jpg?300|}} | ||
+ | {{:pm:prj2021:avaduva:proiect_2.jpg?300|}} | ||
+ | [[https://youtu.be/DegaQ5oD7pM| Demo proiect]] | ||
===== Concluzii===== | ===== Concluzii===== | ||
- | ===== Download ===== | + | |
+ | A fost un proiect interesant si regret ca nu i-am acordat mai multa atentie si timp. Dificultatea nu a fost una mare, dar lipsa componentelor adecvate (motor mai puternic / placuta mai usoare si modulul RTC) m-au impiedicat din ducerea proiectului la sfarsit. Voi incerca sa finaliza proiectul dupa terminarea examenelor pentru a avea satisfactia de proiect terminat. | ||
===== Jurnal ===== | ===== Jurnal ===== | ||
- | ===== Bibliografie/Resurse ===== | ||
- | https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/pov_alarma?do=export_pdf | ||
+ | 25.04 Alegere tema proiect \\ | ||
+ | 11.05 Comanda piese \\ | ||
+ | 31.05 Lucrarea la partea hardware \\ | ||
+ | 01.06 Finalizarea hardware si software \\ | ||
+ | ===== Bibliografie/Resurse ===== | ||
+ | [[https://www.youtube.com/watch?v=FoLSfqmOiYo| Video asamblare]] | ||
+ | \\ | ||
+ | [[https://www.instructables.com/Persistence-of-Vision-PoV-Display-Using-Arduino/|Exemplu montaj si lista componente]] | ||
+ | \\ | ||
+ | [[https://ocw.cs.pub.ro/courses/pm/prj2021/avaduva/pov_alarma?do=export_pdf|PDF]] |