alexcanadair Inserito: 10 ottobre 2022 Segnala Share Inserito: 10 ottobre 2022 (modificato) Buongiorno a tutti voi 😏 ho bisogno di programmare un Arduino nano con questa logica di funzionamento, Arduino deve essere alimentato a 5v, mi necessita di una uscita che pilota un micro relè (contatto pulito) e un ingresso che mi legge una presenza di tensione di riferimento 5,3V nel momento che si accende Arduino carica il suo programma, subito va a leggere la tensione di riferimento di 5,3V se non è presente attiva un timer countdown di 5 o 10 secondi dopo di che gli dice di eccitare il relè per un secondo passando il suo contatto da normalmente aperto a normalmente chiuso, per poi riposizionarsi in modalità NA da quel momento in poi il timer di Arduino si deve mettere in pausa perché rileva quella tensione di riferimento presente di 5,3V, nel momento che la tensione di riferimento viene a mancare riparte il timer per poi di nuovo eccitare il relè per 1 secondo. purtroppo di programmazione sono messo male e non saprei in che modo compilare lo sketch, vi ringrazio per il supporto. 😊 Modificato: 10 ottobre 2022 da alexcanadair Link al commento Condividi su altri siti More sharing options...
max.bocca Inserita: 10 ottobre 2022 Segnala Share Inserita: 10 ottobre 2022 Già se devi leggere la tensione di 5,3V ti consiglio di fare un partitore in modo da presentare un tensione 《di 5 V poi la mappai in modo di con confrontarla con un valore più comodo. Per il resto devi cominciare a buttare su un pezzo di carta il programma almeno a blocchi... Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 10 ottobre 2022 Segnala Share Inserita: 10 ottobre 2022 5 ore fa, alexcanadair ha scritto: purtroppo di programmazione sono messo male e non saprei in che modo compilare lo sketch, Concordo e condivido quanto ha scritto max.bocca. Ti suggerisco, come mprima cosa, di studiarti bene l'uso dei timer di arduino; in rete trovi moltissimo materiale sulla programamzione dei timer. Poi disegna lo schema a blocchi ed il diagramma di flusso. Fatte qeuste operazioni il programma è praticamente fatto. Link al commento Condividi su altri siti More sharing options...
alexcanadair Inserita: 10 ottobre 2022 Autore Segnala Share Inserita: 10 ottobre 2022 capisco che purtroppo di programmazione non ho conoscenze, ma di solito in rete si trovano dei progetti pronti dove semplicemente carico lo sketch in allegato anche lo schema, ma questa funzione è un po particolare, oppure magari trovare lo sketch che ha questa logica: alimentando Arduino dopo 5 o 10 secondi eccita il relè per 1 secondo per una sola volta senza tensione di riferimento, dovrebbe essere più fattibile? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 10 ottobre 2022 Segnala Share Inserita: 10 ottobre 2022 3 minuti fa, alexcanadair ha scritto: dovrebbe essere più fattibile? Non presenta particolari difficioltà così come non presenta particolari difficoltà il precedente. 4 minuti fa, alexcanadair ha scritto: ma di solito in rete si trovano dei progetti pronti Prima o poi dovrai almeno capire quello che scarichi dalla rete. Link al commento Condividi su altri siti More sharing options...
laser79 Inserita: 12 ottobre 2022 Segnala Share Inserita: 12 ottobre 2022 void setup() { pinMode(2, OUTPUT); } void loop() { if (analogRead(A0) < 10) { delay(5000); digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); } } se ho ben capito, il programma è molto semplice. questa può essere una base di partenza molto rudimentale. sul A0 colleghi il partitore, sul 2 colleghi il relè tramite un transistor. dovrai aggiustare forse la comparazione nell'if , perchè di solito le letture analogiche sono sempre un po flottanti, oltre alla tensione di riferimento che potrebbe avere anch'essa delle oscillazioni. Link al commento Condividi su altri siti More sharing options...
alexcanadair Inserita: 19 ottobre 2022 Autore Segnala Share Inserita: 19 ottobre 2022 (modificato) Il 12/10/2022 alle 15:02 , laser79 ha scritto: void setup() { pinMode(2, OUTPUT); } void loop() { if (analogRead(A0) < 10) { delay(5000); digitalWrite(2, HIGH); delay(1000); digitalWrite(2, LOW); } } se ho ben capito, il programma è molto semplice. questa può essere una base di partenza molto rudimentale. sul A0 colleghi il partitore, sul 2 colleghi il relè tramite un transistor. dovrai aggiustare forse la comparazione nell'if , perchè di solito le letture analogiche sono sempre un po flottanti, oltre alla tensione di riferimento che potrebbe avere anch'essa delle oscillazioni. Grazie Laser 😉 funziona a meraviglia! ho dovuto rettificare solo la durata del contatto relè prolungandolo di 1 secondo in più, in modo che accende il dispositivo va a rilevare la tensione di riferimento e si ferma il timer, video in allegato del funzionamento. https://files.fm/u/7z4z8vprt#/view/z55urgq39 digitalWrite(2, HIGH); delay(2000); Modificato: 19 ottobre 2022 da alexcanadair Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora