This shows you the differences between two versions of the page.
pm:prj2024:avaduva:aracovita [2024/05/06 02:38] aracovita |
pm:prj2024:avaduva:aracovita [2024/05/28 01:29] (current) aracovita |
||
---|---|---|---|
Line 5: | Line 5: | ||
===== Introducere ===== | ===== Introducere ===== | ||
- | Proiectul consta in implementarea unei rulete electronice care masoara distanta folosind un senzor ultrasonic si care afiseaza pe un display fie ultima distanta masurata, fie cicleaza intre masuratorile precedente, salvate pe cardul sd. In aditie cu asta, un speaker va rosti aproximarea in metri a distantei masurate pentru a putea ajuta oamenii cu probleme de vedere. Dispozitivul utilizeaza si un senzor de umiditate si temperatura pentru masuratori mai precise in conditii de mediu diferite | + | Proiectul consta in implementarea unei rulete electronice care masoara distanta folosind un senzor ultrasonic si care afiseaza pe un display fie ultima distanta masurata, fie cicleaza intre masuratorile precedente, salvate pe cardul sd. Dispozitivul utilizeaza si un senzor de umiditate si temperatura pentru masuratori mai precise in conditii de mediu diferite. Dispozitivul consider ca este util pentru oamenii cu probleme de mobilitate si care au nevoie sa masoare distante in locuri innacesibile. |
- | <note tip> | + | 5===== Descriere generală ===== |
- | Prezentarea pe scurt a proiectului vostru: | + | |
- | * ce face | + | |
- | * care este scopul lui | + | |
- | * care a fost ideea de la care aţi pornit | + | |
- | * de ce credeţi că este util pentru alţii şi pentru voi | + | |
- | </note> | + | |
- | ===== Descriere generală ===== | + | |
<note tip> | <note tip> | ||
- | O schemă bloc cu toate modulele proiectului vostru, atât software cât şi hardware însoţită de o descriere a acestora precum şi a modului în care interacţionează. | ||
- | {{:pm:prj2024:avaduva:block_racovita.png?}} | + | Schema Bloc |
+ | |||
+ | {{:pm:prj2024:avaduva:block_racovita.png?500}} | ||
+ | |||
+ | Schema circuitului. In-afara de cititorul de card SD pe care l-am conectat pe pinii dedicati pentru SPI, toate celelalte componente sunt conectate la pini digitali pentru ca asa e cel mai usor de lucrat si pentru ca senzorii trimit semnale digitale. Posibil sa schimb displayul si sa folosesc unul care va avea integrat un adaptator care foloseste I2C deoarece ocupa mai putini pini decat implementarea curenta. Difuzor nu am gasit inca din care as fi vrut iar butoanele o sa urmeze si ele sa fie montate(Sper ca pe cei 2 pini cu interrupt dedicat, parca PD3 si PD4, I may be wrong) | ||
+ | |||
+ | {{:pm:prj2024:avaduva:pm_hard_racovita.png?500}} | ||
+ | |||
+ | Circuitul IRL | ||
+ | |||
+ | {{:pm:prj2024:avaduva:hard_poza_racovita.jpeg?500}} | ||
+ | |||
+ | Momentan doar senzorul ultrasonic stiu cu certitudine ca merge, displayul e functional si are backlight dar nu am reusit sa printez ceva pe el inca. | ||
+ | Pozele absolut odioase sunt doar temporare si ca sa arat ca masor corect | ||
+ | |||
+ | {{:pm:prj2024:avaduva:dovada_hard_rac1.jpeg?500}} | ||
+ | |||
+ | {{:pm:prj2024:avaduva:dovada_hard_rac2.jpeg?500}} | ||
</note> | </note> | ||
+ | |||
===== Hardware Design ===== | ===== Hardware Design ===== | ||
<note tip> | <note tip> | ||
+ | Lista piese: | ||
+ | *Arduino UNO board | ||
+ | *Senzor ultrasonic HC-SR04 | ||
+ | *Senzor umiditate si temperatura DHT22 | ||
+ | *2 butoane | ||
+ | *SD card reader | ||
+ | *card SD | ||
+ | *Display LCD 1602 | ||
+ | *Speaker | ||
+ | *Breadboard | ||
+ | *Cabluri | ||
+ | *Rezistente la nevoie | ||
+ | |||
Aici puneţi tot ce ţine de hardware design: | Aici puneţi tot ce ţine de hardware design: | ||
* listă de piese | * listă de piese | ||
Line 36: | Line 59: | ||
<note tip> | <note tip> | ||
- | Descrierea codului aplicaţiei (firmware): | + | https://youtu.be/1wVDI_scQJ8 |
- | * mediu de dezvoltare (if any) (e.g. AVR Studio, CodeVisionAVR) | + | https://github.com/AlexRacovita23/Proiect_PM |
- | * librării şi surse 3rd-party (e.g. Procyon AVRlib) | + | Am lucrat in IDE-ul Arduino. |
- | * algoritmi şi structuri pe care plănuiţi să le implementaţi | + | Librarii utilizate: |
- | * (etapa 3) surse şi funcţii implementate | + | * <LiquidCrystal.h> |
+ | * <dht.h> | ||
+ | * <LiquidCrystal_I2C.h> | ||
+ | * <SPI.h> | ||
+ | * <SD.h> | ||
+ | Ca functii, in-afara de loop() si setup() am avut doar o functie pentru scrierea pe cardul SD. Puteam sa mai separ codul din loop in mai multe functii ajutatoare dar pentru scala proiectului nu mi s-a parut necesar. Initializez fiecare senzor, calculez viteza de transmisie a sunetului pe baza informatiilor de la senzor si apoi le printez pe display. Am pus un delay de 0.2 secunde ca sa nu aiba o criza de epilepsie LCD-ul cand incerca sa printeze la fiecare 10 milisecunde. Daca aveam intrerupere pe un buton, salvam datele masurate la acel moment intr-un CSV. Daca aveam intrerupere scurta pe celalalt buton incepeam sa parsez datele deja salvate si sa le printez pe display. La o intrerupere lunga(peste 0.5 secunde) treceam inapoi pe modul de masurare. | ||
+ | Ca protocoale am utilizat SPI, I2C si GPIO, cu inspiratii din laboaratoarele aferente. | ||
</note> | </note> | ||
Line 46: | Line 75: | ||
<note tip> | <note tip> | ||
- | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | Senzorul DHT22 e poate prea precis relativ la HC-SR04. |
</note> | </note> | ||
===== Concluzii ===== | ===== Concluzii ===== | ||
+ | |||
+ | Sincer, concluzia cea mai importanta pentru mine e ca e chiar fun sa lucrezi pe Arduino si foarte beginner friendly. Da, am avut dificultati cu componentele si a trebuit sa schimb ledul si cititorul de card SD initiale dar lucrul cu senzori a fost smooth sailing si fun. A fost fun si sa inteleg cum functioneaza ce am vrut eu sa fac si sa vin cu idei de a il imbunatati. Overall o experienta cool, would do again certainly. | ||
===== Download ===== | ===== Download ===== |