Come impostare le variabili o costanti con TinkerCad e richiamarle dove servono?

Buongiorno a tutti;
Sono poco pratico di Arduino e sto cercando in questi giorni di impadronirmi un po' del linguaggio di programmazione e dei diversi modi con il quale è possibile programmare lo stesso.

Ebbene il mio quesito attuale, al quale vorrei che qualche buona anima mi risponda togliendomi ogni dubbio, è il seguente:

Se effettuo una programmazione direttamente su IDE Arduino o altro ambiente simile ma sempre in codice, linguaggio testuale, posso inizializzare le variabili o costanti attraverso i vari comandi tipo:

int pushButton1 = 2;
int led1 = 12;

Poi posso richiamare le variabili pushButton1 e led1 indicando il nome della stesse nelle funzioni dove mi servono facendo così riferimento al numero dei pin assegnati in precedenza.

Ebbene mi sono accorto, magari sbaglio non conoscendo la procedura, che programmando in TinkerCad, programmazione a blocchi, non ho modo di dare un nome alle variabili assegnandogli pin relativo per poi richiamare successivamente le stesse dal nome assegnatogli.

Riesco a lavorare solamente e direttamente con il numero dei pin…

Qualcuno potrebbe farmi 2 o 3 esempi con TinkerCad su quale sia la procedura da seguire per assegnare le variabili o costanti per poi richiamare le stesse attraverso il nome assegnatogli nelle funzioni che mi interessano.

Spero di essermi spiegato correttamente, se così non fosse perdonatemi.

Questo è il forum di Arduino. Tinkercad è creato/gestito da Autocad, dovresti rivolgere la domanda al loro forum.

Uso un pò TinkerCAD, e puoi scrivere il codice invece di usare i blocchi. Ti sconsiglio la programmazione a blocchi, molto limitante (secondo me fa pena).
Uso programmazione a blocchi solo nella sezione CAD per generare disegni 3D

P.S. meglio "const byte pushButton1 = 2;" invece di "int pushButton1 = 2;"

Non so se esiste un modo per farlo, con la programamzione a blocchi su TinkerCad programmi solo quello che è nel loop, tutto il resto è in mano sua. Il mio consiglio è quello di andare sempre in modalità testo (tramite la combobox che riporta blocchi, se la clicchi c'è anche l'opzione testo) così hai il pieno controllo del codice, puoi copiare ed incollare da/verso l'IDE.
Se hai l'hardware sotto mano l'uso del simulatore è sconsigliabile, ha alcuni problemi noti (tempistiche di millis, alcune operazioni matematiche,ecc.) e comunque non aderirà mai al 100% con l'esecuzione sull'HW (Es. sul simulatore i pulsanti funzionano in modo ideale ovvero senza rimbalzi).
Detto ciò un consiglio riguardo alle variabili che usi per identificare e usare i pin ngresso/uscita, invece di definire variabili cose che non mutano mai durante l'esecuzione del programma (e solitamente non è che si sposta al volo un pulsante) puoi usare le define o le costanti:

#define PIN_BUTTON  2
#define PIN_LED       12
oppure
const byte pushButton1 = 2;
const byte led1 = 12;

e dar loro nomi quanto più "parlanti" possibile, se il codice si complica led1 può non essere così comprensibile come magari ledErrore oppure pulsanteAvvio.
Per approfondire puoi guardare anche qui ad esempio

Edit: Sovrapposto a @nid69ita ma scritto troppo per non postare :slight_smile:

nid69ita:
Questo è il forum di Arduino. Tinkercad è creato/gestito da Autocad, dovresti rivolgere la domanda al loro forum.

Uso un pò TinkerCAD, e puoi scrivere il codice invece di usare i blocchi. Ti sconsiglio la programmazione a blocchi, molto limitante (secondo me fa pena).
Uso programmazione a blocchi solo nella sezione CAD per generare disegni 3D

P.S. meglio "const byte pushButton1 = 2;" invece di "int pushButton1 = 2;"

Grazie, piano piano con l'aiuto di voi tutti vedrò di masticare un po meglio di Arduino. :slight_smile:

fabpolli:
Non so se esiste un modo per farlo, con la programamzione a blocchi su TinkerCad programmi solo quello....

Edit: Sovrapposto a @nid69ita ma scritto troppo per non postare :slight_smile:

Grazie.

Immaginavo che la programmazione a blocchi fosse limitante, anche se devo dire che per me che sono principiante a volte aiuta a capire alcuni concetti.

Mi hai risparmiato l'inferno :smiley: per come sono fatto se mi fossi imputato su questa cosa ci avrei perso molto tempo per provare a capire come inizializzare le variabili e come richiamarle usando il linguaggio a blocchi.

Grazie per gli utili consigli. Un pò per volta, con l'aiuto di tutti voi, masticherò sempre di più arduino.

PS: prendo appunti e metto da parte... :wink:

La programmazione a blocchi è carina. Ad esempio Scratch è fatto abbastanza bene. Esiste anche uno Scratch per Arduino, l'ho provato un pochino ed è già meglio di quello di TinkerCad. Ad esempio in S4A (scratch for Arduino) i blocchi digitalRead o digitalWrite accettano anche le variabili invece dei soli pin costanti.

Una volta funzionava ArduBlock, da aggiungere ad Arduino IDE, non sò se funziona ancora (sito del 2012!! ) e non ricordo se era limitante: http://blog.ardublock.com/engetting-started-ardublockzhardublock/

Anche se... lascerei stare la programmazione a blocchi in generale.