This is an old revision of the document!
Proiectul constă în realizarea unei alarme cu ceas, controlabilă prin comenzi vocale. Comenzile suportate sunt de setare alarmă și de oprire alarmă.
Scopul este integrarea comenzilor vocale într-un dispozitiv minimalist, restricționat hardware.
Am pornit de la ideea unei alarme inteligente, cu un bec LED RGB integrat pentru a mimica rasăritul soarelui. Datorită dificultății de a găsi un array de LED-uri de tensiune înaltă documentat, am renunțat la aceasă componentă, ceea ce m-a lăsat cu un proiect foarte “bare bones”. Pentru a spori complexitatea, am decis să adaug comenzi vocale, foarte simpliste, fezabil de realizat pe un atmega328p.
Utilitatea proiectului este limitată, reprezentând mai mult un “proof of concept”. Însă, acesta poate fi folosit ca o alternativă la alarmele integrate în telefoane, deoarece are un sistem de recunoaștere de comenzi vocale dedicat, cu viteză de răspuns ridicată.
Cantitate | Componentă | Site cumpărare | Datasheet |
---|---|---|---|
1 | Placă dezvoltare Arduino R3 UNO | Link | Link |
1 | 23LCV1024-I/P | Link | Link |
1 | TL074ACN | Link | Link |
1 | LD-MC-0905P | Link | Link |
1 | L7805ACV | Link | Link |
1 | Modul WiFi ESP8266 ESP-01 | Link | Link |
1 | Modul cu Ceas în Timp Real DS3231 | Link | Link |
1 | Buzzer alarmă | Link | Link |
1 | Tranzistor NPN de Putere TIP41C | Link | Link |
1 | Alimentator Stabilizat 12V 2000mA | Link | Link |
10 | Condensatoare | Link | Link |
10 | Rezistente | Link | Link |
Pinii folositi pe placa de dezvoltare sunt:
- SCK, MISO, MOSI, SS_POT, SS_SRAM pentru comunicare SPI cu potentiometrul digital (folosit pentru a ajusta automatic gain control) si SRAM-ul extern (folosit pentru a stoca valorile inregistrate de la microfon)
- OCA1 folosit drept iesire PWM pentru a controla curentul din baza tranzistorului TIP41C, astfel controland buzzer-ul.
- CLK_INT folosit drept pin de intrerupere externa de la RTC, anunțând când trebuie sunată alarma.
- TX, RX folosit pentru a comunica prin UART cu modulul WI-FI, pentru a transmite datele audio server-ului care le procesează si pentru a primi comanda audio procesată de la server.
- SDA, SCL folosite pentru comunicare I2C cu modulul RTC pentru a seta data curenta si data la care trebuie sa sune alarma.
- ADC0 folosit ca input in ADC-ul microcontroller-ului a datelor audio analogice de la microfon, in urma prelucrarii semnalelor.
- VIN curentul de alimentare, provenit de la un stabilizator de tensiune alimentat cu 12V de la priza.
- GND ground.
- 5V, 3V3 sunt iesiri de 5V, respectiv 3V3.