Accensione con pressione prolungata

Buongiorno a tutti, spero sia la sezione giusta perchela domanda non riguarda di fatto solo ed esclusivamente il mondo arduino. Andando al punto: sto realizzando un progettino che prevede il controllo di 4 pulsanti (con semplici collegamenti pull-down ai relativi pin), un lcd e altri sensori. Sarebbe possibile usare uno dei 4 pulsanti anche per accendere e spegnere tutta la scheda arduino (quindi con un rele a monte) tenedolo premuto a lungo?

In pratica: i quattro pulsanti sono P0, P1, P2 e P3. Tutti e quattro hanno delle loro funzioni ben precise codificate nello sketch caricato sull'atmega. Quello che vorrei implementare ela possibilita di accendere e spegnere tutto con una pressione prolungata su P0 (3-4 secondi?). Forse con un circuito RC? o un piccolo relea tempo? Sono certo che qualche domanda simile in tutti questi anni di forum e sicuramente stata posto ma evidentemente non sono stato in grado di cercare con le parole chiave corrette.

Grazie, Cesare :)

Lo puoi fare con un circuito esterno, NON tramite Arduino dato che, se lo spegni togliendogli l'alimentazione, ovviamente NON sarà più in grado di rilevare la pressione del pulsante.

Non ti far ingannare dai vari telefonini, tablet, PC e quant'altro ... spesso la sezione del pulsante di ON/OFF rimane sempre alimentata anche se tutto il resto sembra essere spento.

Guglielmo

Beh che sia da fare con circuiteria esterna sono d’accordo e mi sta bene. Tenere questa circuiteria in piu` sempre alimentata mi piace poco come idea :frowning: Tuttavia non mi vengono in mente molte altre soluzioni :frowning:

Ciao, scusate la mia banale domanda, ma vuoi spegne fisicamente arduino o spegnere le uscite? Se vuoi spegnere arduino non basterebbe un interruttore on/off sull'alimentazione del positivo? Forse non ho capito lo scopo Ciao Giovanni

@gio69t: basterebbe un interruttore on/off, esattamente. Pero` vorrei realizzare un pulsante "alla smartphone", che se premuto a lungo da spento (quindi non entra in gioco lo sketch) accende tutto. Ad occhio direi che devo "giocare" con un circuitino RL e uno o due fotoaccoppiatori...

Per risolvere il problema puoi:

1_ usare un Arduino standalone, ovvero il solo ATmega 328 senza tutta l'elettronica di contorno che trovi su una scheda Arduino, tipo la UNO. Progettando una scheda ad hoc puoi mettere in sleep il micro, in pratica lo addormenti senza spegnerlo mai del tutto. In questa modalità il consumo è talmente basso che le batterie durano anni. Dando tensione ad un determinato pin il micro si risveglia e fa quello che vuoi tu.

Devi però progettare tutto in modo che il solo consumo in modalità sleep sia quello del micro. Ecco perchè su una board tipo la UNO mettere il micro in sleep non serve a nulla, l'elettronica di contorno continua a consumare energia.

2_ come dice Guglielmo utilizzi un circuito esterno. La prima cosa che mi viene in mente è utilizzare un secondo micro, tipo un Tiny85, in modalità sleep come al punto 1. Al risveglio, tramite transistor o mosfet, da tensione a tutto il tuo sistema, scheda Arduino inclusa.

Forse si può fare anche con qualche OPAmp ma non sono ferrato su quelli

Mmm... Forse mi è venuta in mente una idea: Se colleghi l'interruttore ad alimentazione e poi ad un condensatore di dimensioni adeguate (magari con una resistenza in serie) e colleghi questa parte di circuito sia a massa che ad una porta logica NOT e poi l'uscita di quest'ultima al relé che fa da interruttore per arduino; dovrebbe essere giusto, certo con questo circuito puoi solo spegnere Arduino e non riaccenderlo, e ci sarebbe il problema del condensatore che non mantiene la carica all'infinito, ma sono sicuro che con un po' di elettronica digitale in più si possa risolvere.

P.S: appena riesco ti mando lo schema del circuito.

Capito... butto lì un'idea, ma se usi il P0 testato con i millis, e se la condizione è vera salti tutta la routine del programma? Così eviti "accrocchi" strani. Però dipene se devi per forza spegnere Arduino o no Ciao Giovanni

NientediTwee: @gio69t: basterebbe un interruttore on/off, esattamente. Pero` vorrei realizzare un pulsante "alla smartphone", che se premuto a lungo da spento

T'ho già detto che ti fai "ingannare dal tuo occhio" che vede l'apparato spento ... ... il telefonino NON è affatto spento, è in modalità "sleep" e quel pulsante lo risveglia da tale modalità.

TUTTI i vari telefonini, tablet, pc e chi più ne ha più ne metta, funzionano così, quindi ... o usi un circuito esterno o segui il punto 1 della risposta #5.

Guglielmo

https://drive.google.com/open?id=0BwPPapCFshubZVZSZnhHczI0NjA

Scusa per la grafica orribile, avevo solo paint :slight_smile:

gio69t: Capito... butto lì un'idea, ma se usi il P0 testato con i millis, e se la condizione è vera salti tutta la routine del programma? Così eviti "accrocchi" strani. Però dipene se devi per forza spegnere Arduino o no Ciao Giovanni

Non ti seguo. Cosa intendi per testare?

Math255: Non ti seguo. Cosa intendi per testare?

Se P0 è premuto per 1 secondo fai le tue operazioni normali, se il P0 è premuto per 30 secondi simuli lo spegnimento (spegni tutte le uscite, e salti tutto il programma, ecc. ecc)

@doppiozero: la soluzione 1 mi sembra davvero la migliore in quanto, dovro` appunto usare un atmega328 standalone. Grazie.

@Math255: molto interessante, provero` sicuramente. (Con paint sei in mago, un mio disegno sarebbe venuto MOLTO peggio D: ).

@gpb01: grazie, ora mi etutto molto piu chiaro :)

NientediTwee:
@doppiozero: la soluzione 1 mi sembra davvero la migliore in quanto, dovro` appunto usare un atmega328 standalone. Grazie.

@Math255: molto interessante, provero` sicuramente. (Con paint sei in mago, un mio disegno sarebbe venuto MOLTO peggio D: ).

@gpb01: grazie, ora mi e tutto molto piu chiaro :slight_smile:

Un mago? E’ tutto da vedere!
In effetti però la prima soluzione è meglio, se poi serve fare qualcosa che Arduino non può o non deve fare si può sempre ricorrere al microcontrollore.

Si, l'attiny85 in sleep e un'ottima idea. Grazie a tutti ragazzi, mi avete dato ottimi spunti :D

… ma usare una manciata di banali componenti vecchio stile no ? … tecnomaniaci ! (:stuck_out_tongue: :D)

PULS-3FUNZ.png

Schemino proprio buttato li al volo … pulsante, un paio di diodi per disaccoppiare l’ingresso di arduino (che rilevera’ le pressioni brevi) dal circuitino del darlington (che pilotera’ un rele’, mosfet o quant’altro per l’alimentazione … e sara’ comandato sia da un’uscita di arduino che dal pulsante, attraverso un 337, con all’ingresso un partitore resistivo di un certo valore (le correnti sarebbero piccole, da cui l’uso obbligatorio del darlington) …

Caso uno, tutto spento, il pulsante collega il positivo ad un condensatore tramite una resistenza di un certo valore, per cui si carica lentamente, attraverso uno zener quando la tensione supera la soglia il darlington va in conduzione ed alimenta il tutto (a riposo tutto e’ scollegato, niente rimane in standby, quindi a parte forse la corrente di perdita interna di qualche componente, probabilmente qualche nanoampere, non dovrebbe consumare), quando la tensione sul condensatore supera la soglia dello zener piu la VBE il darlington va in conduzione ed accende il mosfet, che alimenta il circuito e contemporaneamente mantiene il darlington acceso con la resistenza di ritorno.

Caso due, arduino acceso, il pulsante viene letto da arduino (non influisce piu sul resto del cicuito, ed il secondo zener protegge l’ingresso dalla tensione piu alta dell’alimentazione), pressioni brevi verranno interpretate dallo sketch come comandi, pressione prolungata, arduino manda ad uno il pin collegato al BC337 forzando a massa la base del darlington, che si spegne e toglie il comando al mosfet, spegnendo il tutto …

Bisogna giocare con i valori, principalmente la resistenza che ho marcato “33K ?” e l’elettrolitico che non ho quantificato, per i tempi, probabilmente 100uF dovrebbero bastare, e fare qualche esperimento, perche’ l’ho buttato giu al volo e non ho materialmente il tempo di provarlo, ma cosi ad occhio dovrebbe essere il sistema piu semplice, senza l’uso di altre MCU in standby o roba simile … :wink:

EDIT: probabilmente si puo usare anche con un pacco di batterie sui 7V, tipo LiPo o simili, usando uno zener da 3.3V sulla base del darlington … :wink:

..ma qui ci saranno almeno 2€ di componenti, io con 1.80€ avevo risolto :stuck_out_tongue:

però ti invidio Etem, io per buttare giù uno schema come quello dovrei pensarci un mese e poi non funzionerebbe :stuck_out_tongue_closed_eyes:

E' il vantaggio (uno dei pochi, pero') di essere "diversamente giovani" :D

Io con quelle strane cose obsolete chiamate "componenti discreti" (:P) ci sono cresciuto, le ho usate per anni, ci ho pure ferocemente litigato qualche volta, per cui mi risulta ormai piu facile immaginarmi uno schema come quello, piuttosto che un programma che faccia la stessa cosa su un micro ... all'opposto, le "nuove generazioni" che sono cresciute a pane ... pardon, ora si dice "snack" (:D) e microchip, si trovano meglio con le soluzioni software ... conosco ragazzi di 12 / 13 anni che usano il PC e programmano meglio di me che ci lavoro da quasi 40 :D

@Etemenanki: gran bello schema, forse eproprio quel che cercavo, me lo studio per bene. Come hai detto avrebbe un consumo da spento di fatto nullo e la cosa mi piace. Tuttavia avendo a bordo un controllore in piu potrei usarlo per qualche piccolo compitino...

Grazie, Cesare.