Ex programma funzionante ora non funge più

Salve a tutti,
Sfortunatamente mi trovo costretto a ricorrere al vostro aiuto e conoscenze, in quanto mi si è presentato un problema abbastanza grave.

2 giorni fa feci un programma per comandare una riproduzione in scala di un distributore di lattine;

BREVE SPIEGAZIONE PROGETTO:

Questo progetto è stato realizzato per simulare il principio di funzionamento di un distributore di lattine.
Esso dispone di 6 servo motori, 6 pulsanti, una gettoniera, un rilevatore di presenza, un sistema di allarme,
un LCD e 4 led di stato.
Per permettere alle lattine di scendere dalle loro apposite corsie inclinate, i servo motori compiono una
rotazione di moto orario e poi antiorario di 90 gradi; per quel che riguarda, invece, la fila dei motori sul lato sinistro del distributore i motori effettuano una rotazione contraria (ovvero -90° e poi +90°).
Il tutto è stato realizzato a computer utilizzando "SwitchCase" il quale, in modo ordinato e
schematico, ci ha permesso di realizzare il software nel modo più semplice.
I 6 servo motori sono comandati da 6 pulsanti, uno per ogni motore; ci sono poi 4 led che indicano in quale fase dell'acquisto ci si trova (il Led Verde indica che la macchina è pronta a funzionare; il Led Giallo2, invece, indica che il gettone è stato inserito; il Led Giallo si accende qual'ora un servo motore stia funzionando; il Led Rosso rimane acceso per 4 secondi dopo lo spegnimento del Led Giallo per indicare che il il funzionamento del motore è terminato. Allo stesso tempo sull'LCD vengono stampate le informazioni della fase in cui ci si trova.
Il tutto è preceduto da una fase dove il rilevatore di presenza, qualora una persona sia nel suo range di funzionamento, stampa a video "Ciao! Inserisci il gettone:" facendo anche accendere il Led Verde per indicare che è possibile interagire con la macchina; qualora invece non ci sia nessuna persona dinanzi alla macchinetta, a video sarà stampata la scritta con il nome della scuola e il Led Rosso sarà in funzione come per indicare che non è possibile interagire con il distributore.
Vi è poi un efficiente sistema di allarme che, nel caso in cui si verifichi la condizione per la quale qualcuno provi a rubare i prodotti dall'apposito spazio di ritiro dei prodotti, un pulsante, che sarà sicuramente premuto nel caso in cui si provi il furto tramite un efficiente movimento meccanico dello sportellino della sezione del ritiro, manderà un segnale alla scheda Arduino che poi sarà rielaborato come un Output sonoro dal Buzzer.


Scusate eventuali errori di sintassi o altro ma credo che il concetto un po in mente lo abbiate.

Tornando a noi, feci questo programma, lo testai e rispettava tutto quello che avevo stabilito, il tutto funzionava in armonia, senza problemi.

Dovendo poi acquistare una propria scheda Arduino mega (percisamente questa: https://www.amazon.it/SunFounder-ATmega2560-16AU-Board-compatible-Arduino/dp/B00D9NA4CY/ref=sr_1_4?ie=UTF8&qid=1464290696&sr=8-4&keywords=arduino+mega ) siccome quella che stavo utilizzando era di un mio compagno di classe, decisi di provarlo appena arrivato e, dopo aver collegato tutti i cavetti e caricato il programma, ho iniziato a riscontrare moltissimi problemi.

-Il radar non svolgeva più la sua funzione
-l'LCD stampava a video la scritta 1 secondo sì e uno no
-I led si illuminavano a piacimento
-Il buzzer produceva suoni ovattati e molto deboli oltre ad essere fuori tempo

Allora decisi di provare a rimettere la scheda che avevo utilizzato in precedenza ma ancora si sono ripresentati gli stessi identici problemi.

La mia conoscenza nel settore non è vesta anzi, credo a malapena sufficiente essendo io frequentante una classe 4a ma, siccome mi sono iscritto ad una gara con altri progetti della mia scuola, non vorrei fare brutta figura proprio ora.

PS: La parte di programma che più mi è risultata problematica è stata:

"
long durata, distanza; //Configurazione (RADAR)
digitalWrite(trigPin,LOW);
delayMicroseconds(2);
digitalWrite(trigPin,HIGH);
delayMicroseconds(10);
digitalWrite(trigPin,LOW);
durata = pulseIn(echoPin,HIGH);

distanza = durata/ 29.1 / 2 ;
"

Immensa gratitudine a tutti coloro i quali siano giunti in mio soccorso. Cordiali saluti.

Temo che tu abbia dimenticato l'allegato...

Comunque, sei sicuro di non avere solo rifatto male i collegamenti?

Programma

Programma.txt (15.5 KB)

@Yuri98Ravelli: Non avendolo tu ancora fatto, 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 REGOLAMENTO ... Grazie.

Guglielmo

Non ti è venuto in mente che, essendo quella scheda un clone, potrebbe non funzionare?

Provala con altri sketch di esempio.