[CAD] Creare schedina 5 bottoni per Arduino

Salve a tutti,
vorrei farmi una schedina con 5 pushbutton da collegare a un pin analogico di Arduino.
Alla pressione di uno dei tasti avrò sull’analogico un valore diverso (1023, 890, 700, 530, 300 circa).
Inoltre alla pressione di uno qualsiasi dei tasti accenderei un led blu (con resistenza da 1K).
La schedina avrà 3 pin: GND, 5V e il pin da collegare ad analogico.
Con Eagle ho fatto lo schema che allego. E’ il primo che realizzo, siate magnanimi. :blush:
Ho provato il circuito su breadboard e funziona se non collego in quel modo il led.

  1. Secondo voi come potrei inserire il led e come collegarlo?
  2. Con Eagle da Schema vorrei passare a PCB, ma non riesco a vedere quello che io ho disegnato come pista che porta il segnale al led (anche se è errato perchè con quella pista in uscita su analogico non ho più valori diversi ma un unico valore alla pressione di un qualsiasi tatso).

grazie in anticipo

5Bottoni.png

Sí, hai fatto parecchi errori e il circuito non funziona minimamente come volevi.

Metti in corto il LED quando premi un tasto e eprcui siccuramente non si accende. Si accende leggermetne quando non é premuto nessun pulsante. Tutti i pulsanti sono messi in paralello. non c'é nessuna differenza tra l'azionamento dei diversi pulsanti. Le resistenze R2 a R5 sono cortocirquitati.

Non puoi avere il LED che si accende se non usi: * Pulsanti con doppio contatto indipendenti tra di loro. * LED pilotato da Arduino * circuito con transistori o amplificatori operazionali che accendono il LED.

Ciao Uwe

Se tolgo quel maledetto led, ho questo schema che mi sembra funzionare su breadboard.
Su analogico leggo all’incirca 1023, 890, 700, 530, 300 rispettivamente alla pressione di S1, S2, S3, S4, S5.

E’ praticamente lo schema che ho visto qui, i keybutton di alcuni lcd (ho invertito 5v e GND)

5button.png

Ciao, hai provato a dare un'occhiata al solito ABC http://forum.arduino.cc/index.php?topic=146152.0 scheda 21 22. Quello schema funziona e puoi rilevare anche la pressione di più tasti.

uwefed: Si accende leggermetne quando non é premuto nessun pulsante.

no, non si accende nemmeno in quel caso, visto che e' messo al contrario :)

nid non dire bugie :) tu non togli solo il led, togli anche quelle maglie che ti tengono in parallelo-serie, meglio dire ingarbugliate, tutte le resistenze. poi anche lasciare lo schema cosi' come lo hai fatto tu (senza led e senza maglie interconnesse), ed il led lo piloti con un'uscita a parte dal micro, cioe' imposti che ad ogni valore di A0 xxx, lo accendi

pighixxx:
Ciao, hai provato a dare un’occhiata al solito ABC http://forum.arduino.cc/index.php?topic=146152.0 scheda 21.
Quello schema funziona e puoi rilevare anche la pressione di più tasti.

No, non avevo preso spunto da quello ma è identico. Come quello riportato da Alfieri al link che ho indicato precedente e che spiega come sono i kbd di alcuni lcd (solo che quelli sono LOW quando li premi mentre io preferisco HIGH quando li premi).

@testa di sicuro ho inserito il led al contrario rispetto alla realtà. Su breadboard si accende, ho difficoltà a riportare i componenti su disegno Eagle. :blush: Ho chiesto a @pighi come trovare i pushbutton in eagle 6 e lui mi ha detto di importare le librerie adafruit altrimenti manco li trovato. Per il led, hai ragione mi spiego male. Tolgo tutte quelle maglie che servivano nelle mie intenzioni ad alimentare il led. Sorry. Intendevo tolgo il led e quindi quel casino di maglie.

Partendo dal secondo circuito, avevo provato a mettere il led che si accende quando alimento il circuito, okay ma è banale.
Poi ho alimentato il led da dove prendo il segnale per A0 e in parte funziona, ma il led si accende a intensità variabile, quasi invisibile alla pressione di S5 (led rosso, con il blu ho troppi volt di caduta) (*).

i vari suggerimenti di @uwe:

  1. i pulsanti che ho sono a doppio contatto come questo:
    http://www.ebay.it/itm/180732232689?var=480039435266&ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_1732wt_1084
    come dovrei modificare il circuito?
  2. led pilotato da Arduino lo vorrei evitare.
  3. transistor, potrei applicarlo prendendo il segnale che porto ad A0 (*)? anche se debole lo amplifico tanto da accendere il led?

Testato:

uwefed: Si accende leggermetne quando non é premuto nessun pulsante.

no, non si accende nemmeno in quel caso, visto che e' messo al contrario :)

Questa "finezza" non ho guardato ;) ;) Ciao Uwe

vari suggerimenti di @uwe: 1. i pulsanti che ho sono a doppio contatto come questo: http://www.ebay.it/itm/180732232689?var=480039435266&ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1497.l2649#ht_1732wt_1084 come dovrei modificare il circuito? 2. led pilotato da Arduino lo vorrei evitare. 3. transistor, potrei applicarlo prendendo il segnale che porto ad A0 (*)? anche se debole lo amplifico tanto da accendere il led?

Usa il circuito del reply 2.

1) Quel tipo di pulsanti hanno 4 piedini ma solo un contatto. Se ne trovi metti in paralello tutti i secondi contatti dei pulsanti e accendi il LED Il LED in serie alla resistenza e il contatto rea +5V e massa. 2) ok 3) colleghi un transistore darlington NPN con una resitenza di 10kOhm o piú grande sulla base a A0. L' emettitore a massa e il LED tra +5V con la sua resistenza al collettore. Serve un transistore darlington con una amplificazione alta per caricare il meno possibile il partitore resistivo. Per questo anche la resistenza base alta. Se usi un operationale colleghi un entrata a A0 e l'altra entrata su un partitore resistivo che genera ca 1V. Sul uscita il LED con la sua resistenza. È meglio usare un LED rosso che uno blu perché ha una tensione in polarizzazione diretta piú bassa. opure un amplificatore operazonale con uscita Rail to Rail. Se fai il circuito in modo che l' uscita del operazionale va a massa puoi usare anche metá di un LM258.

Ciao Uwe

uwefed:
3) colleghi un transistore darlington NPN con una resitenza di 10kOhm o piú grande sulla base a A0. L’ emettitore a massa e il LED tra +5V con la sua resistenza al collettore. Serve un transistore darlington con una amplificazione alta per caricare il meno possibile il partitore resistivo. Per questo anche la resistenza base alta. È meglio usare un LED rosso.

Molte grazie ancora.
Allego un disegnino fatto in fretta, ho un TIP120 NPN

xxx.gif

io userei il discorso del doppio contatto se vuoi avere un circuito pulitissimo, senza andare a toccare A0, specialmente se hai gia' i pulsanti perche' non usarli ?

se ti piace invece il transistor, va bene questo schema, pero' invece di quella bestia prenderei un piu' piccolo BC517, per la resistenza di collettore devi calcolarla in base al led, ad esempio per un rosso e' meglio una 330Ohm

@nid69ita Il circuito va bene e stavolta anche la polaritá del LED. ;) ;) ;) Vedi se la resistenza di base non devi mettere una da 22kOhm o 47kOhm perché un 10kOhm carica troppo il partitore.

Testato: io userei il discorso del doppio contatto se vuoi avere un circuito pulitissimo, senza andare a toccare A0, specialmente se hai gia' i pulsanti perche' non usarli ?

Trova prima un pulsante con doppio contatto poi ne parliamo. Non credo che nid69ita ne ha.

Testato: se ti piace invece il transistor, va bene questo schema, pero' invece di quella bestia prenderei un piu' piccolo BC517, per la resistenza di collettore devi calcolarla in base al led, ad esempio per un rosso e' meglio una 330Ohm

Hai ragione che il TIP120 é un po esagerato perche regge 5A ma per provare va bene. Poi si puó comprare uno piú piccolo. Il LED scelto é uno blú percui un 220 Ohm va bene anzi potrebbe essere troppo grande.

Ciao Uwe

Grazie ancora a tutti. :D Pulsanti doppio contatto non ne ho. Unico darlington che ho è il TIP120, provo con quello poi per fare la millefori prenderò un BC517 come suggerito da @testa

P.S. certo che il primo schema... mi vergogno un pò... vebbè sono un programmatore.... =(

nid69ita: P.S. certo che il primo schema... mi vergogno un pò... vebbè sono un programmatore.... =(

Nessun problema, lo sappiamo. Ciao Uwe

Se tu vedessi i miei algoritmi difficilmente smetteresti di ridere :) Il bello è proprio l unione di questi due mondi

Ho ancora bisogno del vostro aiuto, nell'usare Eagle. Partendo dal secondo schema (senza led e senza il casino di maglie), in Eagle vorrei passare a disegnare il PCB. Solo che quei "punti" che io ho indicato V+, GND, A0 non li vedo in modalità PCB. Quei punti per me dovrebbero essere poi su PCB un connettore strip line a 3 pin (si chiamano così? ) tipo questo link: http://www.ebay.it/itm/Connettori-strip-line-40-poli-maschio-5-PEZZI-/330685019425?pt=Attrezzature_e_strumentazione&hash=item4cfe5cf521&_uhb=1

In Eagle come devo indicare un connettore? Nei tutorial trovo sempre solo esempi con batterie (che hanno il + e il GND). Grazie ancora.

nid69ita: ... In Eagle come devo indicare un connettore? ...

Nella libreria cerca "pinhead" e ne hai per tutti i gusti. Inserisci quello che vuoi e ti vengono create così le piazzole per saldarlo ;)

Guglielmo

Edit : Per esattezza, nel tuo caso, PINHD-1X3 :)

Grazie. Il non sapere i nomi dei componenti in inglese è un casino con Eagle. @pighi mi ha suggerito di caricare la libreria di componenti della Sparkfun. Devo caricarne altre o basta quella?

Editato, grazie @pighi :grin:

nid69ita: (cut) @pighi mi ha suggerito di caricare la libreria di componenti della Adafruits. Devo caricarne altre o basta quella?

della Sparkfun...

nid69ita: Grazie. Il non sapere i nomi dei componenti in inglese è un casino con Eagle. @pighi mi ha suggerito di caricare la libreria di componenti della Adafruits. Devo caricarne altre o basta quella?

Molti produttori di componenti rilasciano le "librerie EAGLE" per i loro componenti, quindi la risposta è ... carica quelle che ti occorrono per il disegno in funzione di ciò che usi. :)

Guglielmo

P.S. : Quella di Adafruits è molto utile perché contiene moltissimi dei prodotti normalmente utilizzati con Arduino ;)