Cose che ho letto

sabato 2 marzo 2013

Valigetta bomba da softair con Arduino

Ciao a tutti gli appassionati di softair e agli altri che sono finiti qui per caso. Nell'articolo che segue vi spiego come costruire una valigetta bomba da softair con Arduino, dotata di display, tastierino numerico, possibilità di programmare il timer, il codice di sblocco, e il filo di disinnesco.
Chiariamo, non è una guida passo passo, più che altro un racconto di come fare, dei pezzi che vi servono, del ragionamento che c'è dietro, delle tecniche costruttive adottate, e delle problematiche che potreste incontrare durante il percorso. Intanto godetevi il video dimostrativo ;)



Questo come detto nel video, è il primo prototipo perfettamente funzionante che ho realizzato, in quanto tale ho preferito lasciarlo abbastanza semplice e pulito, senza aggiungere fronzoli come luci a led, megasirene, ventole, griglie e finti esplosivi, tutte cose comunque fiche che non mancherò di aggiungere nelle prossime versioni.

La guida è in continuo aggiornamento, e i commenti con domande e risposte che si sono accoumulati sono un validissmo aiuto per ogni problema che potreste incontrare. Prima di contatarmi in privato vi esorto a consulatarli, anche perchè risponderò solo a domande pubbliche.

Qui c'è un articolo riassuntivo delle costruzioni dei miei lettori - Bombe. Bombe da softair ovunque

Adesso a noi!

Cosa mi serve?

  • Attrezzi classici del fai te, come saldatore, pinze, cacciaviti, seghetto alternativo, trapano, morsa, vernice spray ecc
  • Arduino. In questo caso ho usato il 2009 a 328b, garantisco solo per questo, ma sono sicuro che vada bene un modello qualsiasi, sia originale che compatibile, purché abbia un sufficiente numero di I/O per i vostri scopi.
  • Protsheeld per realizzare il circuito a cui connettere tutti i componenti, ce ne sono varie, io ho optato per questa di Sparkfun, l'avevo già usata, ed è molto solida e ben progettata. 
  • Connettori stripline maschio Protoshield -> Arduino
  • Connettori stripline femmina Display -> Protoshiled
  • Zoccoletti a vite per connettere i componenti alla shield
  • Connettore batteria, nel mio caso 9V
  • Tastierino numerico. Ce ne sono sia a 12 che a 16 tasti, ho preferito il secondo perchè avevo bisogno di tasti funzione. Se potete scegliere meglio quelli meccanici che quelli a membrana, perchè hanno un feedback migliore quando spesso sul campo si indossano dei guanti.
  • Batteria. Io ho scelto quella da 9V perchè è piccola, ha una durata più che buona, consente di alimentare ottimamente l'Arduino. Se per il costo e lo spazio non sono un problema vi consiglio una da 12V di quelle che si usano per le macchine elettriche dei bambini. Perchè durano davvero tanto, sono ricaricabili, e avendo una tensione maggiore vi consentono di installare componenti come sirene ad alta potenza, luci stri a led, ventole e altre cosette.
  • Buzzer come segnalatore acustico. Questo va scelto in base alla distanza che volete raggiungere e alla tensione della batteria che avete scelto.
  • Per i fili di disinnesco ho optato per un connettore a molla di quelli che si usano per collegare le casse di casa allo stereo. Forse esteticamente non saranno fedelissimi, ma sono molto pratici quando sul campo si deve sostituire il filo che è stato tagliato.
  • Interruttore a chiave per l'accensione, questo componente non è indispensabile se vi fidate ciecamente dei vostri compagni e date per scontato che non bareranno. Ma io lo metterei comunque. Scegliete quindi tra qualcosa di semplice, o di più complesso 
  • Display. Potete scegliere tra un classico 4 digit a 7 segmenti come ho fatto io, prendendo questo della Sparkun, o tra un più moderno e ricco di possibilità LCD 16x2.
    NB: questi display richiedo molti pin per il controllo, in genere tra 6 e 9, che non sono pochi quando si usa un arduino base. Vi consiglio quindi di spendere un o di più e prendere quello con interfaccia seriale che ne richiedono solo 2. 7seg o 16x2
  • 9 x Resistenza 1K, 4 per il tastierino, 4 x pullup dei disinneschi, una per il transistor (preferibilmente con tolleranza 1%)
  • 5 x Resistanza 330, 4 per il tastierino, una per il led dei 2 punti centrali del disply (preferibilmente con tolleranza 1%)
  • 1 Transistor BC547
Quanto mi costa?

Per realizzare un modello uguale a questo, escludendo il prezzo della valigetta che avevo in casa, dovete mettervi sui 100 euro, che potete abbassare come ho fatto io, se prendete tutti gli articoli dallo stesso negozio online.

Realizzazione e problematiche


  • Tastierino numerico: se optate per un 16key, avete bisogno di 8 pin digitali per leggerlo con arduino, che ha di positivo di avere una libreria gia bella che pronta. 8 pin secondo me sono decisamente troppi, vediamo quindi di ridurli e usarne solo 4 analogici. Seguendo questo schema elettrico possiamo ridurre le connessioni senza rinunciare alla precisione, a patto di aggiungere 8 resistenze e scrivere un po di codice in più
    • In pratica ogni tasto crea un partitore di tensione con le resistenza che vi sono collegate, quindi possiamo leggere la tensione con arduino e assegnare un certo range di tensione a ogni tasto. Se utilizziamo la risoluzione standard a 1024, per la rima colonna: 0->280 (1) 280->490 (4) 490->800 (7) 800->1024 (*). Applicando questo ragionamento ai 4 valori letti otteniamo la mappa comlpeta. 
    • Se per qualche motivo volete ridurre ancora, possiamo con lo stesso ragionamento, utilizzare un solo pin, come vediamo in questo articolo molto ben fatto per picmicro. Ma devo dirvi che la precisione non è il massimo, potrebbe andare bene per applicazioni home, ma sul campo, quando siete di fretta e magari sotto il fuoco nemico, serve qualcosa di più affidabile.
     
  • Display:  purtroppo per me, per questa realizzazione ho scelto il primo tipo di display che ho messo nella precedente lista. Questo mi ha portato via molto tempo, codice e pin. Se per qualche motivo anche voi avete scelto questo tipo, vi indirizzo a questa guida che spiega accuratamente come pilotarlo. Nella prossima realizzazione probabilmente opterò per un LCD 16x2 con interfaccia seriale.


  • Codice: velo dico chiaramente ragazzi, se siete completamente a digiuno di arduino, difficilmente potrete cimentarvi nella realizzazione di questo giocattolino, a meno ovviamente di non fare la copia esatta del mio lavoro, il che ovviamente è possibile e gradito. Il programma che ho realizzato conta più di mille righe di codice, non posso certo commentarle una per una, ma vi spiego qual'è il principio che c'è dietro.
     
  • Multithread: se qualcuno ha un minimo di esperienza di programmazione, sa di cosa si tratta, per gli altri diciamo che si tratta di far eseguire ad arduino una serie di istruzioni in maniera parallela. In realtà questa è un'illusione, perchè non è un computer ma un microcontrollore, quindi è la libreria che usiamo a far sembrare che ci sia parallelizzazione, quando in realtà vengono eseguiti in maniera sequenziale.
    Il perchè è presto detto, pensate al fatto di dovere contemporaneamente controllare il display aggiornandolo ogni secondo con una nuova cifra, controllare che un filo sia stato tagliato, verificare se qualcuno sta digitando un codice, procedere con il timer, emettere segnali acustici. Se il tutto fosse un'unica sequenza, vi blocchereste al secondo punto, perchè la lettura di un valore in input blocca l'arduino in un ciclo.
    Questa è la libreria che ho usato, e questo è il mio codice. Spero che apprezziate le 2 settimane di lavoro.
     
  • Caricamento del codice: dati i pochi pin a disposizione per integrare tutte le funzioni che avevo in mente, sono stato costretto a fare una cosa che è buona regola non fare mai, usare anche i pin 0 e 1, che sono quelli con qui l'arduino comunica con il pc per caricare il codice. Questo non rappresenta un vero e proprio problema, a patto di disconnettere i fili del disinnesco quando programmiamo l'arduino, perchè come si nota dallo schema più in basso, il pin 1 è costantemente a Vcc, e questo impedisce la corretta comunicazione.. Il beeper non comporta problemi, se non per il suono stridulo che emette in fase di caricamento e che a lungo andare vi rincoglionisce. Vi consiglio si staccare temporaneamente anche questo.
     
  • Realizzazione solida: essendo questo giocattolino destinato a battaglie sul campo, dovete mettervi nella condizione che qualunque sia la vostra modalità di gioco, la bomba verrà sbatta, fatta cadere, gettata in terra, e maltratta in molti modi, quindi dovete cercare di renderla resistente il più possibile. Attraverso semplici accorgimenti come ho fatto io: inserendo gomma piuma sia sul fondo che sul coperchio, usare connettori per tutti i componenti, siano essi a vite o a innesto, evitare saldature volanti che potrebbero staccarsi, usare legno spesso piuttosto che fine truciolato, fissare tutti i componenti al di sotto del piano stesso, in modo da proteggerli da urti provenienti da qualsiasi direzione. In pratica l'unico modo per danneggiare la bomba,è picchiare direttamente sui componenti.


  • Per il mio beeper che si sente abbastanza forte fino a 10m, per poi andare a ridursi fino a molto lontano, ho optato per un controllo tramite un piccolo transistor. Se piace anche a voi, o volete sostituirlo con una sirena più forte, in entrambi i casi questa guida fa al caso vostro
  • I fili per il disinnesco vengono letti dai pin digitali dell'arduino, per evitare letture errate durante la disconnessione, colleghiamo delle resistenze in questo modo.
 Schema riassuntivo


La guida è in continuo aggiornamento, chiedete pure per qualsiasi cosa ;)

Video dimostrativo in battaglia =D




267 commenti:

  1. oddio,grazieeeeeee,sei il mio salvatore,e un mese che cerco una recensione,un aiuto per i codici per creare una bomba del genere,potresti mandarmi una foto dei collegamenti dei fili?xfacvore

    RispondiElimina
    Risposte
    1. stasera, massimo domani metto le immagini mancanti. cmq, quelli del dispaly puoi vederli nella guida ke ho linkato, il tastierino 4 analogici, il disinnesco 4 digitali, il beep 1 digitale

      Elimina
    2. Questo commento è stato eliminato dall'autore.

      Elimina
    3. come ho detto devo mettere lo schema del tastierino e del beep, quelle sono solo foto della realizzazione. se hai l'LCD 16x2 mi dispiace ma non puoi tenere il mio codice com'è, ci sono parecchie modifiche da fare.

      Elimina
    4. ciao Valerio, potresti farmi avere lo schema completo, per favore..

      Elimina
    5. lo schema è già nell'articolo

      Elimina
    6. Perfetto grazie, scusami se ti rompo le scatole, ma ho deciso di presentarlo come tesina agli esami di maturità.. Io ho montato il circuito seguendo la tua guida ed il programma si è caricato perfettamente, solo che non mi si vuole accendere il display Hitachy

      Elimina
    7. più che ricontrollare i collegamenti nons aprei che dirti, comunque se vuoi portarlo come progetto, ti consiglio di imaprare a memoria il codice =D

      Elimina
    8. Va bene, mille grazie Valerio sei una potenza

      Elimina
    9. Un'ultima cosa volevo chiedere, come faccio a collegare i fili di disinnesco e dove anno collegati?

      Elimina
    10. giuseppe riggi e buonafortuna, potreste contattarmi via mail a morgante.valerio@gmail.com, voglio parlarvi di una cosa. grazie

      Elimina
  2. ALLORA COMPRO IL DISPLAY UGUALE AL TUO,QUESTO E UGUALE?http://www.ebay.it/itm/390529652326?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1438.l2649#ht_500wt_923

    IO NON SO VERAMENTE COME RINGRAZIARTI,VERAMENTE,ALLORA DOMANI ASPETTO LE FOTO DEI COLLEGAMENTI?

    RispondiElimina
    Risposte
    1. si spero entro domani sera, visto che sarò tutto il giorno all'università.
      quel display non va bene, serve quello che ho linkato, o uno compatibile. se devi comprare altro materiale ti conviene prenderlo dallo stesso sito, cortesemente togli il caps lock quando scrivi.

      Elimina
  3. tranquillo frank ;) allora, i fili quelli che vuoi, niente di particolare, basta che non siano grossi coem quelli della corrente di casa. il buzzer no, quello è uno speaker. il buzzer è tipo questo: http://www.ebay.it/itm/Piezo-Buzzer-Sounder-3-24V-DC-85dB-/120660113013?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item1c17e73675
    ne vendono di varie misure e tensioni, io ti consiglio di prenderne uno di almeno 5cm di diametro per aver un suono bello squillante. li trovi nei negozi di elettronica, dove dovrai recarti per comprare le resistenze e i transistor ke servono, e ke come ho detto a giuseppe, vedrai domani nello skema elettrico. mi sento in dovere di ricordarti che se decidi di procedere, sarò lieto di aiutarti, ma ovviamente nei limiti di tempo che posso concederti

    RispondiElimina
  4. ok acquisto dal sito,grazie come sempre,e aspettiamo con frank le immagini dei vari collegamenti

    RispondiElimina
  5. valerio per l'acquisto mi consigli x i collegamenti,la Breadboard 830 punti oppure la scheda ProtoShield?quale quella piu facile da fare i collegamenti?

    RispondiElimina
    Risposte
    1. sono 2 cose diverse, la breadboard è una skeda che serve per collaudare i circuiti senza saldare i fili, come puoi vedere nelle foto del tastierino e del display. mentre la shield è per saldare tutto e fissarlo sull'arduino, così per esempio
      http://brewpi.com/wp-content/uploads/2012/09/arduino-and-shield.jpg
      altri materiali che non ho elencato perchè tutti gli hobbysti di elettronica li hanno a casa:
      questi per fissare la shield sull'arduino:
      http://www.robot-italy.com/it/male-strip-2-54-40-pin.html
      questi per fissare il display sulla shield
      http://www.robot-italy.com/it/female-strip-2-54-40-pin.html
      ti consiglio questi (almeno 4) per collegare i fili del disinesco e il buzzer
      http://www.robot-italy.com/it/screw-terminal-2pin.html
      questo per la batteria
      http://www.robot-italy.com/it/9v-to-barrel-jack-adapter.html

      Elimina
  6. perfettissimo,allora per ricapitolare,Arduino Duemilanove,Display led 7 segmenti - 4 cifre,Tastierino a matrice - 16 tasti,Interruttore a chiave,Strip Maschio,Strip Femmina,Connettore a vite ,Cavo con connettore Batteria 9V,Arduino ProtoShield Sparkfun,transistor,cavi,buzzer,connettori casse,batteria,ce altro che serve?

    RispondiElimina
  7. mi puoi consigliare quale transistor prendere dal sito?e quanti ne devo prendere?

    RispondiElimina
  8. quali cavi devo prendere fra questi?
    http://www.robot-italy.com/it/cables/jumper-cables.html

    RispondiElimina
    Risposte
    1. quelli sono cavi da usare sulla breaboard per testare il circuito, fanno comodo se decidi di fare una prova generale. cosa che ti consiglio vivamente.
      a te serve del normalissimo filo, se proprio non puoi rimediarlo prendi qualcosa qui: http://www.robot-italy.com/it/cables/wires-in-spool.html
      ho aggiornato la lsita dei componenti e messo lo schema, ma ti consiglio di prenderli in un negozio di elettronica le resistenze e il transistor

      Elimina
  9. allora valerio ti ringrazio come sempre per la tua disponibilita e per l'aiuto che mi stai dando,mi scuso se sono assillante ma e una cosa a cui tengo veramente,allora per le resistenze sto ordinando questo kit nella quale ci sn quelle da 1k e quelle da 330 http://www.robot-italy.com/it/checkout/cart/configure/id/69141/
    poi per il transistor queste vanno bene?http://www.ebay.it/itm/290874254719?ssPageName=STRK:MEWAX:IT&_trksid=p3984.m1438.l2649#ht_597wt_1271
    ma con queste transistor devo collegare il buzzer giusto?
    poi per il tastierino devo prendere altro?perche ho notato nella tua ultima foto che nella tastiera ce una specie di scheda con i cavi uniti grigi,dimmi se manca qualcos altro perche sto ordinando tutto da sito che mi hai consigliato

    RispondiElimina
  10. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. caro giuseppe, di filo ne bastano 2 metri per stare larghi all'ennesima potenza. ma scusa se mi permetto, di fronte a certe domande mi viene il dubbio che tu sia veramente a secco di elettronica, sicuro di voler proseguire?

      Elimina
  11. non sono un professionista,pero qualcosina lha faccio nel tempo libero fra saldature ecc,pero non mi sono mai messo nella sperimentazione di cose del genere,tanto meno con arduino,comunque sono pienamente sicuro,basta che guardo i collegamenti che hai fatto nelle foto che pubblicherai ;)

    RispondiElimina
  12. Per il ProtoShield prendo il kit o solo la scheda?

    RispondiElimina
    Risposte
    1. Un altra domanda: per le resitenze, sia da 1k che da 330 ohm, il wattaggio è indifferente?

      Elimina
    2. protoshield solo la scheda, resistenze 1/4watt

      Elimina
  13. quella scheda dove ci sono collegati quei cavi grigi nel tastierino in foto e una piastra millefori?

    RispondiElimina
    Risposte
    1. si è una millefori, per comodità ho messo li le resistenze, in modo da risparmiare spazio sulla protoshield.

      Elimina
  14. perfetto,aspettiamo allora le foto visibili dei vari collegamenti e saldature

    RispondiElimina
    Risposte
    1. non ho foto dettagliate dei collegamenti che ho fatto sulla shield. ma c'è ben poco da vedere, sono tutti pezzetti di filo che collegano un certo pin dell'arduino aun cert pin del componente, messi tutti un po disordinati e sovrapposti. come scritto in precedenza: nel link per pilotare il dispaly c'è l'elenco dei pin dedicati al display, dall'immagine vedete quelli del tastierino, 4 digitali per i fili del disinnesco, 1 per il beeper. per completezza metterò un immagine riassuntiva. ma atro di complicato non c'è

      Elimina
  15. ho aggironato la lista dei componenti, mancavo 4 res da 1k per i fili del disinnesco

    RispondiElimina
  16. io volevo vedere esattamente in quale pin ai collegato i fili del display da poter usare cosi esattamente i tuoi codici senza dover cambiare nulla,e quelli del tastierino

    RispondiElimina
    Risposte
    1. forse non mi sono esperesso kiaramente, quello ke kiedi è scritto per il display al link ke ho messo nella descrizione del display:
      http://www.hobbytronics.co.uk/arduino-4digit-7segment
      e per il tastierino è nell'immagine. comunque stasera metterò un'immagine riassuntiva. mi ci vuole un pò perchè è abbastanza grande come skema

      Elimina
  17. okok aspettero l'immagine riassuntiva,grazie come sempre e buona giornata ,)

    RispondiElimina
  18. allora vediamo se ho capito come li hai collegati,i
    fili del disinnesco ai pin 13 12 2 1
    la tastiera ai pin A2 A3 A4 A5
    DISPLAY PIN 11 10 9 6
    3 4 5 7 8 a1 a0
    il buzzer al 0 giusto?

    RispondiElimina
    Risposte
    1. esattamente, devi solo mettere le resistenza. a stesera ;)

      Elimina
  19. perfettoooooooooo ;-),lunica cosa ora che non capisco e dove mettere queste resistenze,spero di capirlo nello schema che manderai,grazieeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    RispondiElimina
  20. valerio un consiglio,vorrei pure collegare una striscia a led di colore rossa nel momento in cui viene azionata la bomba,e una striscia verde quando la bomba non e azionata,come posso fare?perche se non mi sbaglio tutti i pin di arduino sono occupati

    RispondiElimina
    Risposte
    1. non ti sbagli, funzionalità esaurite. io in origine avevo fatto in modo che i 2 punti centrali si accendessero solo quando si visualizzava il timer ke scorre, ma ho dovuo rinucniare xkè il display ha preso più pin del previsto. anke per questo nella prossima versione prenderò un lcd 16x2 seriale

      Elimina
  21. ok ne farò a meno,vorra dire ke mettero solamente una striscia collegata direttament alla batteria per un po di luminosita

    RispondiElimina
    Risposte
    1. se intendi usare le strisce ke penso io, ricordati ke quelle vanno a 12V, mentre la nostra batt da 9.
      schema pubblicato

      Elimina
    2. Se si usa la batteria da 12V cambia qualcosa nello schema? D:

      Elimina
    3. no, devi solo scegliere accuratamente il beeper

      Elimina
    4. Ok grazie :) non capisco come fai a sopportarci xD gentilissimo!

      Elimina
  22. si lo so che sono a 12v,infatti la mia intenzione e proprio quella di usare una batteria a 12v,cmq grazie di tutto e come dice frank,di sopportarci

    RispondiElimina
  23. valerio mi sn bloccato,pultroppo devo ammetterlo che sono un vero ignorante,ma ci sto provando,e ho capito i vari collegamenti tranne 1,che sara il piu facile per te,ma io arrivati ai schemi non ci capisco nnt,non so come collegare questa tastiera con i resistenziali alla piastra millefori,hai il programma fritzing?

    RispondiElimina
    Risposte
    1. fritzing cel'ho, ma non credo di poter fare uno schema più chiaro di quello. il tastierino ha 8 pin, ke come vedi ho numerato da sinistra verso destra. gli stessi numeri li ho riportati nello schema di collegamento esattamente sui nodi delle resistenze, sia in a sinistra ke in basso, dove ho messo anke il ping analogico che devi usare

      Elimina
    2. quindi io dovrei mettere le resistenze da 330 sui pin 1234 e quelli da 1k sui pin 5678,e i fili da collegare ad arduino li devo saldare dai pin 5678?

      Elimina
    3. si, quelle da 330 collegate come mostrate nello schema, quelle da 1k dirette a massa

      Elimina
  24. 1 2 3 4 5 6 7 8
    _._._._ I I I I
    330 1K

    cosi?

    RispondiElimina
  25. valerio perche non riesco a mettere i codici nellìarduino?mi dice un casino di errori dei tuoi codici

    RispondiElimina
    Risposte
    1. ti consiglio di provare prima con gli esempi di base per arduino, li trovi gia nel menu e nelle guide su internet, tipo blink led. prima di caricare il codice, devi installare i driver di arduino, selezioanre la porta, e il tipo di arduino, compilare e caricare

      Elimina
  26. ho gia provato alcuni esempi tipo quello del display usando la guida che hai inserito nella recensione,e la guida funziona dopo aver installat il driver e selezionata la porta com 3 e dopo aver selezionato il tipo di arduino,ma quando provo a caricare il tuo codice su arduino,mi da alcuni errori forse di digitura del codice

    RispondiElimina
    Risposte
    1. il codice è corretto, xkè è l'ultimo che ho caricato sul mio. se mi fai uno screen della schermata vedo di che si tratta

      Elimina
  27. expected unqualified-id before 'public' questo mi spunta quando cerco di inserire il codici con altre errori in arancione

    RispondiElimina
    Risposte
    1. ho appena riscaricato e ricompilato il codice, è ok. forse hai dimenticato di installare la libreria ke ho linkato

      Elimina
  28. ma dove e questa libreria nel link ke hai pubblicato?

    RispondiElimina
  29. cito "Questa è la libreria che ho usato, e questo è il mio codice", segui il link per scaricare la libreria ed aggiungerla all'installazione di arduino

    RispondiElimina
  30. puoi esattamente dirmi quale libreria devo caricare?mthread.h,newdel,newdel h e poi?

    RispondiElimina
  31. questo è il link diretto al file:https://nodeload.github.com/jlamothe/mthread/zip/master
    estrai l'archivio in una cartella mthread-master e sposta tutto il contenuto dentro a documenti/arduino/libraries/mthread

    RispondiElimina
  32. lho ftt,xo quando apro arduino mi spunta in automatico(la libreria mthread-master non puo essere usata.
    i nomi delle librerie possono contenere solo lettere o numeri.
    ASCI senza spazi e non possono iniziare con un numero

    RispondiElimina
    Risposte
    1. devi rinomianare la cartella in solo "mthread", tel'ho detto

      Elimina
  33. perfettooooooooooo,si e caricatooooo,grazieeeee

    RispondiElimina
  34. xke nella breadbost mi lampeggia sempre il display?

    RispondiElimina
  35. ho inserito il codice(finalmente)e ho collegato il display x una prova alla breadboard,e il display mi lampeggia sempre,xke?

    RispondiElimina
    Risposte
    1. a me succedeva per un contatto lento, ma queste cose sono difficili da generalizzare

      Elimina
  36. e qnd cs potrei fare?forse ce un errore dei codici?quelli del file mthread tutti e 3 li devo caricare?perche ho provato a inserire prima i codici che hai messo x il display per pilotarlo e con quelli non mi lampeggia

    RispondiElimina
  37. scusa se sembro presuntuoso, ma ripeto, il codice è esattamente quello che ho caricato nella mia. e è basato sulla libreria che hai installato e su quell'esempio x il dispaly, quindi se hai fatto tutto bene dovrebbe funzionare. da qui non posso aiutarti ulteriormente, devi andare a tentavi per escludere l'origine del problema. la lib mthread nn ha 3 file, ma di più, devi solo scompattare l'archivio e metterlo nella cartella liberie

    RispondiElimina
  38. 3 file intendo 3sketch giusto?event test,serial test e swtich test giusto?allora io ho caricato prima event,poi serial e poi switch e infine tutti i tuoi codici,e giusto?

    RispondiElimina
    Risposte
    1. allora, ecco perchè ti dicevo di informarti bene su arduino prima di cominciare. quello che dici non ha senso, arduino carica uno sketch la volta, quello c'era o ke viene dopo non contano niente, i file che hai elencato sono degli esempi di utilizzo della libreria mthread messi a disposizione dall'autore. non ti servono.

      Elimina
  39. ah ora ho cpt,e come posso risolvere il problema del display che lampeggia?quale puo essere il problema?

    RispondiElimina
  40. come ti ho detto, a me è capitato per un filo lento. non saprei

    RispondiElimina
  41. ma a me lampeggia sulla breadbord xke sto facendo le prove,e sulla breadboard non credo sia il filo lento,oddioooo come faccio va

    RispondiElimina
    Risposte
    1. anche a me lo faceva sulla breadboard, è ovvio che un filo lento non può essere tra quelli saldati

      Elimina
  42. ciao valerio,come posso fare per prolungare il suono del buzzer quando comprare la scritta lose?

    RispondiElimina
  43. Buongiorno Valerio e grazie per la tua stupenda guida. Volevo sapere se potevi mettere o mandarmi le foto degli schemi elettrici e delle saldature effettuate sulla protoshield. Grazie mille ancora

    RispondiElimina
    Risposte
    1. ciao e garzie, purtroppo non ho foto delle saldature, ma su richiesta degli altri utenti che sono evnuti prima di te, ho messo schemi elettrici chiari e dettagliati di come realizzare tutto. buona fortuna

      Elimina
    2. ciao marco, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  44. ciao prima di tutto volevo ringraziarti per aver publicato il progetto... volevo chiederti: volessi aggiungere una sirena a questo progetto come posso fare? io utilizzo un arduino uno e come te ho finito i piedini...

    RispondiElimina
    Risposte
    1. non c'è di che.
      mi sembra di averlo gia detto in qualche commento precedente, cmq. avendo finito i piedini hai 2 scelte. quella facile, rinunicare al beeper che fa il rumore quando premi i tastini e usrlo per pilotare il relè che alimenta la sirena. quella difficile, ho visto gente manomettere la basetta, eliminare l'oscillatore al quarzo che da il clock, per sfruttare quello interno e recuperare così un pin da usare. ma è una cosa da tenere come scelta estrema

      Elimina
    2. ciao davide, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  45. Ciao, ho trovato veramente interessante il tuo progetto, e mi sono cimentato nel comprendere un pò il tuo codice,
    l'unico problema è che non sto riuscendo a trovare esattamente la libreria che hai usato, perchè il sito:
    https://nodeload.github.com/jlamothe/mthread/zip/master non funziona.
    Mi potresti gentilmente indicare dove poterla trovare?

    RispondiElimina
    Risposte
    1. ciao antonio, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  46. grazie innazitutto
    perchè sei andato su quel sito, quando ho messo un link diretto alla libreria che ho usato?
    http://www.kwartzlab.ca/2010/09/arduino-multi-threading-librar/

    RispondiElimina
  47. ciao valerio mi chiamo andrea, volevo dirti che sei veramente un grande, la bomba e magnifica ed adesso mi cimenterò nel crearla sperando di riuscirci...

    non capisco solo come faccio a scaricare la libreria dal sito, perchè vado su how to get it, mi apre la pagina con la libreria ma non c'è nessun tasto download...

    magari sono scemo io ma bisogna fare qualche passaggio che manco?

    grazie ed a risentirci appena riesco a trovare tutti i pezzi e mi imbatto in un problema... XD

    RispondiElimina
    Risposte
    1. dalla parte "how to get it" premi "here", e arrivi qui:
      https://github.com/jlamothe/mthread
      in basso a destra della pagina trovi Download ZIP

      Elimina
    2. ok trovato grazie ma non lo avevo visto.... XD sono proprio stordito ahhahahahah

      ti faccio sapere se ci sono riuscito o meno....

      Elimina
    3. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  48. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  49. ciao Valerio e grazie per aver messo Hw w Sw on line, poi volevo sapere se per alimentare Arduino e Display hai usato direttamente la batteria da 9V o hai utilizzato un 7805, e seconda cosa se in base alla tua esperienza la pila è sufficiente per 8 ore di utilizzo. grazie Ciao

    RispondiElimina
    Risposte
    1. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  50. di niente, è un paicere.
    per alimentare il tutto ho collegato la batteria da 9V all'arduino, al jack di alimentazione, che pensa da solo a stabilizzarla a 5V. dal pin 5V ho preso l'alimentazione per il display, che se vai a vedere è solo un mucchio di piccoli led, quindi non assorbe molto.
    dalla mia esperienza posso dirti che dura sicuramente più di 20 ore nella mia configurazione. una volta ho provato a fare il conto ampere/ora e credo debba durarne 50. ma non è affidabile perchè le pile da 9V non hanno un amperaggio fisso o cmq standard.

    RispondiElimina
  51. Ciao Valerio, ma se avessi necessità di impostare il timer utilizzando ore e minuti - esempio 2 ore e 45 minuti come devo modificare il sw ? Grazie ciao Daniele

    RispondiElimina
    Risposte
    1. purtoppo la modifica che richiedi non è attuabile senza cambiare svariate parti del codice, se ritieni di non poterne proprio fare a meno, ricontattami i primi di ottobre, e vediamo di metterci mano, ma è un lavorone

      Elimina
  52. Ciao Valerio, ti volevo ringraziare per aver messo a disposizione di tutti il tuo ottimo progetto che già sono ho assemblato, ora però volevo tentare una modifica al tuo programma sostituendo il display 7 segmenti con uno digitale 16x2 I2C. Il punto dove sono fermo è riuscire a scrivere sul display il tasto premuto sul tastierino (collegato ad arduino con il tuo schema). esempio: se premo il tasto 1 sul display mi compare scritto 1.
    Grazie per la disponibilità e la pazienza
    Filippo

    RispondiElimina
    Risposte
    1. grazie ;)
      allora, se sei gia in grado di scrivere normalmente sul display, è facilissimo convertire il mio programma. infatti il thread del display, è un loop che continuamente prende la stringa corrente e la manda in video, i metodi che voglio stamapre, tipo tempo, codice e filo, scrivono nella variabila della stringa.
      cerca il metodo void displayString(String toDisplay)
      e sostituisci il contenuto con le istruzioni che servono a scrivere sul tuo display.
      chiaro?

      Elimina
    2. ciao filippo, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  53. Ciao Valerio, la funzione displayString(String toDisplay) non ho capito come funziona, mi potresti spiegare come impostarla?
    il display utilizzato è il seguente: http://www.robot-italy.com/it/display-lcd-16-x-2-verde-i2c.html
    Al momento per scrivere sul display uso la libreria LiquidCrystal_I2C 1602V1 con la funzione lcd.print("Testo"); e sono riuscito a fare solo un semplice programma (scrive per 5 sec poi cambia scritta e così via).
    Grazie
    Filippo

    RispondiElimina
    Risposte
    1. devi cancellare il contenuto della mia funzione e scrivere:
      void displayString(String toDisplay){
      lcd.print(toDisplay);
      }

      Elimina
    2. Ciao Valerio, scusa se sono un po stressante con tutte queste richieste, ho modificato la funzione "void displayString(String toDisplay){
      lcd.print(toDisplay);}" come mi hai detto, ma le scritte sul display compaiono tutte attaccate e ripetute all'infinito, in alcuni casi scorrono e sono illeggibili. esempio: volendo modificare la parte "---A" in "premere A per iniziare" come devo fare? Poi, una volta capito il sistema modifico anche le successive come codice sblocco e tempo.
      Grazie 1000 per la tua disponibilità
      Filippo

      Elimina
    3. le parole si sosseguono perchè manca un'istruzione fodamente che pensavo fosse contenuta nel print. ossia lcd.clear() per pulire dalla scritta precedente, vedi di implementarla. per modificare ---A, cerca e modifica questa istruzione
      mostra = "---A";

      Elimina
  54. Grazie per l'aiuto, ora come posso quando scrivo password e tempo scrivere sulla 2° riga solo i dati inseriti e mantenere la 1° riga?

    RispondiElimina
    Risposte
    1. mi pare che la libreria lcd abbia un mtodo setCursor, per mettere il cursore, ossia la tacchetta per scrivere, dove vuoi

      Elimina
  55. Grazie ma ho risolto da solo, comunque intendevo tra che righe di codice andava inserita la funzione lcd.setCursor(0, 0);.
    Se non ti chiedo troppo e non è troppo complicato, vorrei visualizzare nel tempo i : che dividono le cifre. es 90:00
    Veramente grazie per la pazienza
    Filippo

    RispondiElimina
    Risposte
    1. in linguaggio arduino come in Java, c'è un metodo charAt(), che dato un intero e una stringa, restituisci l'ennesimo carattere della stringa, tipo:
      String test = "filippo";
      char c = test.charAt(4);
      c -> p
      quindi
      devi scomporre la string a e ricomporta così:
      toDisplay = toDisplay.charAt(0) + toDisplay.charAt(1) + ":" + toDisplay.charAt(2) + toDisplay.charAt(3);

      Elimina
  56. Ciao!
    Innanzi tutto grazie mille per aver condiviso il tuo gran bel lavoro!
    Volevo chiederti... io ho seguito filo per filo la tua "guida" tuttavia, quanto alimento arduino è come se non funzionasse nulla, il display non mi mostra nulla, so che è una domanda un po' generica ma cavolo non ci salto fuori, non mi da segno di vita, quindi, sai cosa potrebbe essere??
    I fili li ho ricontrollati e se non sbaglio qualcosa sono collegati correttamente e così il resto, non so proprio cosa possa essere. Arduino è stato scritto correttamente.

    RispondiElimina
    Risposte
    1. il mio cosiglio è di testare singolarmente i componenti, quindi, collega solo il display e fai un test di scrittura usando come guida il link che ho messo nella sezione dispaly

      Elimina
    2. ottimo, farò così!
      Grazie mille ancora!

      Elimina
    3. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  57. Ciao intanto complimenti per il lavoro fatto.volevo sapere se arduino uno è compatibile con il tuo codice e se utilizzo un display 16x2 devo cambiare il tuo codice u va bene lo stesso
    Grazie

    RispondiElimina
    Risposte
    1. grazie =)
      certo che è comlpatibile. e per modificare il codice per un display 16x2, rileggi le mie risposte a Filippo Crescini, e in caso contattalo per aver il codice già pronto

      Elimina
    2. Grazie ma come faccio a contattarlo ?

      Elimina
    3. clicchi sul suo nome e lo contatti su google+

      Elimina

    4. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  58. Ciao Valerio, non capisco più su cosa sbattere la testa!

    Ho preso un tastierino identico al tuo, seguo lo schema collegando le varie resistenze ma non mi legge i tasti corretti! La fila dei tasti funzione non la vede, e se premo ad esempio il 7 mi compare il 3.
    Già ricontrollato più volte il tutto, tentato per assurdo anche ad invertire lo schema (inutilmente).

    Suggerimenti?

    RispondiElimina
    Risposte
    1. allora, innanzitutto verifica che il tastierno non sia difettoso, prova ogni pulsante con il tester, seguendo uno schema tipo questo: http://www.astrosurf.com/astroenit/projets/images/keypad-schematic.gif
      controlla sempre con il tester che le resistenze siano degli stessi valori che ho scritto io.
      attento ad alimentare il tutto con 5V e non con la tensione della batteria. se fin qui è tutto ok, deve funzionare. fammi sapere

      Elimina
    2. Questo commento è stato eliminato dall'autore.

      Elimina
    3. Ciao Valerio, grazie per la risposta celere (sono io che sono lento nella creazione, con due figli posso farlo solo di notte :P)
      Ma nella foto del tastierino sono le resistenze da 1K che hai messo in serie sui pin 5-6-7-8 ?
      Perchè la cosa mi sta facendo impazzire, lo schema lo interpreto in un modo e poi vedo la tua foto e sembra che non ci ho capito una mazza
      Perchè in teoria sono:

      le resistenze da 330 sui PIN 1234 in serie con alle estremità GND e 5V
      quelle da 1K su 5678 tutte insieme e vanno a GND
      poi, su 5678 prima della resistenza porto i contatti rispettivamente ad A2 A3 A4 A5

      scrivo castronerie?

      Elimina
    4. dici bene, esattamente come nello schema. la foto è puramente indicativa, adesso ce lo scrivo per evitare che altri fraintendano. hai fatto le prove che avevo detto? perchè veramente lo schema non potrebbe essere più chiaro di così

      Elimina

    5. ciao mirko potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  59. fatte e sostituito anche il tastierino, ma continuo a riscontrare problemi sulla lettura dei tasti, i tasti me li vede mischiati e non capisco dove sbaglio, vero che la breadboard non è affidabilissima ma cavolo!

    RispondiElimina
    Risposte
    1. forse hai i pin disposti in ordine diverso

      Elimina
    2. anche se ho comprato la tua stessa tastiera? sarei sfigatissimo!

      Elimina
    3. fai una prova, usando il mio schema, carica l'esempio di arduino per leggere un valore analogico, testalo su tutti e 4 i pin

      Elimina
    4. Valerio riesci a postarmi almeno i valori delle uscite del tastierino? togliendo il post non ho più che misurare

      Elimina
    5. scusa, sono stato poco chiaro, i valori analogici che legge arduino, come sono disposti e loro valore

      Elimina
  60. Risposte
    1. c'è stato un intoppo durante una modifca, sto tentando di risolvere.

      Elimina
    2. ciao matteo, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  61. Non riesco a contattare Filippo crescini per il display........

    RispondiElimina
  62. Ciao, potresti inviarmi per mail lo sketch e le foto dei collegamenti? Grazie mille

    -black-

    RispondiElimina
    Risposte
    1. Manon ho ancora capito come programmare il 7 segmenti a mo di timer e poi farlo aumentare di velocità

      Elimina
    2. se vuoi realizzare il mio stesso progetto, il codice è liberamente scaricabile. altriementi è un altro discorso

      Elimina
    3. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  63. ciao è possibile avere via mail lo sketch e le foto dei collegamenti per poterli studiare?

    RispondiElimina
  64. c'è un modo alternativo collegare i fili del disinnesco senza utilizzare il pin 1?

    RispondiElimina
    Risposte
    1. ciao michele potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  65. ma se si usassero i nuovi arduino uno ed arduino due la bomba così com'è funzionerebbe?

    RispondiElimina
    Risposte
    1. arduino uno, è solo più potente del 2009, io ho preso questo solo per il prezzo. dato che hanno gli stessi pin, non cambierebbe nulla, anzi, ti dirò che per i test ho usato proprio un arduino uno. il due è un'altra storia, diciamo che l'unico vantaggio che otterresti, sarebbe collegare il tasterino senza resistenze, quindi ottenere una precisione del 100%, e mettere più componenti tipo sirene e luci. ma non so come si comporterebbe la libreria per il multithread, perchè l'architettura del processore è diversa

      Elimina
  66. Ciao Valerio senti siccome io pure avevo una mezza idea come la tua però mi manca qualche particolare mi potresti mandare il tutto sulla mia e-mail (jonny.marconi@hotmail.it).
    Ti ringrazierei molto mi risparmi molto lavoro, aspetto una tua risposta magari sispondimi direttamente sulla e-mail.
    Grazie mille ciaoo.

    RispondiElimina
    Risposte
    1. ciao federico, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  67. ti chiedevo se mi potevi mandare lo sketch di arduino perchè quello che scarico mi da errore quando lo compilo e poi se mi davi i link magari dei componenti da usare per il progetto grazie

    RispondiElimina
  68. il programma è quello li, se da errore probabilmente hai importato male la libreria multithread. i link per i componenti sono gia nella guida

    RispondiElimina
  69. Valerio, per prima cosa ti ringrazio dell'articolo e della pazienza, ho adattato il codice su un display 16x2 seriale e sembra funzionare tutto bene, tranne che ancora non riesco a visualizzare correttamente i : tra minuti e secondi.
    La cosa però più importante e che mi servirebbe di cambiare il comportamento quando viene disinnescata la bomba...invece di riavviare dovrebbe fermare il conteggio e visualizzare il tempo residuo, puoi aiutarmi?
    Grazie

    RispondiElimina
    Risposte
    1. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  70. il problema dei due punti, è legato al fatto ke avevo finito i pin di arduino e non potevo controllarli, quindi li ho collegati all'alimentazione, infatti come puoi vedere dal video, rimangono sempre accesi anke durante la fase di setup. per adattarli devi fare un metodo, che presa la stringa corrente che stampi, vi inserisce i : nel mezzo prima di mandarla al display.
    per la seconda cosa devi lavorare sul metodo haiVinto(), invece di mostrare Good, devi fare una stringa in cui salvi il tempo rimanente, e invece di riavviare, devi incrementare il timeoit in modo da rimaere li e basta

    RispondiElimina
  71. davvero una bella idea. se posso darti un consiglio io aggiungerei uno di quegli interruttori di sicurezza montati sugli aerei per armare la bomba in modo da farla avviare solo azionando l'interruttore e una volta avviata fare in modo che l'interruttore non influenzi più il sistema cosi da evitare che qualcuno possa togliere l'alimentazione. comunque ancora complimenti

    RispondiElimina
    Risposte
    1. era tra le cose che mi sarebbe piaciuto inserire, ma purtroppo avevo finito i pin di arduino. sicuramente sarà nella prossima versione

      Elimina
    2. Stai lavorando a una nuova versione?
      Perché ho appena finito il prototipo della vecchia con la modifica del display LCD 16x2, ma se a breve presenti un nuovo modello potrei aspettare a fare la versione definitiva :-D

      Elimina
    3. niente a breve termine tranquillo ;)

      Elimina
    4. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  72. Questo commento è stato eliminato dall'autore.

    RispondiElimina
    Risposte
    1. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  73. ciao davvero complimenti per l'ottima guida. mi potresti dire come modificare il programma per non far riavviare da sola la bomba quando scade il tempo in modo che resti visualizzato good o lose. grazie

    RispondiElimina
    Risposte
    1. ho già risposto a una domanda simile, sali di un paio di post ;)

      Elimina
    2. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  74. ciao valerio, ti ringrazio per aver posteto lo schema per creare questa bomba.......... mi viene da piangere...... non capisco un tubo di elettronica :(
    percaso hai uno schema più semplice per bambini? :)

    RispondiElimina
    Risposte
    1. spiacente, più semplice di così non credo sia possibile

      Elimina

    2. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  75. Ciao Valerio intanto complimenti per la tua idea....fantastica, io sono un giocatore di soft air da ormai 20 e finalmente trovo qualcosa che mi piace. Premetto che non capisco molto di elettronica e di arduino, ne ho uno a casa un duemilanove, come quello che hai utilizzato tu. Penso d'aver capito tutto tranne una cosa, che penso per te sarà banalissima, quali pin di arduino devo utilizzare per l'ingresso della batteria? Rimango in attesa di una tua risposta, e ti ringrazio in anticipo. Ciao.

    RispondiElimina
    Risposte
    1. Buon giorno valerio scusami ma penso di aver risolto il dubbio devo utilizzare l'ingresso di alimentazione che si trova accanto all'attacco per la porta usb giusto? invece volevo chiederti un'altra cosa ho visto che scaricando il codice mi da un errore con il seguente mess: "expected class-name before '{' token. Come posso risolvere?
      Ti ringrazio e ti auguro una buona giornata.

      Elimina
    2. confermo che la batteria va nel jack. se inveve volessi utilizzare una batteria usb ricaricabile di quella per i cellulari, puoi alimentare direttamente la porta usb
      l'errore è dato probabilemente dal fatto che non hai importato la libreria per il multithread

      Elimina

    3. ciao orazio, potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  76. Grazie per la risposta infatti pensavo che il problema del codice fosse per il mkotivo che mi dici tu ma quando cerco d'importare la libreria mi da il seguente mess: "la libreria "mthread-master" non puo essere usata i nomi delle librerie possono contenere solo lettere e numeri (ASCII senza spazi e non possono iniziare con un numero). Sinceramente non so cosa vuol dire. mi puoi aiutare? Grazie mille.

    RispondiElimina
    Risposte
    1. devi creare una cartella dentro Arduino-Libraries che si chiami solo mthread, senza trattino e master

      Elimina
  77. Valerio allora, dopo aver letto un po in giro sul forum ho provato a creare una cartella nominandola mthread, ho inserito all'interno della cartella i file mthread.cpp e h e l'ho importata nella libreria di arduino. dopo ho provato a fare il test del codice e l'errore di prima non me lo da più. Pensi che sia un caso o ho fatto la giusta operazione?

    RispondiElimina
    Risposte
    1. ovviamente la cartella andava creata, hai fatto bene

      Elimina
  78. Grazie Valerio gentilissimo. appena creo il tutto ti faccio sapere è andato tutto ok. ;)

    RispondiElimina
  79. ciao Valerio, complimenti per il progetto,davvero bello e ben congegnato . ho finito di montare tutto su Arduino uno , funziona , ho solo un piccolo problema, il tastierino alfanumerico e totalmente sballato, ovvero 1=1 , 4=2 , 7=3 e cosi via dicendo tutti i tasti, ho ricontrollato più volte tutti i collegamenti , ed è tutto a posto, il tastierino e uguale al tuo. cosa potrebbe essere? ciao e grazie per il tuo fantastico progetto.

    RispondiElimina
    Risposte
    1. grazie
      se sei sicuro dei collegamenti, ricontrolla i valori delle resistenze. in caso, fai un piccolo programma che si limita a leggere i numeri, per vedere se fuori dal programma principale l'hardware è corretto

      Elimina
    2. purtroppo non conosco bene il programma, sono nuovo del linguaggio c , sto apprendendo man mano vado avanti, quindi per dirti la verità non sono capace di fare questo piccolo programma, se hai altre soluzioni te ne sarei davvero grato , grazie e ciao

      Elimina
    3. è molto semplice, per cominciare vai su File-Esempi-Basics-AnalogReadSerial, questo piccolo programma legge un valore di tensione da uno dei pin Analogici dia rduino, sensorValue = analogRead(A0), devi caricarlo per A2, poi A3 A4 e A5, ossia i pin che io ho usato per il tastierino. colleghi SOLO il atstierno ad arduino, accendi con l'usb del pc, dall'idea arduino Struementi-Monitor Seriale, e vedrai arrivare dei valori da arduino, questi dovrebbero essere 4 diverse, uno per ogni riga

      Elimina
    4. Ho avuto lo stesso problema con il mio tastierino...i collegamenti orizzontali verticali erano invertiti e in più la resistenza di contatto di alcuni tasti era molto ma molto alta sballando il funzionamento....alla fine l'ho sostituito con uno a membrana brutto ma funzionante :D

      Elimina
    5. lo aggiungerò nella guida, è preferibile prendere resistente con 1% di precisione (quelle blu), piuttosto che quelle classiche, che in casi di estrema sfortuna possono farvi perdere ore sul progetto

      Elimina
    6. ciao potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

      Elimina
  80. Ciao Valerio,sono un softgunner "veterano"(ho 49 anni),sono rimasto sbalordito,oltre che dal tuo ottimo progetto,dalla tua infinita pazienza nel dare a tutti un'indicazione o un suggerimento.Premetto che non sono ne un programmatore ne un'elettrotecnico ma comunque voglio cimentarmi nella realizzazione di questo elaborato dispositivo,ho già reperito del materiale.cercherò di realizzare questo progetto sfruttando tutte le indicazioni che hai già abbondantemente dispensato,senza chiederti alcun'che.ti farò sapere se ci sono riuscito.ti ammiro, sei grande ciao

    RispondiElimina
    Risposte
    1. ti ringrazio davvero molto, fa piacere sentire che anche gente esperta trova interessante il mio lavoro. per me non è un problema rispondere alle richieste di aiuto, anzi, ognuna è un'occasione per aiutere e migliorarmi. attendo tue notizie ;)

      Elimina
  81. Ciao.Evviva sono finalmente riuscito a caricare il programma completo di librerie sul mio arduino!!!(per me un gran risultato)non ti immagini la soddisfazione di non aver visto,dopo gli innumerevoli tentativi falliti,la scritta in bianco con le dimensioni del file!Questo a dimostrazione che con un buon tutorial anche un profano può addentrarsi in campi sconosciuti.appena mi arriverà il resto del materiale mi diletterò all'assemblaggio della parte puramente manuale.Grazie e Buona Pasqua

    RispondiElimina
  82. Ciao Valerio.sono riuscito a caricare, sul mio arduino,il programma completo di librerie.Non ti dico la soddisfazione nel vedere la scritta "caricato correttamente"dopo una lunga serie di insuccessi.questo a dimostrazione che con un buon tutorial si può riuscire a realizzare cose che altrimenti non ci si immaginerebbe mai di poter fare.Appena mi arriverà il resto del materiale potrò dedicarmi nell'assemblaggio della parte più manuale...del progetto.ti aggiorno. Buona Pasqua. :)

    RispondiElimina
  83. Ciao Valerio,he! hai detto bene...volevo chiederti x conferma alla mia deduzione:per il buzzer arduino compatibile ( http://www.banggood.com/Arduino-Compatible-Active-Speaker-Buzzer-Alarm-Module-For-PC-Printer-p-76358.html )non è necessario il transistor di pilotaggio..?

    RispondiElimina
    Risposte
    1. in generale si preferisce sempre mettere un transistor, sia per non sforzare arduino, sia per isolare ed evitare danni in caso di problemi all'elemento collegato. questo tipo di buzzer è talmente piccolo che puoi pilotarlo direttamente senza problemi, però te lo sconsiglio, non è abbatsanza potente per i nostri scopi

      Elimina
    2. OK, grazie allora opterò su un altro tipo.so già da dove tirarlo fuori:da un allarme per finestre con contatto magnetico(quelli che si applicano con il bi-adesivo). Ciao

      Elimina
  84. ciao frank potresti contattarmi via mail a morgante.valerio@gmail.com, voglio parlarti di una cosa. grazie

    RispondiElimina
  85. ciao Valerio,sono finalmente riuscito ad assemblare il tutto,però all'accensione sul display appaiono i 3 trattini e la A (come dal tuo video),però non riconosce la tastiera e il buzzer continua a suonare. hai idea di cosa possa essere?domani (adesso sono cotto non riesco più a connettere) proverò a ricontrollare i collegamenti e i valori delle resistenze sperando di trovare un errore

    RispondiElimina