11 maggio 17, 19:03 | #1 (permalink) Top |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
| Arduino Uno: chi ci gioca?
Ciao raga Avevo già da un po' di tempo un arduino originale con bluetooth ma, non avendo vari moduli e per mancanza di tempo e soldi non mi ci sono mai applicato sopra Ora finalmente sono riuscito a prendermi in buona offerta un full kit "elegoo R3" che accoppiato all'originale funzionano alla grande! Preso da amazon a questo link: https://www.amazon.it/Elegoo-Progett...ywords=arduino preso in super offertissima limitata a 37.90 euro Ora, c'è qualcuno che ci smanetta sopra con progetti simpatici da presentarmi e condividere le esperienze di programmazione e elettronica tutti assieme? Mi sono divertito a provare TUTTI i sensori e i moduli e funzionano TUTTI a meraviglia, l'unico problema che ho avuto è stato sul motore DC che non riesco a capire come farlo partire (vabè sorvoliamo su questo che poi sicuramente risolvo). La mia idea era di provare a fare una serra "automatizzata" con: display 16x2; modulo temperatura/umidità; Modulo Real time Clock e due ventole per pc a 12v; un modulo bluetooh Alla fin della fiera arduino mi dovrebbe leggere la temperatura e l'umidità con ora e data tutto sul display (da inviare anche sul cellulare) e impostando i vari parametri e superata una certa soglia di temperatura e umidità mi dovrebbe ventilare la serra con i motori posti sul tettino di plastica della serra, raggiunta la temperatura desiderata si deve fermare tutto, ovviamente con comando in "loop". Magari quando avrò tempo ci aggiungerò un vaporizzatore che stabilizzi anche l'umidità nella serra con una pompetta collegata all'acqua. Sarebbe gradito poter pilotare le ventole anche da cellulare. Qualcosa in giro per il web l'ho trovata ma, mi ha confuso un po' le idee sul cablaggio e sopratutto sul codice da scrivere e caricare su arduino. Spero di radunare tutti gli arduinisti per fare un bel thread con tutte le proprie esperienze, idee e progetti Saluti a tutti
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA |
11 maggio 17, 21:29 | #2 (permalink) Top | |
User | Citazione:
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) | |
11 maggio 17, 22:16 | #3 (permalink) Top |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
| Eh beh scusa, poi la spesa mi ritorna Comunque gli schemi e i progetti singoli diciamo che li ho trovati (orologio, display, termometro e ventole) ora sta solo cercare di capire come unire il tutto e ovviamente cercare di unire anche tutti i codici da caricare su arduino, magari anche facendo una specie di menù pilotato da un pulsante che, premendolo scorre: data e ora >temperatura/umidità e magari, ci metto pure il sensore di livello acqua così da capire quando devo reintegrare l'acqua distillata alle mie piante carnivore 11. Temperatura e Umidità DHT-11 - PROGETTI ARDUINO 13. Arduino RTC Ora e Data Display - PROGETTI ARDUINO 15. Arduino Motore Ponte-H L293D SN754410 - PROGETTI ARDUINO (in quest'ultimo però al posto del motore DC dovrei metterci due ventole da pc)
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA Ultima modifica di andore : 11 maggio 17 alle ore 22:19 |
11 maggio 17, 22:57 | #4 (permalink) Top |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
|
Mi sembra un progetto neanche troppo complicato, direi fattibilissimo anche per uno che non ci "smanetta"...tutto sta nel partire dagli esempi più semplici e stupidi per poi progredire in qualcosa di sempre più complesso. Quindi prima leggere il sensore di temperatura, poi scrivere sul display, unire le cose e realizzare un termometro ecc ecc....
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ |
12 maggio 17, 12:49 | #5 (permalink) Top | |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
| Citazione:
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA | |
12 maggio 17, 13:38 | #6 (permalink) Top |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| Basterebbe anche il semplice copia/incolla, ma bisogna farlo nei punti giusti e adattando in maniera opportuna il vecchio codice a quello nuovo perchè, tanto per fare un esempio, magari alcuni pin di INPUT/OUTPUT sono in comune ai singoli codici di termometro, orologio, ventole...
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ |
13 maggio 17, 10:27 | #7 (permalink) Top | |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
| Citazione:
Comunque ora mi dedico un attimo a studiare bene il circuito e poi passo alla parte codice Appena finisco posto uno sketch così magari mi correggete se ho sbagliato qualcosa
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA | |
13 maggio 17, 15:14 | #8 (permalink) Top |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
|
Ok tutto funziona a meraviglia; orologio e temperatura ora viene il bello! Come faccio ad unire i due codici? Codice: #include <DHT.h> #include <Wire.h> #include <RTClib.h> #include <LiquidCrystal.h> #include "DHT.h" #define DHTPIN 8 // 8 è il pin di Arduino a cui collego il sensore di temperatura #define DHTTYPE DHT11 // dht11 è il tipo di sensore che uso DHT dht(DHTPIN, DHTTYPE); LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // connessione display (pin) char buffer1[20]; char buffer2[20]; RTC_DS1307 RTC; LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const int setpin = 6; boolean statepin = 0; void setup() { lcd.begin(16, 2); // imposto il tipo di display (colonne, righe) lcd.setCursor(0,0); lcd.print("Temperatura"); lcd.setCursor(0,1); lcd.print("Umidita'"); lcd.setCursor(15,0); lcd.print("C"); lcd.setCursor(15,1); lcd.print("%"); pinMode (6, INPUT); digitalWrite (6, HIGH); Wire.begin(); RTC.begin(); lcd.begin(16, 2); if (! RTC.isrunning()) { RTC.adjust(DateTime(__DATE__, __TIME__)); } void loop() { int t = dht.readTemperature(); int h = dht.readHumidity(); // posiziono il cursore alla colonna 12 e riga 0 lcd.setCursor(12, 0); lcd.print(t); lcd.setCursor(12, 1); lcd.print(h); statepin = digitalRead (setpin); if (statepin == LOW) { RTC.adjust(DateTime(__DATE__, __TIME__)); } DateTime now = RTC.now(); sprintf(buffer1, "%02d:%02d:%02d", now.hour(), now.minute(), now.second()); lcd.setCursor(0,0); lcd.print( buffer1 ); sprintf(buffer2, "%02d/%02d/%d", now.day(), now.month(), now.year()); lcd.setCursor(0,1); lcd.print( buffer2 ); delay(1000); } void setup () { } }
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA |
13 maggio 17, 15:51 | #9 (permalink) Top |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
|
Prova questo...nel tuo originale c'erano alcune cose che non andavano: doppia definizione della funzione LiquidCrystal lcd, doppio lcd.begin(16,2) e la doppia definizione di void setup() alla fine che non c'entra nulla) Codice: #include <DHT.h> #include <Wire.h> #include <RTClib.h> #include <LiquidCrystal.h> #include "DHT.h" #define DHTPIN 8 // 8 è il pin di Arduino a cui collego il sensore di temperatura #define DHTTYPE DHT11 // dht11 è il tipo di sensore che uso DHT dht(DHTPIN, DHTTYPE); LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // connessione display (pin) char buffer1[20]; char buffer2[20]; RTC_DS1307 RTC; const int setpin = 6; boolean statepin = 0; int t; int h; void setup() { lcd.begin(16, 2); // imposto il tipo di display (colonne, righe) lcd.setCursor(0,0); lcd.print("Temperatura"); lcd.setCursor(0,1); lcd.print("Umidita'"); lcd.setCursor(15,0); lcd.print("C"); lcd.setCursor(15,1); lcd.print("%"); pinMode (6, INPUT); digitalWrite (6, HIGH); Wire.begin(); RTC.begin(); if (! RTC.isrunning()) { RTC.adjust(DateTime(__DATE__, __TIME__)); } } void loop() { t = dht.readTemperature(); h = dht.readHumidity(); // posiziono il cursore alla colonna 12 e riga 0 lcd.setCursor(12, 0); lcd.print(t); lcd.setCursor(12, 1); lcd.print(h); statepin = digitalRead (setpin); if (statepin == LOW) { RTC.adjust(DateTime(__DATE__, __TIME__)); } DateTime now = RTC.now(); sprintf(buffer1, "%02d:%02d:%02d", now.hour(), now.minute(), now.second()); lcd.setCursor(0,0); lcd.print( buffer1 ); sprintf(buffer2, "%02d/%02d/%d", now.day(), now.month(), now.year()); lcd.setCursor(0,1); lcd.print( buffer2 ); delay(1000); }
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ |
13 maggio 17, 17:15 | #10 (permalink) Top | |
User Data registr.: 20-04-2009 Residenza: Potenza
Messaggi: 934
| Citazione:
Imgur: The most awesome images on the Internet Altra domanda: per azionare il motore DC ho a disposizione due tipi di transistor NPN ovvero (PN2222 e S8050) quale dovrei usare?
__________________ FIUMI DI PENSIERI VAGANO NELLA MIA MENTE IGNORANDO LA PERCEZIONE DELLA REALTA' IMPOSTA | |
Bookmarks |
| |
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
arduino uno e ..... | FLYTS | Circuiti Elettronici | 3 | 23 settembre 14 15:50 |