This shows you the differences between two versions of the page.
|
pm:prj2022:avaduva:matei.barbu1905 [2022/05/12 14:48] matei.barbu1905 |
pm:prj2022:avaduva:matei.barbu1905 [2022/06/02 15:26] (current) matei.barbu1905 |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | + | ====== MotorHelper ====== | |
| - | ====== MusicClock ====== | + | |
| ===== Introducere ===== | ===== Introducere ===== | ||
| - | Prezentare: | + | Proiectul constă în implementarea unui sistem de reglaj a turației unui motor în funcție de temperatura ambientală. |
| - | * O cutie open-source care după selecția unui mod poate prinde post de radio, cânta o melodie de pe un card SD sau afișa date despre zi/oră. În plus poate fi configurat ca un ceas deșteptător. | + | |
| - | * Scopul acestui proiect a fost să învăț să lucrez cu transferuri DMA, un afișator grafic, și să mă familiarizez un pic cu electronica analogică. | + | |
| - | * Am pornit de la acest [[https://www.aksevenfour.com/picoaudio.html|proiect]], dar l-am proiectat pentru a folosi un microprocesor adecvat. | + | |
| - | * Utilitatea proiectului constă în a vedea cât de dezvoltată este zona de open source hardware. | + | |
| ===== Descriere generală ===== | ===== Descriere generală ===== | ||
| - | Interfață: | + | === Funcționalitate === |
| - | * Două butoane rotative | + | Motorul DC este conectat la pini expuși de un Arduino Nano. Acesta folosește Pulse-Width-Modulation pentru a schimba turația motorului, prin intermediul unei punți H (L293D). |
| - | - SELECT | + | |
| - | - MEDIA CONTROL | + | |
| - | Dispozitivul pornește în modul CEAS. Avem pe ecran afișate informații despre zi și oră. | + | În aceiași încăpere cu motorul se află un senzor de temperatură (DHT11), iar în funcție de valoarea citită de la senzor se vor executa una din următoarele acțiuni: |
| + | * va aprinde un LED verde | ||
| + | * va aprinde un LED galben și va comanda un buzzer să atenționeze de trei | ||
| + | * va aprinde un LED roșu și va declanșa buzzerul să atenționeze încontinuu | ||
| - | Rotația butonului SELECT configurează luminozitatea. Apăsând pe el putem selecta unul din trei meniuri (Clock Configuration, Music Player, Radio). | + | ===== Hardware design ===== |
| - | ===== Hardware Design ===== | + | Am utilizat următoarele componente: |
| + | * [[http://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061A.pdf|Arduino Nano]] | ||
| + | * [[https://www.alldatasheet.com/datasheet-pdf/pdf/17881/PHILIPS/LM293D.html|L293D]] | ||
| + | * Motor DC | ||
| + | * [[https://components101.com/asset/sites/default/files/component_datasheet/2N2222%20NPN-transistor%20datasheet.PDF|2N2222]] | ||
| + | * Buzzer | ||
| + | * [[https://media.digikey.com/pdf/Data%20Sheets/Adafruit%20PDFs/DHT11_Humidity_TempSensor.pdf|DHT11]] | ||
| + | * [[https://adafru.it/4440|Ecran]] | ||
| + | * [[https://adafru.it/3295|Real-Time-Clock]] | ||
| + | * Rezistențe | ||
| + | * Cabluri | ||
| + | * LED-uri | ||
| + | * Breadboard-uri | ||
| + | |||
| + | Toate componentele sunt alimentate la 5V, direct din pinul de power al microcontrollerului. Cu toate acestea comanda și citirea se face prin intermediul piniilor GPIO, care lucrează la 3.3V. | ||
| Schemă: | Schemă: | ||
| - | {{ :pm:prj2022:avaduva:sketch_matei_barbu.png?600 |}} | + | {{ :pm:prj2022:avaduva:schematic_matei_barbu.png?600 |}} |
| Piese: | Piese: | ||
| Line 48: | Line 59: | ||
| ===== Software Design ===== | ===== Software Design ===== | ||
| + | Vezi {{ :pm:prj2022:avaduva:proiect_barbu_matei.zip }} | ||
| - | * Pico C/C++ SDK | + | Am folosit doar bibliotecile Adafruit din Arduino IDE. |
| ===== Rezultate Obţinute ===== | ===== Rezultate Obţinute ===== | ||
| - | <note tip> | + | {{ :pm:prj2022:avaduva:poza_barbu_matei.jpg?600 |}} |
| - | Care au fost rezultatele obţinute în urma realizării proiectului vostru. | + | |
| - | </note> | + | |
| ===== Concluzii ===== | ===== Concluzii ===== | ||
| - | ===== Download ===== | + | În concluzie, consumă mult mai puțin curent decât [[https://github.com/mateibarbu19/data-acquisition|fostul experiment]] ce folosea un Rasbery Pi 4B. |
| - | + | ||
| - | <note warning> | + | |
| - | O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). | + | |
| - | + | ||
| - | Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:pm:prj20??:c?** sau **:pm:prj20??:c?:nume_student** (dacă este cazul). **Exemplu:** Dumitru Alin, 331CC -> **:pm:prj2009:cc:dumitru_alin**. | + | |
| - | </note> | + | |
| - | + | ||
| - | ===== Jurnal ===== | + | |
| - | + | ||
| - | <note tip> | + | |
| - | Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. | + | |
| - | </note> | + | |
| - | + | ||
| - | ===== Bibliografie/Resurse ===== | + | |
| - | <note> | ||
| - | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | ||
| - | </note> | ||
| <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | ||