Go Down

Topic: simulazione pressione tasto con microcontroller (Read 7739 times) previous topic - next topic

vince59

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

gpb01

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
Search is Your friend ... or I am Your enemy !

gpb01

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
Search is Your friend ... or I am Your enemy !

vince59

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
https://www.youtube.com/watch?v=hJtitHMMuZo

gpb01

#4
Jul 05, 2016, 03:21 pm Last Edit: Jul 05, 2016, 03:24 pm by gpb01
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à ... ::)

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 :D


Guglielmo
Search is Your friend ... or I am Your enemy !

vince59

#5
Jul 05, 2016, 10:41 pm Last Edit: Jul 05, 2016, 10:56 pm by vince59
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à ... ::) 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 :D 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?

gpb01

#6
Jul 06, 2016, 07:15 am Last Edit: Jul 06, 2016, 07:50 am by gpb01
Magari comincia con l'ATmega328P a cui sei già abituato (è lo stesso di Arduino) quindi lo conosci bene :) 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 :)

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

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.
Search is Your friend ... or I am Your enemy !

vince59

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

gpb01

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 ;)

Search is Your friend ... or I am Your enemy !

vince59

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 :-)


vince59

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

vince59

..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? :-(

gpb01

#12
Jul 07, 2016, 03:02 pm Last Edit: Jul 07, 2016, 03:02 pm by gpb01
... Ora mi viene il dubbio...l'ATtiny porta un uscita positiva....come la faccio diventare negativa? :-(
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
Search is Your friend ... or I am Your enemy !

vince59

#13
Jul 07, 2016, 03:18 pm Last Edit: Jul 07, 2016, 03:51 pm by vince59
...porca miseria ogni tanto scopro l'acqua calda.... :smiley-confuse:

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?

gpb01

#14
Jul 07, 2016, 03:57 pm Last Edit: Jul 07, 2016, 03:57 pm by gpb01
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

Search is Your friend ... or I am Your enemy !

Go Up