Nabbo totale: aiuto per progetto scolastico - Muovere 1 servo e accendere leds

Buongiorno ragazzi, premetto che sono completamente digiuno di arduino, questa sarebbe la mia prima esperienza.

Il progetto è relativamente semplice, l'unico problema è che ho bisogno di occupare meno spazio possibile. Si tratta di premere un tasto, per far muovere un servo ed accendere una serie di leds. Alla pressione successiva, i leds si spengono e il servo torna nella posizione originale.

Partiamo dai componenti di cui ho bisogno:

  1. Servo: stavo pensando a un SG90 che ho trovato intorno ai 4 euro. L'ideale tuttavia sarebbe poterne mettere 2, che ruotino in maniera opposta, in modo che se li metto uno a sinistra e uno a destra in posizione opposta (come fosse uno specchio) ruotino entrambi in su o in giu.

  2. Arduino: mi serve il più piccolo. Ho visto il mini pro, il nano.. ma onestamente sono troppo inesperto per poterne scegliere uno. Mi basta che faccia ciò che voglio fare, e che sia programmabile da pc.

  3. Alimentazione: l'idea è di avere un pacco pile, stavo pensando alle classiche 2 stilo che dovrebbero entrarmi.

  4. Altri componenti e perché: credo di aver capito che ho bisogno di una breadboard quanto meno per test? Cavi e cavetti.. quali? Leds bianchi, vanno bene tutti? Mi piacevano ad alta luminosità. Cavo per collegare arduino a pc, quale? Bottone: sarebbe una figata se fosse senza fili, altrimenti pazienza va bene anche normale, ma quale?

  5. Costruzione: che mi serve? Ci vuole un saldatore?

Mi spiace per le innumerevoli domande, ma come già preannunciato sono alla mia prima esperienza. Ho abbastanza dimestichezza coi pc, col fai da te ecc, quindi non credo di avere troppi problemi a livello pratico. Ma è proprio la parte teorica che mi manca, e soprattutto, non so che comprare per iniziare a provare :smiley:

Grazie a chiunque avrà la pazienza di aiutarmi

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

Ciao nid, ho scritto il post di presentazione, e editato il titolo in modo da dare un'idea su ciò che voglio fare.

Mi vado a leggere gli altri link da te suggeriti!

Se vuoi un Arduino piccolo io opterei per il Nano, lo programmi come Arduino Uno, basta scegliere nell'IDE (software di programmazione) la scheda (board) giusta.
La mini pro manca del connettore usb, perciò devi prendere un modulo usb-ftdi

In teoria con una breadboard non c'e' nulla da saldare, ma devi usare dei cavetti tipo i dupont oppure fili a spellare con anima rigida tipo quelli dentro ai vecchi cavi telefonici. Però con questi dopo un pò la breadboard la scassi.

Servo SG90 se non devi muovere roba pesante va bene. E' piccolo ma non ha molta forza.
Bottone, un semplice pushbutton. Ci sono con cappuccio colorato di varie dimensioni.
Led ad alta luminosità si, ma non quelli da 1W, quelli son difficili da usare.
Poi ogni led DEVE avere la sua resistenza adeguata. Arduino a 5V, di solito x led rosso o giallo resistenza da circa 270ohm, led verde o blu->180 ohm

2 stilo ? 1,5V * 2 => 3 Volt non bastano.

Perfetto, intanto abbiamo risolto il problema nano vs mini !

Per la breadboard avevo capito che con quella non c'era nulla da saldare ma.. proprio perché devo risparmiare spazio, si può anche eliminare? O quanto meno ne esiste una versione "mini"? :smiley:

SG90 avevo anche io la paura che fossero troppo deboli, per questo avevo preso in considerazione l'opzione di metterne 2.. ho chiesto anche al negoziante ma penso che ne capisca meno di me :frowning: In sostanza deve sollevare una piastra di plastica, magari più tardi la peso così vediamo se è fattibile!

Per quanto riguarda leds, me ne servono 6, forse 8, metà da una parte e metà dall'altra. Tutti bianchi. Quindi mi serviranno relativamente 6-8 resistenze?

Per le pile hai perfettamente ragione, non ci avevo pensato. Ho un pacco pile da 4 qui nel cassetto, dovrebbe andar bene giusto?

Per quanto riguarda i fili, girando in rete ho trovato versioni male-male, female-female, male-female. Non avendo mai visto i componenti hardware, non saprei quali segliere. Penso di aver capito che si infilano nelle strip arduino e nella breadboard, giusto?

Il servo di solito richiede circa 6V quindi 4 pile da 1,5V
Non puoi alimentarlo da Arduino, richiede comunque molta corrente (ampere) che un Arduino da un suo pin non può fornire.
Un led bianco vuole R da circa 180 ohm, visto che da Arduino su pin arrivano 5V. Così richiede circa 10mA.
Ma ogni led "consuma" 10mA perciò 8 led => 80mA e un singolo pin NON può.
8 pin con ogn'uno un led si, c'e' la fa. (da 1 pin al max 40mA ma meglio rimanera a 30mA, 40 è proprio max!!!)
Conviene pacco da tot 6V da cui alimenti servo e anche Arduino (con GND in comune), dovrebbe farcela.
Non credo il pacco durerà ore e ore.

Esistono breadboard mini ma son piccole proprio. Se no millefori ma devi saldare. A quel punto no cavetti dupont ma fili a saldare.
Dimenticavo, Arduino Nano di solito arriva con i pin da saldare. Sono maschi (di solito) e la breadboard ha fori perciò in teoria dupont maschio-femmina

Qui pulsante abbastanza grosso:

E' solo un esempio, non ho a che fare con quel venditore e non faccio pubblicità.

Il pacco pile era in origine di una macchinina a scoppio 1/8 e alimentava 2 servi se non sbaglio, sterzo e gas.

Per i Dupont a pensarci bastava fare 2+2 e si capiva che i pin del nano erano maschi e la breadboard femmina.

Ricapitolando, almeno inizio a comprare i componenti e provare, mi serve:

1 Arduino Nano (pin maschi) + cavo pc
X Dupont maschio-femmina
1 Breadboard
6-8 leds bianchi
6-8 resistenze 180 ohm
1 pacco pile 4x
4 pile 1.5v
1 servo (in serata verifico il peso così vediamo se l'sg90 è sufficiente)

Mi dimentico qualcosa?

Parlando con un amico elettricista, mi ha chiesto se non potessi usare dei morsetti da elettricista per fare i collegamenti (al posto della breadboard) per risparmiare spazio.

A quanto ho capito ho capito intendeva qualcosa tipo:

Arduino-cavo-morsetto-resistenza-led

è fattibile una cosa del genere? Sopratutto led e resistenza, hanno dei morsetti appositi? Stessa cosa eventualmente per i dupont

Puoi tranquillamente usare i "coccodrilli", ma secondo me una breadboard, magari piccola, è una scelta molto più semplice ed utile per imparare, visto che il 99% dei progetti li fai e provi su breadboard :wink:

Buongiorno ragazzi, purtroppo ho dovuto stoppare il progetto e riparto oggi! Dovrei aver programmato lo sketch dell'arduino nano. Ora vorrei passare alla parte hardware, dovrei avere tutto l'occorrente ma non avendo mai messo mano su queste cose, vorrei se possibile una sorta di "guida" ai collegamenti, SENZA breadboard. Purtroppo in rete trovo solo guide con breadboard e non vorrei fare casini.

Qui con me ho:

Arduino nano + cavo usb
leds bianchi (vorrei iniziare a collegarne 4)
resistenze
2 microservo sg90
pacco pile da 4 stilo (escono il cavo rosso e nero)
pushbutton
Dupont femmina-femmina
Dupont maschio-femmina
Saldatore

Mi servirebbe proprio la base, tipo da quale pin partire e quali collegamenti fare, come mettere i leds, come mettere le resistenze, quali fili connettere o saldare e dove ecc ecc..

Mi sembra di essere praticamente arrivato alla fine ma allo stesso tempo mi accorgo che la mia ignoranza in materia mi blocca completamente!

Forse è utile sapere cosa vuoi creare prima di dirti come mettere i pezzi :slight_smile:

Faccio per lavoro scultura e riproduzioni dei personaggi del mondo del cinema. Mi sto avvicinando al mondo dell'elettronica e in special modo di Arduino, perché un'altra mia grande passione è l'informatica e l'automazione. Qualche tempo addietro un ragazzo mi fece notare che potevo unire le due cose per dare "vita" alle mie creazioni. Il mio lavoro più grande, per adesso, è un Predator in scala 1:1, tuttavia al momento sto lavorando ad un Iron Man, e girando in rete ho visto molti video di elmi che si aprivano e chiudevano elettronicamente con accensione degli occhi.

Mi sono quindi documentato un minimo e ho acquistato i materiali di cui sopra. Mi sono fatto anche una mini-cultura sulla programmazione, e vedendo sketch qua e la, CREDO di averne messo uno funzionante, che vorrei provare ma che non posso, non sapendo fare la parte hardware.

Sto inoltre frequentando un indirizzo scolastico informatico, e vorrei portare un progetto che riunisca tutte le mie caratteristiche: La scultura, la programmazione, e questo nuovo approccio all'elettronica, che mi sta prendendo parecchio.

Ho visto altri topic inerenti ad Iron Man, su questo stesso forum, ma non ho trovato niente che mi risolvesse completamente i dubbi. E anche in rete direi che il 100% dei tutorial sono con breadboard.

In sostanza: il progetto prevede che i servo sollevino la piastra facciale dell'elmetto, e che alla successiva pressione del bottone, la richiudano con illuminazione dei leds agli occhi. Quindi ho bisogno di sapere come si collega tutta sta roba :smiley:

Di dove sei?

Toscana provincia di grosseto

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 :

  1. Prendi un cavo con connettore Dupont femmina e collegalo alla porta D2 di arduino
  2. Spela l'altra estremità del cavo e saldalo insieme ad un terminale qualsiasi della resistenza da 180ohm
  3. Adesso prendi il secondo terminale della resistenza e saldalo con il terminale più lungo del led (cioè l'anodo)
  4. Prendi un cavo con connettore Dupont maschio e spela un'estremità
  5. 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 :wink: 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 :smiley: 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 :smiling_imp: vuoi toglierti la soddisfazione di scrivertelo da te?) però ti scrivo per grandi linee quale potrebbe essere la logica del programma.

  1. 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
  2. Porta entrambi i servo a 0°
  3. 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 :wink: se puoi, potresti postare qualche foto? sono curioso di vedere come hai modellato il casco di IronMan ;D

Una sola parola: sticazzi. :smiley:

Grazie mille Oiram. Ora mi è tutto molto più chiaro e inizio a capire anche il "perché" vanno fatti determinati collegamenti o saldature proprio in quei punti.

Purtroppo mi sono accorto che uno dei 2 microservo è rotto, gira a vuoto c'è un ingranaggio rovinato, quindi per adesso ne connetterò solo uno in attesa che mi arrivi l'altro nuovo.

Per quanto riguarda l'Iron Man, ti allego una foto del prodotto finito, ho realizzato poi uno stampo in gomma siliconica e una riproduzione in resina. Questo in foto è il "master", cioè il primo modello, che ho realizzato con materiali di recupero trovati per casa.. plastica, cartone, legno.. poi stuccato, fresato, levigato ecc ecc.. Non ho sotto mano le foto della resina ma è identico solo bianco.

Se questa parte dell'elettronica va in porto, e se il risultato è soddisfacente, vorrei realizzare anche gli altri elmi, visto che Iron Man si presta bene a queste cose, quindi il Warmachine, il Patriot e il Mark42 di Iron Man 3.

Mi metto sotto con le saldature ora!

EDIT: non so perché mi ha girato la foto di 90°, io l'avevo uppata dritta :\

EDIT 2: il mio servo ha fili di colore arancio, rosso e marrone. Marrone=nero, rosso=rosso, arancio=giallo?

ZaraK:
EDIT 2: il mio servo ha fili di colore arancio, rosso e marrone. Marrone=nero, rosso=rosso, arancio=giallo?

Si.

Bello il casco !!!

ZaraK:
Una sola parola: sticazzi. :smiley:

;D il casco è bellissimo veramente! Non molto tempo fa volevo costruirne pure io uno con i processi che hai scritto tu (prima si fa il negativo, poi il positivo ecc..) però alla fine ho lasciato perdere perchè non ero sicuro del risultato e non volevo buttare soldi..benedette le stampanti 3d! Al momento sto facendo l'upgrade di una stampante ma quando avrò finito..hai fatto risvegliare in me un vecchio progetto :wink:

Grazie ragazzi per l'aiuto e per i complimenti!

La stampante 3D è un'altra cosa che mi intrippa abbastanza.. sarei curioso di cimentarmi nella scultura 3D o anche solamente nello stampare i pezzi che voglio senza dovermeli ritagliare.

Per quanto riguarda il topic invece: penso di aver fatto tutto, ma rimango con un dubbio finale:

quando parli del pacco pile, parli di collegare il rosso a TRE cavetti, di cui 1 maschio e 2 femmine, e di fare la stessa cosa col nero. Ora, io l'ho fatto, ma mi avanzano 2 cavetti femmina (1 dal rosso e 1 dal nero) che non so dove vanno attaccati.

Mi spiego:

cavo rosso -> 3 estremità -> 1) maschio a servo. 2) femmina a arduino vin. La terza estremità (femmina) dove la metto?

cavo nero -> 3 estremità -> 1) maschio a servo. 2) femmina a arduino gnd. La terza estremità (femmina) dove la metto?

E' vero che i servo sono 2 (anche se al momento l'altro è rotto), ma anche ipotizzando che questi 2 cavi (rosso e nero) avanzati, vadano all'altro servo (come credo che sia), non dovevano essere maschi?

Poco male, in caso ci metto poco a toglierli e metterli maschi, era giusto per capire se sto iniziando a capirci qualcosa :smiley:

Grazie di nuovo per l'aiuto :grin:

EDIT: fermi tutti, non ho messo il bottone :sweat_smile:

allora il bottoncino che ho io ha 4 gambette, diciamo 2 a dx e 2 a sx, se non ho capito male, ho letto in giro che devo prendere o le 2 gambette a dx o le 2 a sx. Siccome ho finito i pin GND su arduino, posso saldare il GND del bottone insieme ad uno degli altri (servo o leds) in modo che vadano poi sullo stesso pin GND di arduino?

Allego 2 foto del bottoncino per capirci meglio