Benvenuti sul Forum di AcquaPortal, la più grande community italiana di acquariofilia!
Sul Forum di AcquaPortal puoi discutere con altri appassionati di acquariofilia, tenere un tuo Blog personale, inserire foto e video, chattare, ed aiutarci a creare un grande database con schede di pesci, invertebrati e prodotti di acquariofilia.
Per entrar a far parte della comunità occorre registrarsi.
Per farlo premi su
Al momento della registrazione ti verrà richiesto di accettare il Regolamento che ti consigliamo di leggere attentamente.
Ti consigliamo inoltre di leggere le FAQ per apprendere le funzionalità principali del forum.
Se invece sei un utente registrato e hai dimenticato i tuoi dati di accesso devi effettuare il Recupero dati.
Tecnica marinoPer parlare della vasca, del mobile, della sump, dell'impianto idraulico, delle attrezzature e degli accessori (pompe, filtri, schiumatoi, reattori, ecc).
Buongiorno mi servirebbe una mano per programmare il mio arduino 2560 per creare un menu che mi faccia fare il cambio acqua, e la sospensione per 10 minuti della pompa come posso fare? per ora ho questo:
long Pompa_Accesa_in_data=0;
const unsigned long quanto_tempo_deve_restare_accesa_la_pompa = 300000;
long inizio_accensione_arduino= 0;
unsigned long quanto_tempo_deve_restare_spento_skim_avvio_arduin o = 300000;
int pompa_spenta =0;
int oraAlba = 9;
int minAlba = 10;
long albas;
int durataAlbas = 720;
int oraTramonto = 17;
int minTramonto = 10;
long tramontos;
int durataTramontos = 720;
long nows;
int delayR = 0;
int delayG = 120;
int delayB = 240;
int delayUV = 360;
int delayW = 360;
//LED
int pinR = 2;
int pinG = 3;
int pinB = 4;
int pinW = 5;
int pinUV = 6;
//RELE
float rele1 = 35;
float rele2 = 37;
int rele3 = 39;
int rele4 = 41;
int rele6 = 45;
int rele7 = 47;
//menu
int Menu=0; // VARIABILE CHE IDENTIFICA IL MENU' IN USO
const int buttonPingiu = 22; // pin Giu
const int buttonPinsu= 24; // pin Su
const int buttonPinok = 26; // pin OK
const int buttonPinPiu = 30; // pin modifica più
const int buttonPinMeno = 32; // pin modifica meno
int lastButtonokState = LOW; // the previous reading from the Enter input pin
int lastButtongiuState = LOW; // the previous reading from the Esc input pin
int lastButtonsuState = LOW; // the previous reading from the Left input pin
int lastButtonPiuState = LOW; //
int lastButtonMenoState = LOW; //
long lastEnterDebounceTime = 0; // the last time the output pin was toggled
long lastEscDebounceTime = 0; // the last time the output pin was toggled
long lastLeftDebounceTime = 0; // the last time the output pin was toggled
long lastRightDebounceTime = 0; // the last time the output pin was toggled
long debounceDelay = 500; // the debounce time
//Variabili del menu
MenuBackend menu = MenuBackend(menuUseEvent,menuChangeEvent);
sensors.begin();
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
setSyncProvider(RTC.get); // the function to get the time from the RTC
if(timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
lcd.init(); // LCD Initialization
lcd.backlight( ); // Backlight ON
lcd.clear(); // Clear the display
E' una domanda un po' difficilotta per un forum di acquari.
Magari prova a scrivere il titolo un po' meglio, specificando a che linguaggio/controller ti riferisci.
Qualcuno che sa fare sta roba, qua, c'è stato di sicuro.
Tutto sta a vedere se legge la tua discussione
Ci sono tante cose che non capisco in questo listato ma preferisco non chiedere...
Qua ci sono più errori (mancano tutte le parentesi graffe) e non viene impostato il systemtime sull'RTC
Originariamente inviata da marco3020
...
if(timeStatus() != timeSet)
Serial.println("Unable to sync with the RTC");
else
Serial.println("RTC has set the system time");
Sul metodo di costruzione del menù credo che qua ti stiano già provando ad aiutare (segui il link che ti hanno dato, prova e studia gli esempi) quindi, visto che non conosco questa libreria preferirei non aggiungere altro.
Per quel che riguarda il sistema per tener spenta la pompa per 10 minuti è semplice:
- converti i minuti di spegnimento in millis()
- salvi questo valore in una variabile long
- e lo paragoni ai millis() correnti
codice:
void setup(){
...
unsigned long inizio_sospensione;
unsigned long quanto_tempo_deve_restare_spenta_la_pompa = 600000;
}
Buona sera a tutti ho provato a caricare quella libreria ma non va perche ha bisogno della libreria liquidcrytal e io invece ho la : #include <PCF8574_HD44780_I2C.h> quindi mi da erori su errori, ho provato a caricarla cosi:
Arduino:1.6.5 (Windows 7), Scheda:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"
quick_tour.ino: In function 'void setup()':
quick_tour error: expected primary-expression before 'lcd'
quick_tour error: expected primary-expression before ')' token
quick_tour error: expected ';' before ')' token
expected primary-expression before 'lcd'
Questo non è un listato funzionante ma un esempio, un estratto.
Mancano delle parentesi, manca il setup().
Prova ad aprire qualche esempio incluso nella libreria e modificarlo per capire come funziona.
__________________ Chi non ride mai non è una persona seria - (Chopin) ...La sobrietà và presa con moderazione... - (Jax - Brillo ma da lucido)