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> |