Vediamo se riesco a spiegarti i collegamenti da fare..è più facile a farsi che a dirsi
Collegamento del bottone
Il bottone viene utilizzato nel progetto per dire ad arduino se deve aprire/chiudere il casco ed in relazione all'operazione da eseguire se deve spegnere/accendere i led. La pressione del bottone che passa da stato "aperto" a stato "chiuso" è un segnale analogico di input e pertanto deve essere collegato ad una porta analogica. Le porte analogiche sono contrassegnate dalla lettera A (analogic) seguita da un numero che indica (appunto) il numero della porta analogica. Per collegarlo devi semplicemente collegare uno qualunque dei due piedini del bottone ad una porta analogica (ad esempio la porta A0) e l'altro pin va a massa, cioè in GND di arduino.
Collegamento dei led
I led devono essere accesi e spenti in correlazione allora stato del bottone per cui devono essere pilotati da una porta digitale (che da codice andrà settata come output). Le porte digitali di arduino sono quelle contrassegnate con la lettera D (digital) seguita da un numero che indica il numero della porta. Devi collegare 8 led quindi dovrai usare 8 porte. Per chiarirci puoi utilizzare (ad esempio) le porte da D2 a D9. Come ti hanno già detto, è necessario mettere in serie una resistenza da 180ohm. Quindi :
- Prendi un cavo con connettore Dupont femmina e collegalo alla porta D2 di arduino
- Spela l'altra estremità del cavo e saldalo insieme ad un terminale qualsiasi della resistenza da 180ohm
- Adesso prendi il secondo terminale della resistenza e saldalo con il terminale più lungo del led (cioè l'anodo)
- Prendi un cavo con connettore Dupont maschio e spela un'estremità
- Salda insieme la parte spelata con il restante terminale del led
Per adesso lascia "penzolante" la parte di cavo con il connettore Dupont maschio, ci torniamo tra un attimo. Adesso ripeti questo procedimento fino a che non hai collegato gli 8 cavi-resistenza-led alle porte da D2 a D9. A questo punto prendi tutti i connettori Dupont che avevamo lasciato liberi e collegali insieme (puoi saldarli o usare un mammuth, probabilmente è più conveniente quest ultimo). A questi cavi raggruppati aggiungine un altro che farà da ponte di collegamento con la massa (GND) di arduino. Quindi, salda (o usa il mammuth) per collegare insieme gli 8 cavi provenienti dai led più un nono cavo avente all'altra estremità un connettore Dupont femmina. Quest'ultima parte del cavo dovrà essere collegata al GND di arduino.
Collegamento dei servo
Anche i servo vanno collegati singolarmente alle porte digitali. Consideriamo di usare le porte D10-D11 di arduino. Individua il cavo di segnale "pulse" del servo (solitamente rosso e nero sono l'alimentazione mentre il cavo "pulse" è giallo o blu). Collega il pulse del servo1 alla porta D10 ed il pulse del servo2 alla porta D11.
Alimentazione Scheda
Prendi il pacco batterie con i due cavetti rosso e nero. Collega con un mammuth (o salda) il rosso del pacco batterie con altri tre cavetti di cui uno con connettore Dupont maschio e gli altri due con connettore Dupont femmina , e fai lo stesso per il cavo nero. Il motivo di questo "split" di cavi sarà chiaro nel prossimo paragrafo
Adesso prendi il cavo rosso con connettore Dupont femmina e collegalo alla porta VIN di arduino. Allo stesso modo prendi il cavo nero con connettore Dupont femmina e collegalo alla porta GND di arduino.
Alimentazione Servo
Ecco a cosa servono i due cavi con connettore Dupont maschio! Prendi i cavi rossi con Dupont maschio e collegali ad i connettori Dupont femmina (con cavo rosso) del servo. Fai lo stesso per i cavi neri.
Bene, abbiamo completato tutti i collegamenti
spero di essere stato abbastanza chiaro. Se hai dubbi basta chiedere.
Scheletro del software
Ho già scritto molto e sono un pò stanco quindi non ti fornisco il codice già pronto (e anche se non fossi stanco non lo farei
vuoi toglierti la soddisfazione di scrivertelo da te?) però ti scrivo per grandi linee quale potrebbe essere la logica del programma.
- Inizializza i pin nel setup(). I pin con i led sono degli output, così come i pin dei servo, mentre il pin del bottone è un input
- Porta entrambi i servo a 0°
- Dichiara una variabile booleana (è di tipo vero/falso, ed inizialmente sarà settata a "falso" perchè inizialmente il bottone non è ancora stato premuto) che memorizza l'ultimo stato del bottone. In questo modo puoi controllare ciclicamente (nella funzione loop() ) lo stato della porta A0 (quella del bottone). Così facendo puoi scrivere delle istruzioni del tipo :
stato : false
bottone premuto?
no -> continua a controllare
bottone premuto?
si -> controlla stato precedente -> stato precedente : false, nuovo stato : true -> muovi i servo (apri) e spegni i led
bottone premuto?
si -> controlla stato precedente -> stato precedente : true, nuovo stato : false -> muovi i servo (chiudi) e accendi i led
Spero di esserti stato d'aiuto
se puoi, potresti postare qualche foto? sono curioso di vedere come hai modellato il casco di IronMan ;D