Differences

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

Link to this comparison view

pm:prj2021:avaduva:pov_alarma [2021/06/02 00:56]
bogdan.anghel2010 [Lista de Piese]
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 =====
  
 +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.
  
 +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]]
pm/prj2021/avaduva/pov_alarma.1622584580.txt.gz · Last modified: 2021/06/02 00:56 by bogdan.anghel2010
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