Vai al contenuto
PLC Forum


Arduino nano logica auto ON mediante una tensione di riferimento


alexcanadair

Messaggi consigliati

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: da alexcanadair
Link al commento
Condividi su altri siti


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

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

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

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

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

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: da alexcanadair
Link al commento
Condividi su altri siti

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 account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...