simulazione pressione tasto con microcontroller

Salve a tutti, mi trovo nella necessità di azionare due volte un pulsante (elettronico) per mettere un apparecchiatura nello stato desiderato. Non avrei problemi con arduino ma mi costringe ad alimentazione supplementare e difficile posizionamento.
Vorrei quindi utilizzare un microcontrollore - cosa già fatta da altri ma non riesco a capire come - avete qualche suggerimento?
Grazie

Perdona, non mi è chiaro il senso della domanda ... Arduino È un microcontrollore con un po' di elettronica attorno ... invece tu esattamente cosa vuoi ? E come pensi di alimentare il tutto dato che scrivi "mi costringe ad alimentazione supplementare" ?

Spiega meglio cosa vuoi fare ...

Guglielmo

Ah ... NON avendolo tu ancora fatto, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

Ciao grazie del riscontro, credevo di essermi già presentato, forse l'ho fatto sul sito inglese.
Dunque ho un caricabatterie che, una volta collegato alla corrente, per posizionarsi su ricarica necessita la pressione di un tasto per due volte.
Sono cosciente della possibilità di farlo tramite arduino ma questo mi costringe ad utlizzare una board aggiuntiva ed alimentarlo separatamente e ciò ne complica la realizzazione per motivi di spazio.
Ho visto sul web che un tizio ha realizzato la modifica usando un microcontrollore del quale però non si vede sigla. Ha semplicemente alimentato il PIC prelevando l'alimentazione dalla stessa board del CB e collegato un pin (uscita) sul tasto cui ho fatto riferimento...si tratta infatti di dare massa (immagino) per due volte.
Il chip è stato inserito nella scatolina del CB evitando qualsivoglia dispositivo e/o alimentazione esterna.
Ecco il video

Ok ... compra un ATmega328P, programmi i fuse per clock interno (così non ti serve il quarzo esterno), ci metti dentro il codice da Arduino e lo colleghi ... purché riesci a trovare la giusta alimentazione (max 5V) non vedo difficoltà ... ::slight_smile:

Anzi, per quello che deve fare, ti scarichi dal repository ufficiale il "core" per gli ATtiny, prendi un ATtiny85 (DIP8) che è più che sufficiente ... e occupi ancora meno spazio :smiley:


Guglielmo

Grazie sei davvero gentile e molto preparato...ti invidio la preparazione. Però così non ti libererai facilmente di me perchè devo farcela:

Ok ... compra un ATmega328P,...FACILE questo

programmi i fuse per clock interno (così non ti serve il quarzo esterno), QUI già devo studiare.

ci metti dentro il codice da Arduino QUI devo studiare pure

e lo colleghi ... purché riesci a trovare la giusta alimentazione (max 5V) non vedo difficoltà ... ::slight_smile: QUI non vedo difficoltà nemmeno io

Anzi, per quello che deve fare, ti scarichi dal repository ufficiale il "core" per gli ATtiny, prendi un ATtiny85 (DIP8) che è più che sufficiente ... e occupi ancora meno spazio :smiley: per capire questo devo studiare un pò

L'ultimo passo mi sembra quello più sintetico però mi vergogno un pò a dire che ho compreso solo grossolanamente ciò che mi hai suggerito.
Devo comprare l'ATtiny85;
scaricare il core che immagino sia software....e qui le domande sorgono...come lo "sparo" nel chip?
Devo "scrivere" istruzioni per far fare ciò che desidero?

Magari comincia con l'ATmega328P a cui sei già abituato (è lo stesso di Arduino) quindi lo conosci bene :slight_smile: poi ti devi fare una basetta per la programmazione ISP del chip perché, i FUSE, con il chip montato sul tuo Arduino non li programmi. Poi dovrai caricare il programma "Arduino as ISP" sul tuo Arduino per programmare i fuse del chip ...

Direi ch puoi cominciare a studiare QUI ... guarda il capitolo "Circuit (targeting an AVR on a breadboard)" e poi guarda QUI :slight_smile:

Ah ... se poi con Google cerchi "Arduino Standalone", ti vengono fuori circa 470'000 risultati ...
... ne hai da leggere :grin: :grin: :grin:

Guglielmo

P.S.: Il codice naturalmente prima lo sviluppi su Arduino, fai tutte le prove e, solo dopo, quando sei sicuro che funziona, lo vai a caricare sul chip standalone.

Grazie ancora per gli assist.
Da ieri sera mi è già chiaro che:

  • dovrò caricare su arduino lo skecthISP (ho già curiosato);
  • dovrò "operare" su breadboard per la programmazione del chip;
  • dovrò sviluppare il codice da caricare testandolo prima su arduino.

Mi sembra di capire che per programmare ATtiny (mi è più simpatico) devo settare su arduino la gestione scheda ATtiny, tuttavia non sono riuscito a trovare il core ATtiny85 per la IDE 1.6.7 di cui dispongo..quindi non "vedo" nel menu la possibilita di caricare Attiny.

Hai indicazioni a riguardo?

Grazie ancora

Scarica l'ultima versione dell'IDE ... 1.6.9 ... le precedenti avevano vari buchetti ...

Fatto questo, vai nelle "preferenze" e aggiungi in "Additional Boards Manager URLs" il seguente indirizzo:

http://drazzy.com/package_drazzy.com_index.json

... poi vai nel "Board Manager" e vedrai che puoi installare il "core" per ATtiny.

Guglielmo

P.S.: Nota personale ... mi farei prima "le ossa" con gli ATmega328P standalone prima di mettermi a giocare con gli ATtiny standalone :wink:

ok...nel frattempo avevo già predisposto il tutto caricando la vecchia IDE 1.0.5 e riuscendo a vedere Attiny e settare il tutto.

Cmq sia farò ANCHE come suggerisci per imparare...anzi grazi ancora perchè già ho imparato qualcosa di nuovo solo da ieri sera.

La scelta di partire con l'ATtiny mi risolverebbe i problemi di spazio nel caso specifico che è ...urgente.

...spero di riuscire ad imparare di più...coinvolgerò anche l'ingegnere elettronico di casa :slight_smile:

ok tutto predisposto...manca solo la parte hardware ed il codice :slight_smile:

..dunque anche il codice è pronto sto aspettando che arrivi in microcontroller...

Ho aperto il caricabatterie e verificato che il pulsante chiude il negativo sull'IC pilota. Ora mi viene il dubbio...l'ATtiny porta un uscita positiva....come la faccio diventare negativa? :frowning:

vince59:
... Ora mi viene il dubbio...l'ATtiny porta un uscita positiva....come la faccio diventare negativa? :frowning:

Ehhhh :o :o :o

Che vuol dire ? ... ogni pin degli ATmega/ATtiny se messo HIGH collega il pin a +Vcc, se messo LOW collega il pin a GND !

Piuttosto, mi raccomando il rispetto dei limiti di corrente che sono specificati sul datasheet ... normalmente il pin NON è in grado di far scorrere più di 20/30 mA ... dopo di che si danneggia, quindi ... verifica che corrente scorre quando colleghi quel pin a GND !
Guglielmo

...porca miseria ogni tanto scopro l'acqua calda.... :confused:

quindi per portare il negativo dal push-button al piedino del microchip pilota devo SOLO programmare il chip ATtuny affinchè dia due impulsi LOW a distanza di mezzo secondo e dovrei aver ottenuto l'effetto del pulsante premuto due volte...giusto?
quindi il codice sarà:

  • settare il pin come output;
  • impulso LOW
  • attesa 250 /500 ms;
  • impulso HIGH
  • attesa 250/500 ms
  • impulso LOW

...corretto?

Si ...
... programmi il pin come OUTPUT, lo metti HIGH e quando serve fai la sequenza che hai detto, terminando riportandolo HIGH.

Devi solo verificare ...

  1. quando non è premuto il tasto che tensione c'è sul pin
  2. quando forzi il pin a GND che corrente scorre

Guglielmo

ho seguito tutto e salta furoi il problema che il bootloader non viene caricato sull'ATtiny85 perchè arduino trova un chip diverso.....eppure tutto torna...come ne esco fuori?

risolto: piedino errato

Bootloader ? ? ? :o :o :o Su un ATtiny85 ? ? ? :o :o :o

Hai voglia di buttare inutilmente preziosi Kb che NON ti servono a nulla ? :smiling_imp:

Gli ATtiny85 si programmano in ISP, altro che bootloader :smiley: ... ed impara ad usare programmi come AvrDudess, o simili (con Google ne trovi svariati), con cui ti programmi i FUSE ed usa l'IDE solo per il caricamento del codice via ISP.

Ovvio che ti DEVI studiare bene il datasheet e capire quali FUSE vai a toccare, altrimenti ... butti i chip !

Guglielmo

gpb01:
Bootloader ? ? ? :o :o :o Su un ATtiny85 ? ? ? :o :o :o

Hai voglia di buttare inutilmente preziosi Kb che NON ti servono a nulla ? :smiling_imp:

Gli ATtiny85 si programmano in ISP, altro che bootloader :smiley: ... ed impara ad usare programmi come AvrDudess, o simili (con Google ne trovi svariati), con cui ti programmi i FUSE ed usa l'IDE solo per il caricamento del codice via ISP.

Ovvio che ti DEVI studiare bene il datasheet e capire quali FUSE vai a toccare, altrimenti ... butti i chip !

Guglielmo

...urca che tirata d'orecchie :frowning:

Il bootloader era indicato nell'esempio trovato nel web. Non serve? Per i fuse devo studiare....ora devo testare il device. L'unico timore - non so perchè lo abbia - è che il PIN del ATtiny non colleghi a ground quando su LOW...vediamo un pò.

vince59:
... L'unico timore - non so perchè lo abbia - è che il PIN del ATtiny non colleghi a ground quando su LOW...vediamo un pò.

Ehhhh ? ? ? :o :o :o

Guarda che basta che ti studi il datasheet e capisci ...
... anzi ... pagina 54, figura 10-2 ... hai lo schema interno di collegamento di un singolo pin :smiling_imp:

Guglielmo

gpb01:
Ehhhh ? ? ? :o :o :o

Guarda che basta che ti studi il datasheet e capisci ...
... anzi ... pagina 54, figura 10-2 ... hai lo schema interno di collegamento di un singolo pin :smiling_imp:

Guglielmo

Gugliemo, è troppo vani sta roba per me...nn sono un elrttronico :frowning: