This shows you the differences between two versions of the page.
pm:prj2021:avaduva:smartpiggybank [2021/06/02 10:46] diana.rotila |
pm:prj2021:avaduva:smartpiggybank [2021/06/02 11:39] (current) diana.rotila |
||
---|---|---|---|
Line 40: | Line 40: | ||
====Software Design==== | ====Software Design==== | ||
+ | Atunci cand vorbim de software, e un fisier in care am incorporat biblioteca pentru LCD-ul 16×2 si logica principala a proiectului. | ||
+ | Logica: Senzorii sunt pusi de-a lungul pistei pe care aluneca monedele. Cand primul senzor detecteaza o moneda, totalul va creste cu 5 bani. Cand al doilea senzor detecteza o moneda, totalul va creste cu inca 5 de bani (5 bani de la primul + 5 de la al doilea ⇒ 10 de bani). Acest lucru se datoreaza faptului ca moneda de 10 va pica prin gaura dintre cei doi senzori, iar mai apoi ultimul senzor detecteaza moneda de 50 de bani, adaugand 40 la suma totala, deoarece ultimul senzor detecteaza doar tipul de moneda de 50 de bani la care se adauga si valorile celorlalti doi senzori. | ||
- | #include <Wire.h> | + | link catre cod: |
- | #include <LiquidCrystal_I2C.h> | + | https://docs.google.com/document/d/1xqiDiV3s8ah9lg0qxjrWQUzaNMXpi9cL_LOlax4kkgw/edit?usp=sharing |
- | LiquidCrystal_I2C lcd(0x27,16,2); | + | |
- | int f1=0,f2=0,f3=0; | + | |
- | int counter1=0,counter2=0,counter3=0; | + | |
- | int c1=0,c2 =0,c3=0; | + | |
- | int total = 0; | + | |
- | void setup() | + | |
- | { | + | |
- | lcd.begin();//Defining 16 columns and 2 rows of lcd display | + | |
- | lcd.backlight(); | + | |
- | lcd.setCursor(0,0); | + | |
- | lcd.print(" Piggy BanK "); | + | |
- | lcd.setCursor(0,1); | + | |
- | lcd.print(" COIN SORTING "); | + | |
- | delay(2000); | + | |
- | lcd.clear(); | + | |
- | } | + | |
- | void loop() | + | |
- | { | + | |
- | int distance = 200; | + | |
- | int s1=analogRead(A0); //50b | + | |
- | int s2=analogRead(A1); //10b | + | |
- | int s3=analogRead(A2);//5b | + | |
- | lcd.setCursor(0,0); | + | |
- | lcd.print("RS10 RS2 RS5 SUM"); | + | |
- | if(s1>=distance && f1==0) | + | |
- | { | + | |
- | f1=1; | + | |
- | } | + | |
- | else if(s1<distance && f1==1) | + | |
- | { | + | |
- | f1=0; | + | |
- | c1++; | + | |
- | total +=40; | + | |
- | + | ||
- | } | + | |
- | if(s2>=distance && f2==0) | + | |
- | { | + | |
- | f2=1; | + | |
- | } | + | |
- | else if(s2<distance && f2==1) | + | |
- | { | + | |
- | f2=0; | + | |
- | c2++; | + | |
- | total += 5; | + | |
- | } | + | |
- | if(s3>=distance && f3==0) | + | |
- | { | + | |
- | f3=1; | + | |
- | } | + | |
- | else if(s3<distance && f3==1) | + | |
- | { | + | |
- | f3=0; | + | |
- | c3++; | + | |
- | total += 5; | + | |
- | + | ||
- | } | + | |
- | lcd.setCursor(1,1); | + | |
- | lcd.print(c1); | + | |
- | lcd.setCursor(5,1); | + | |
- | lcd.print(c2); | + | |
- | lcd.setCursor(10,1); | + | |
- | lcd.print(c3); | + | |
- | lcd.setCursor(13,1); | + | |
- | lcd.print(total); | + | |
- | } | + | |
==== Jurnal ==== | ==== Jurnal ==== | ||
Line 117: | Line 54: | ||
25-05 <-> 30-05 - implementarea finala | 25-05 <-> 30-05 - implementarea finala | ||
+ | {{:pm:prj2021:avaduva:partea1_piggy.png?300|}} | ||
+ | |||
Line 127: | Line 66: | ||
{{:pm:prj2021:avaduva:piggy_bank_sub.jpeg?500|}} | {{:pm:prj2021:avaduva:piggy_bank_sub.jpeg?500|}} | ||
+ | |||
+ | Videoul final: | ||
+ | https://drive.google.com/file/d/192HOWXjNWLrplaeUpAXVp0pPx01eHP1D/view?usp=sharing | ||
==== Bibliografie/Resurse ==== | ==== Bibliografie/Resurse ==== | ||
Line 132: | Line 74: | ||
https://www.youtube.com/watch?v=S6hcN9y5MBI&ab_channel=ElectronicsDIY | https://www.youtube.com/watch?v=S6hcN9y5MBI&ab_channel=ElectronicsDIY | ||
https://circuitdigest.com/microcontroller-projects/arduino-coin-sorter-and-counter | https://circuitdigest.com/microcontroller-projects/arduino-coin-sorter-and-counter | ||
- | Pentru componente si cum am realizat designul cutiei: | ||
https://www.youtube.com/watch?v=GI9lvmzLQhk&ab_channel=DIYOcean | https://www.youtube.com/watch?v=GI9lvmzLQhk&ab_channel=DIYOcean | ||
+ | Pentru componente si cum am realizat designul cutiei | ||