Sommario:
- Passaggio 1: parti necessarie
- Passaggio 2: breadboard a filo per sensore di temperatura
- Passaggio 3: cicalino piezoelettrico
- Passaggio 4: aggiungi pulsanti
- Passaggio 5: collegare l'LCD alla breadboard separata e all'alimentazione
- Passaggio 6: codice
- Passaggio 7: diagramma
Video: Smart-Stat: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Il nostro prodotto consente alle persone di verificare l'efficienza dei propri sistemi di riscaldamento e condizionamento nelle proprie case misurando la temperatura del freon in entrata e in uscita con un processo semplice e realistico. Questo dispositivo intelligente incoraggerà le persone a prendere decisioni più efficienti dal punto di vista energetico con i loro sistemi di riscaldamento e raffreddamento.
Passaggio 1: parti necessarie
- Arduino Uno
- Tagliere (4)
- Termistore (2)
- Resistenze 10K (2)
- Premi il bottone
- Cicalino piezoelettrico
- Display LCD
- Potenziometro
- Fili (25)
- Connettore Micro USB o USB
Passaggio 2: breadboard a filo per sensore di temperatura
Un termistore TMP è un tipo di sensore di temperatura che misura la tensione attraverso il sensore al variare della temperatura ambiente. Questo particolare sensore ha tre pin: un positivo, una massa e un segnale. Questo sensore è un sensore lineare e la variazione di temperatura di un grado Celsius equivale a una variazione di 10 millivolt all'uscita del sensore.
Procedura:
1) Collegare il sensore di temperatura come mostrato nella figura sopra. Il filo centrale si collegherà ad A0.
2) Collega il tuo secondo sensore di temperatura in modo simile al primo e il filo centrale si collegherà ad A1.
Passaggio 3: cicalino piezoelettrico
Un cicalino piezoelettrico è un dispositivo utilizzato per avvisare l'utente quando il sistema di riscaldamento, ventilazione e condizionamento dell'aria non funziona al massimo in modo efficiente. L'allarme acustico informa l'utente che è un problema.
Procedura:
1) Collegare il buzzer alla scheda come mostrato nella figura sopra.
Passaggio 4: aggiungi pulsanti
- Il pulsante è un componente che collega due punti in un circuito quando lo si preme.
- Nel nostro prodotto, il pulsante alterna la visualizzazione della temperatura e dell'efficienza dai dati raccolti dai sensori di temperatura.
Procedura
1) Collegare il pulsante come mostrato nella figura sopra.
Passaggio 5: collegare l'LCD alla breadboard separata e all'alimentazione
Il display LCD, a cristalli liquidi, è un semplice schermo in grado di segnalare all'utente quando qualcosa non va nei sistemi di riscaldamento, ventilazione e condizionamento della propria abitazione. Ex. non funziona in modo efficiente, errore di sistema
Lo schema fornito ti aiuterà a collegare correttamente lo schermo alla scheda.
Passaggio 6: codice
a = arduino('com3', 'uno', 'libraries', 'ExampleLCD/LCDAddon'); % crea un oggetto arduino specificando la libreria ExampleLCD/LCDAddon.
lcd = addon(a, 'EsempioLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'}); % crea l'oggetto LCD e specifica i pin configurati sul dispositivo Arduino.
inizializzaLCD(lcd, 'Righe', 2, 'Colonne', 16); % inizializza lo schermo lcd
setpref('Internet', 'Server_SMTP', 'smtp.gmail.com');
setpref('Internet', 'E_mail', '[email protected]'); % account di posta da cui inviare
setpref('Internet', 'Nome utente_SMTP', 'bwnanney'); % nome utente mittenti
setpref('Internet', 'Password_SMTP', 'Morill1204'); % password mittenti
props = java.lang. System.getProperties;
props.setProperty('mail.smtp.auth', 'true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port', '465');
b=readDigitalPin(a, 'D9'); % leggere un pin digitale (un sensore digitale)
lettura= readVoltage(a, 'A0'); % leggere la tensione sul termistore analogico collegato al pin A0
reading2= readVoltage(a, 'A2'); % leggere la tensione sul termistore analogico collegato al pin A2
mentre true % scorre l'istruzione esistente finché true
b=readDigitalPin(a, 'D9'); % leggere un pin digitale (un sensore digitale)
lettura= readVoltage(a, 'A0'); % leggere la tensione sul termistore analogico collegato al pin A0
se lettura>= 0,6 && lettura< 0,68 % esegue in modo condizionale un singolo insieme di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 64 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif lettura>= 0,68 && lettura<0,69 % esegue in modo condizionale un singolo insieme di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 66 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.69 && reading<0.7 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 68 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>=0.7 && reading<0.71 % esegue condizionalmente un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 70 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>=0.71 && reading<0.72 % esegue condizionalmente un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 72 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>=0.72 && reading<0.73 % esegue condizionalmente un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 74 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif lettura>= 0.73 && lettura<0.74 % esegue in modo condizionale un singolo insieme di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 76 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.74 && reading<0.75 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 78 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.75 && reading<0.76 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 80 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.76 && reading<0.77 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 82 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.77 && reading<0.8 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 84 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
playTone(a, 'D10', 880, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 880, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 880, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 880, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 987, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 987, 0.25) % suona una nota (a, pin, frequenza, durata)
pause(0.3) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 880, 0.12) % suona una nota (a, pin, frequenza, durata)
pause(0.1) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 740, 0.12) % suona una nota (a, pin, frequenza, durata)
pause(0.1) % pause dopo la nota per la durata impostata
playTone(a, 'D10', 587, 0.25) % suona una nota (a, pin, frequenza, durata)
pausa(0.3)
sendmail('[email protected]', 'Unità di riscaldamento e raffreddamento che necessita di assistenza!!!', …
'Il sistema di riscaldamento e raffreddamento funziona in modo inefficiente. Chiedi a un tecnico di riparare l'unità il prima possibile.') % Invia un'e-mail all'account e-mail specificato
elseif reading>= 0.8 && reading<0.85 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Temp 86 F'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading>= 0.85 && reading<2 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'BAMBINO CALDO CALDO!!!'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
end % termina se istruzione
mentre b==0 % scorre l'istruzione esistente finché false
b=readDigitalPin(a, 'D9'); % leggere un pin digitale (un sensore digitale)
reading2= readVoltage(a, 'A2'); % leggere la tensione sul termistore analogico collegato al pin A2
se lettura2>= 0,6 && lettura2< 0,68 % esegue in modo condizionale un singolo insieme di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 80%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.68 && reading2<0.69 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 90%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.69 && reading2<0.7 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 95%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>=0.7 && reading2<0.71 % esegue condizionalmente un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 97%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>=0.71 && reading2<0.72 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 100%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>=0.72 && reading2<0.73 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 95%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.73 && reading2<0.74 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 90%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.74 && reading2<0.75 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 85%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.75 && reading2<0.76 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 80%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.76 && reading2<0.77 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 75%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.77 && reading2<0.8 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 70%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.8 && reading2<0.85 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'Efficienza 65%'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
elseif reading2>= 0.85 && reading2<2 % esegue in modo condizionale un singolo set di istruzioni (un blocco).
clearLCD(lcd) % cancella lo schermo lcd
printLCD(lcd, 'A FUOCO!!!'); % Stampa una stringa sul display LCD.
pause(0.5) % fa una pausa prima di eseguire il comando successivo
end % end if istruzione
end % end while loop
end % end while loop
Passaggio 7: diagramma
Questa è una rappresentazione di base di dove verrebbero posizionati i sensori di temperatura sulle linee di scarico e di vapore per monitorare la temperatura di ciascuna linea e il differenziale tra di esse.
Consigliato:
Smart Home di Raspberry Pi: 5 passaggi (con immagini)
Smart Home di Raspberry Pi: esistono già diversi prodotti che rendono il tuo appartamento più intelligente, ma la maggior parte sono soluzioni proprietarie. Ma perché hai bisogno di una connessione Internet per accendere una luce con il tuo smartphone? Questo è stato uno dei motivi per cui ho costruito il mio Smar
MATRICE LED SMART CONTROLLATA DA INTERNET FAI DA TE (ADAFRUIT + ESP8266 + WS2812): 8 passaggi (con immagini)
MATRICE LED SMART CONTROLLATA DA INTERNET FAI DA TE (ADAFRUIT + ESP8266 + WS2812): Ecco il mio secondo anticipo per un progetto che sono molto entusiasta di mostrarti. Si tratta di una Smart LED Matrix fai-da-te che ti permetterà di mostrare su di essa dati, come YouTube Stats, le tue Smart Home Stats, come temperatura, umidità, possono essere un semplice orologio o semplicemente mostrare
Crea uno Smart Switch Sonoff fai-da-te Usa l'app Android: 11 passaggi
Crea uno Smart Switch Sonoff fai-da-te Usa l'app Android: Che cos'è Sonoff? Sonoff è una linea di dispositivi smart switch per Smart Home sviluppata da ITEAD. Uno dei dispositivi più flessibili ed economici di quella linea sono Sonoff Basic e Sonoff mini. Questi sono switch abilitati Wi-Fi basati su un ottimo chip, ESP8266/E
Smart Watch Fitness Tracker fai-da-te con ossimetro e frequenza cardiaca - Moduli elettronici modulari di TinyCircuits - Arcade più piccolo: 6 passaggi
Smart Watch per fitness tracker fai-da-te con ossimetro e frequenza cardiaca | Moduli elettronici modulari di TinyCircuits | Smallest Arcade: Ehi, come va, ragazzi! Akarsh qui da CETech. Oggi abbiamo con noi alcuni dei moduli sensore che sono molto utili nella nostra vita quotidiana, ma in una versione minuscola di se stessi. I sensori che abbiamo oggi sono di dimensioni molto ridotte rispetto al tra
Hardware e software Hack Smart Devices, Tuya e Broadlink LEDbulb, Sonoff, Smart Plug BSD33: 7 passaggi
Hardware e software Hack Smart Devices, Tuya e Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: in questo Instructable ti mostro come ho flashato diversi dispositivi intelligenti con il mio firmware, così posso controllarli da MQTT tramite la mia configurazione Openhab. Aggiungerò nuovi dispositivi quando li ho hackerati. Naturalmente ci sono altri metodi basati su software per flashare f