discover
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| discover [2023/01/19 12:31] – brian | discover [2023/01/19 14:57] (current) – brian | ||
|---|---|---|---|
| Line 3: | Line 3: | ||
| **Introduzione** | **Introduzione** | ||
| - | L' | + | L' |
| **Materiali e metodi** | **Materiali e metodi** | ||
| Line 23: | Line 23: | ||
| Abbiamo collegato il sensore di temperatura al microcontrollore utilizzando i pin appropriati. | Abbiamo collegato il sensore di temperatura al microcontrollore utilizzando i pin appropriati. | ||
| - | Abbiamo scritto il codice utilizzando l' | ||
| - | <file ino temperatura.ino> | + | Ora scriviamo il codice utilizzando l' |
| + | |||
| + | <code ino [enable_line_numbers=" | ||
| + | // Template ID, Device Name and Auth Token are provided by the Blynk.Cloud | ||
| + | // See the Device Info tab, or Template settings | ||
| + | #define BLYNK_TEMPLATE_ID " | ||
| + | #define BLYNK_DEVICE_NAME " | ||
| + | #define BLYNK_AUTH_TOKEN " | ||
| + | |||
| // Comment this out to disable prints and save space | // Comment this out to disable prints and save space | ||
| #define BLYNK_PRINT Serial | #define BLYNK_PRINT Serial | ||
| Line 37: | Line 45: | ||
| #include " | #include " | ||
| #include < | #include < | ||
| - | </ | ||
| - | <code - temperatura.ino> | ||
| + | char auth[] = BLYNK_AUTH_TOKEN; | ||
| + | |||
| + | // Your WiFi credentials. | ||
| + | // Set password to "" | ||
| + | char ssid[] = " | ||
| + | char pass[] = " | ||
| + | |||
| + | |||
| + | float temperatura = 0; | ||
| + | float umidita = 0; | ||
| + | |||
| + | DHT dht(DHTPIN, DHTTYPE); | ||
| + | |||
| + | |||
| + | void setup() { | ||
| + | // Debug console | ||
| + | Serial.begin(115200); | ||
| + | |||
| + | Blynk.begin(auth, | ||
| + | // You can also specify server: | ||
| + | // | ||
| + | // | ||
| + | /* | ||
| + | // Clear the terminal content | ||
| + | terminal.clear(); | ||
| + | |||
| + | // This will print Blynk Software version to the Terminal Widget when | ||
| + | // your hardware gets connected to Blynk Server | ||
| + | terminal.println(F(" | ||
| + | terminal.println(F(" | ||
| + | terminal.println(F(" | ||
| + | terminal.println(F(" | ||
| + | terminal.flush(); | ||
| + | */ | ||
| + | dht.begin(); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | Blynk.run(); | ||
| + | |||
| + | temperatura = dht.readTemperature(); | ||
| + | Serial.print(" | ||
| + | Serial.println(temperatura); | ||
| + | umidita = dht.readHumidity(); | ||
| + | Serial.print(" | ||
| + | Serial.println(umidita); | ||
| + | |||
| + | |||
| + | Blynk.virtualWrite(V4, | ||
| + | Blynk.virtualWrite(V5, | ||
| + | |||
| + | delay(5000); | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | Registriamoci sulla console di Blynk (per chi conosceva già questa soluzione di recente è migrata su una console online, il vecchio progetto ora è conosciuto come Blynk Legacy) | ||
| + | |||
| + | {{blynk_console.png}} | ||
| + | |||
| + | e dall' | ||
| + | |||
| + | {{blynk.jpg}} | ||
| Abbiamo progettato il case utilizzando un software di modellazione 3D e lo abbiamo stampato utilizzando una stampante 3D. | Abbiamo progettato il case utilizzando un software di modellazione 3D e lo abbiamo stampato utilizzando una stampante 3D. | ||
| {{20230116_143451.jpg}} | {{20230116_143451.jpg}} | ||
| + | **Risultato finale** | ||
| + | {{termometro.jpg}} | ||
| **Possibili evoluzioni** | **Possibili evoluzioni** | ||
| Line 51: | Line 122: | ||
| Questo progetto è da valutare come uno spunto per progetti più ampli. | Questo progetto è da valutare come uno spunto per progetti più ampli. | ||
| Sicuramente ci sono decine di evoluzioni / migliorie semplici che si possono applicare a questo semplice progetto, come ad esempio un' | Sicuramente ci sono decine di evoluzioni / migliorie semplici che si possono applicare a questo semplice progetto, come ad esempio un' | ||
| - | Posso creare un trigger che se rilevo una temperatura troppo alta (60°C ad esempio) mi avvisa tramite una notifica. Così come sostituire il sensore di temperatura con uno di movimento | + | Posso creare un trigger che se rilevo una temperatura troppo alta (60°C ad esempio) mi avvisa tramite una notifica. Così come sostituire il sensore di temperatura con uno di movimento. |
| + | |||
| + | Inoltre è possibile non utlizzare la console Blynk (limitata senza un abbonamento), | ||
| + | |||
| + | {{display.jpg}} | ||
| + | |||
| + | Un esempio di codice può essere il seguente | ||
| + | <code ino [enable_line_numbers=" | ||
| + | |||
| + | // | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include " | ||
| + | #include < | ||
| + | |||
| + | LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display | ||
| + | |||
| + | #define DHTPIN 13 | ||
| + | #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 | ||
| + | |||
| + | const char* ssid = " | ||
| + | const char* password = " | ||
| + | const char* auth = " | ||
| + | |||
| + | |||
| + | float temperatura = 0; | ||
| + | float umidita = 0; | ||
| + | |||
| + | DHT dht(DHTPIN, DHTTYPE); | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | lcd.init(); | ||
| + | lcd.backlight(); | ||
| + | |||
| + | // | ||
| + | Blynk.begin(auth, | ||
| + | |||
| + | Serial.begin(115200); | ||
| + | dht.begin(); | ||
| + | |||
| + | |||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | |||
| + | Blynk.run(); | ||
| + | |||
| + | |||
| + | temperatura = dht.readTemperature(); | ||
| + | Serial.print(" | ||
| + | Serial.println(temperatura); | ||
| + | umidita = dht.readHumidity(); | ||
| + | Serial.print(" | ||
| + | Serial.println(umidita); | ||
| + | |||
| + | |||
| + | String stringOne = "Temp C "; | ||
| + | String stringTwo = stringOne + temperatura; | ||
| + | |||
| + | |||
| + | lcd.setCursor(0, | ||
| + | lcd.print(stringTwo); | ||
| + | |||
| + | | ||
| + | | ||
| + | |||
| + | |||
| + | lcd.setCursor(0, | ||
| + | lcd.print(stringTwo); | ||
| + | |||
| + | Blynk.virtualWrite(V0, | ||
| + | Blynk.virtualWrite(V1, | ||
| + | |||
| + | delay(5000); | ||
| + | } | ||
| + | </ | ||
discover.1674127919.txt.gz · Last modified: 2023/01/19 12:31 by brian