PowerShield 6+6 T800

Obiettivo: Utilizzare la scheda PowerShield 6+6 T800 per controllare dei carichi in corrente continua con Arduino. Caso applicativo: controllo di velocità di una ventola mediante PWM.



Componenti elettronici:

  • Arduino UNO
  • PowerShield 6+6 T800
  • 1 Ventola da PC
  • 1 Alimentatore da Banco (corrente continua)
  • 1 Trimmer per controllare la velocità della ventola

Pre-requisiti:


Controllo di un LED mediante un Potenziometro


TeoriaObiettivo di questa dimostrazione è controllare una ventola per PC utilizzando la PowerShield 6+6 T800. E’ importante considerare che esistono due differenti tipologie di ventole le quali si differenziano nel numero di cavi utilizzati per alimentarle (vedi la seguente figura). Nel caso specifico è stato utilizzata una ventola a 3 cavi:

  • Cavo Nero: GND
  • Cavo Rosso: Alimentazione
  • Cavo Giallo: RPM per il controllo della velocità

Poiché la tensione di alimentazione è pari a 12 volt non è possibile utilizzare esclusivamente la scheda Arduino per pilotare la ventola ma è necessaria una fonte di alimentazione esterna ed un dispositivo di controllo (e.g., Relè, Transistor). Nel caso specifico è stato utilizzato la PowerShield 6+6 T800.

PowerShield 6+6 T800Sviluppata da Vytautas Janušonis e Valdas Mikėnas, questa scheda è stata progettata ed ideata per Arduino (UNO, MEGA, NANO) con l’obiettivo di aiutare l’utilizzatore nella gestione dei carichi che richiedono particolari valori di tensione (input voltage range 6.5 – 32Volt) e corrente (fino a 25 Ampere). Grazie alla tecnologia Mosfet la scheda supporta la gestione di elevate frequenze in uscita e garantisce il supporto PWM fornito da Arduino. In seguito sono riportate le principali specifiche tecniche della scheda:

  • Tensione in ingresso fino a 32V con un supporto massimo di corrente pari a 25A.
  • Le uscite possono controllare differenti tensioni
  • PWM fino a 100kHz
  • Fino a 7A per canale
  • Autoalimentazione della scheda controllore Arduino.
  • Circuito Integrato di MultiProtezione

Sono riportate in seguito le immagini relative alla scheda T800 e alla sua configurazione dei PIN

PowerShield 6+6 T800:
PowerShield 6+6 T800 Pin Configuration

Nella board sono presenti due switch:

  • Switch1: Permette di scegliere le uscite. Quando lo switch1 è in posizione OFF i morsetti sono pilotati i pin 2, 4, 7, 8, 12e 13. Quando invece lo switch2 è in posizione ON, sono portati sui morsetti di uscita i PIN PWM 3, 5, 6, 9, 10, 11.
  • Switch2: Permette di ottenere il feedback sugli ingressi analogici di quello che sta accadendo in uscita. Nello specifico, quando lo switch2 è in posizione ON e lo switch1 è in posizione OFF sul pin A2 viene riporta la misura della corrente che sta passando nel morsetto di uscita, sul pin A1 è riportato un warning (ON/OFF), ed infine sul pin A0 si indica se l’uscita è in protezione. Differentemente quando lo switch1 è in posizione ON queste informazioni sono riportate rispettivamente sui pin A3, A4, e A5. Tutti questi feedback possono essere visualizzati utilizzando il monitor Seriale.

Nel caso specifico del controllo di velocità di una ventola da PC lo Switch1 è impostato su ON (per abilitare i PIN PWM) mentre lo Switch2 è impostato su OFF.

Collegamento Circuitale:

Collegamento Circuitale



Considerazioni: La PowerShield 6+6 T800 è una ottima scheda che permette di ampliare le possibilità di Arduino trasformandolo in un dispositivo efficace anche dal punto di vista della gestione di carichi che richiedono l’utilizzo di correnti elevate. In molte applicazioni infatti il limite di utilizzo del controllore Arduino è proprio legato all’impossibilità di gestire carichi che richiedono tensioni maggiori di 5volt e/o correnti superiori ad un Ampere.




Utilizzare la EEPROM e salvare dati in modo permanente

Obiettivo: Salvare dati in modo permanente nella memoria EEPROM di Arduino.

Componenti Elettronici:

  • Arduino UNO

Teoria: Arduino UNO è una piattaforma HW dotata di Microcontrollore ATMega328P, questo dispositivo è dotato di tre differenti tipologie di memoria interna

  • FLASH 32 KB (Memoria allo stato solido): Memoria non volatile nella quale viene memorizzato il programma (include anche il bootloader (0,5 KB). 
  • SRAM 2 KB (Static RAM): Memoria volatile utilizzata per memorizzare le variabili e le costanti del software.etc)
  • EEPROM 1KB (Electrically Erasable Programmable ROM): Memoria non volatile utilizzate per salvare le differenti configurazioni del programma.
Schema Elettrico Arduino

E’ possibile utilizzare la EEPROM di Arduino al fine di memorizzare delle informazioni in modo permanente e che non vengano cancellate in mancanza di alimentazione. La Memoria EEPROM di Arduino UNO è pari a 1Kb = 1024 spazi o celle in cui si possono memorizzare i dati (numeri compresi tra 0 e 255).
E’ importante considerare che, se si prova a memorizzare un numero negativo oppure un numero maggiore di 255, i valori memorizzati risultano errati.
Per potere utilizzare la memoria EEPROM interna è necessario includere la specifica liberia “EEPROM.h”. Non sono necessari componenti hardware ulteriori.

Le principali funzioni utilizzate per gestire la memoria EEPROM sono:

  • EEPROM Clear: Cancella i Byte nella EEPROM.
  • EEPROM Read: Legge il valore memorizzato nella EEPROM.
  • EEPROM Write: Memorizza il valore nella EEPROM

Codice: Esempio di una scrittura su EEPROM

Per potere scrivere dati nella EEPROM è necessario includere la libreria “EEPROM.h”, nel dettaglio la funzione utilizzata è:

EEPROM.write(address, value)

dove address è il parametro che indica l’area di memoria dove scrivere il dato (da 0 a 1023), e value è il valore da scrivere in EEPROM (da 0 e 255).




Codice: Esempio di una lettura su EEPROM


Per potere leggere dati nella EEPROM è necessario includere la libreria “EEPROM.h”, nel dettaglio la funzione utilizzata è:

value = EEPROM.read(address)

dove address è il parametro che indica l’area di memoria dove leggere il dato (da 0 a 1023), e value è il valore del dato letto dalla EEPROM (da 0 e 255).






Riavviare Arduino in modo Hardware

Obiettivo: Utilizzare la porta Reset per riavviare Arduino.

Teoria: In alcune applicazioni potrebbe essere utile avere la possibilità di riavviare l’esecuzione dello sketch via software. In questo modo si può ripristinare la board ad una condizione iniziale certa.
Un esempio potrebbe essere la gestione del meccanismo di sicurezza di una macchina industriale dove, premendo il pulsante di arresto, il dispositivo deve ritornare ad uno stato iniziale ben definito.
In questo specifico caso, è possibile utilizzare la porta Reset di arduino, che se opportunamente attivata, permette di riavviare il programma.
Nel dettaglio è importante specificare che la porta di reset è attiva bassa ovvero se portato a livello basso (0V) esegue il reset della scheda.

Per effettuare il reset della scheda viene introdotto un pulsante esterno collegato in serie con una resistenza di pull-up. In questa configurazione il pulsante permette di gestire in modo corretto (attivo basso) la porta di reset.

Collegamento Circuitale:

Codice: Viene in seguito riportato il codice necessario per riavviare via hardware il microcontrollore Arduino. Nello specifico il programma, scrive sul monitor seriale la scritta “Start” ogni volta che Arduino viene riavviato.








Riavviare Arduino in modo Software

Obiettivo: Utilizzare una “funzione di reset” per riavviare Arduino via codice.

Teoria:

In alcune applicazioni potrebbe essere utile avere la possibilità di riavviare l’esecuzione dello sketch via software. In questo modo si può ripristinare la board ad una condizione iniziale certa.
Un esempio potrebbe essere la gestione del meccanismo di sicurezza di una macchina industriale dove, premendo il pulsante di arresto, il dispositivo deve ritornare ad uno stato iniziale ben definito.
In questo specifico caso, è possibile definire ed utilizzare una funzione di Reset, che se richiamata, permette di riavviare il programma.
Nel dettaglio prima della funzione di setup viene dichiarato un puntatore a funzione il quale punta alla posizione zero. Richiamando questa funzione Arduino esegue il codice come se fosse stato appena avviato.

Codice: Viene in seguito riportato il codice necessario per riavviare via software il microcontrollore Arduino. Nello specifico il programma, una volta avviato, attende per cinque secondi prima di effettuare il reset software. Il monitor seriale viene utilizzato per fornire i feedback relativi alle fasi di start e di reset.








Controllo del Contrasto di un Display LCD mediante PWM

Obiettivo: Controllare il contrasto di un Display LCD 16×2 (basato su un Driver Hitachi HD44780) mediante PWM. (Se non possiedi un Trimmer puoi utilizzare questa strategia basata su PWM e filtro passa-basso).

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Display LCD (e.g., 1602A) compatibile con Driver Hitachi HD44780 
  • 1 Resistenza da 220 Ohm
  • 1 Resistenza da 1kOhm (per filtro passa basso)
  • 1 Condensatore elettrolitico da 22uF (per filtro passa basso)

Pre-requisiti:


Il Display LCD


TeoriaIn un display LCD basato su Driver HD44780 il pin numero 3 è utilizzato per gestire il contrasto. Questo pin viene tipicamente collegato ad un potenziometro con tensione variabile nel range 0 a 5v. Pertanto variando la posizione del Trimmer cambia il livello di contrasto del display. Il contrasto è un parametro di fondamentale importanza nella gestione di una dispositivo elettronico che utilizza un display LDC. Un’errata regolazione del livello di contrasto può rendere un’immagine troppo o poco dettagliata con il rischio che le aree più chiare e/o quelle più scure possano scomparire rendendo il testo non leggibile. Pertanto, nel caso in cui non si possedesse un Trimmer, l’utilizzo di un display LCD potrebbe essere facilmente compromesso a causa della incapacità di settare un livello di contrasto corretto.
Tuttavia, è importante considerare che, esistono delle alternative all’utilizzo di un trimmer per generare una tensione variabile compresa tra 0 e 5 Volts. Nel dettaglio, in questo articolo viene presentata una tecnica basata sull’utilizzo della PWM e di un filtro passa basso. L’impiego della tecnica PWM permette di generare un segnale con un duty cycle regolabile. Questa tecnica viene utilizzata anche nell’istruzione analogWrite per creare dei segnali apparentemente analogici partendo da segnali digitali. Il segnale PWM viene in seguito filtrato utilizzando un filtro RC passa basso del primo ordine. Attraverso questa operazione è infatti possibile ottenere la componente continua del segnale PWM necessaria per regolare il contrasto.

Collegamento Circuitale:

Collegamento Circuitale

CodiceAttraverso la variabile contrast (regolabile nel range 0-255) è possibile modificare il valore del contrasto da software fino ad ottenere l’effetto desiderato.




PersonalizzazioniE’ possibile introdurre due pulsanti per modificare il contrasto del display utilizzando il valore PWM (0-255). Un pulsante può incrementare il valore della variabile contrast mentre l’altro pulsante può decrementare il suo valore.





Real Time Clock per Arduino

Obiettivo: Scrivere e poi leggere l’ora e la data da una scheda RTC Real Time Clock.



Componenti elettronici:

  • Arduino UNO
  • 1 TinyRTC con chip DS1307 (link1link2)

TeoriaAlla base di questa esercitazione c’è il modulo TinyRTC con chip DS1307 ed EEPROM: 24C32 32K I2C con interfaccia I2C.

Caratteristiche Hardware

  • Chip RTC: DS1307
  • Memoria EEPROM: 24C32 32K I2C
  • Comunicazione: I2C (possibilità di collegare altri dispositivi I2C in cascata)
  • Batteria di backup supportata (NON inclusa): LIR2032
  • Ciclo di funzionamento del modulo (a piena carica): 1 anno
  • Dimensioni: 28 x 28 x 9mm
  • Peso: 4g

Se avete bisogno nei vostri progetti di un sistema per la
gestione di data e orario questa scheda è quello che fa per voi.

Per utilizzare tale scheda viene utilizzata la libreria RTClib.h

Tramite tale libreria è possibile settare nella funzione di setup la data e l’ora personalizzata (riga codice n.25), oppure quella di compilazione (riga codice n.22) , la prima volta che si carica il codice in Arduino, in modo tale che la scheda TinyRTC si configuri con un orario e data opportuni, poi si deve ricaricare lo stesso sketch commentando la riga di codice (n.22 o n.25).

Da questo momento in poi Arduino sarà in grado di utilizzare
un orologio real time in grado di gestire ore, minuti, secondi, anni, mesi e
giorni!

Collegamento Circuitale:

Collegamento Circuitale

Codice






Leggere informazioni dal GPS BN-880 o uBlox M8N

Obiettivo:

Leggere tutte le informazioni provenienti dal GPS BN-880 utilizzando la libreria TinyGPS++

Video:



Componenti elettronici:

Teoria:

Alla base di questa esercitazione c’è il modulo GPS Baitian BN-880, ma andrebbe benissimo anche un modulo uBlox NEO-7M o M8N o equivalenti.

Il modulo in oggetto oltre ad avere integrato il GPS,
oggetto dell’esercitazione, ha anche integrato una bussola (compass) HMC5883l comunicante
tramite il bus/protocollo I2C.

Ecco alcune caratteristiche:

  • Inexpensive,
    light, Dual Mode GPS and GPS/Compass using UBLOX M8N module
  • Receiving
    Format: GPS, GLONASS, Galileo, BeiDou, QZSS and SBAS
  • Frequency:
    GPS L1,GLONASS L1,BeiDou B1,SBAS L1,Galileo E1
  • Channels: 72
  • Data Protocol: NMEA-0183 or UBX, Default
    NMEA-0183
  • Single GNSS: 1Hz-18Hz
  • Concurrent GNSS: 1Hz-10Hz
  • Compass IC: HMC5883L

Il sistema GPS (Global Positioning System):

GPS sta per Global Positioning System cioè un Sistema di Posizionamento Globale, la cui funzione primaria è quella di determinare con precisione la posizione sul pianeta Terra di un ricevitore (come ad esempio uno smartphone o un apparecchio dedicato). Il ricevitore GPS riceve continuamente segnali da lontani satelliti in orbita attorno alla Terra. Attorno alla Terra, a circa 20.200 km di altitudine, orbitano 31 satelliti del sistema GPS. Ogni satellite ha al suo interno un precisissimo orologio atomico. Ogni satellite invia continuamente un segnale radio contenente la sua posizione, e l’orario di trasmissione del segnale. Il ricevitore GPS confronta questi segnali, e tramite alcune equazioni riesce a stabilire la sua posizione.

Il pallino rosso è il ricevitore GPS. Alle ore 12:00 tutti i
satelliti GPS inviano un segnale che dice “io mi trovo nella posizione XYZ, e
sono le 12:00”. Poiché i satelliti hanno distanze diverse dal ricevitore, il
segnale “io mi trovo nella posizione XYZ, e sono le 12:00” arriva al ricevitore
in momenti diversi: quello del satellite 4 arriva per primo; poi quello del
satellite 2; poi 3; e poi 1. Sapendo quanto ci ha messo il segnale ad arrivare,
e quindi la distanza fra il ricevitore e i vari satelliti, il ricevitore GPS,
con una relativamente semplice triangolazione, riesce a stimare la propria
posizione sul pianeta Terra.

Che cosa trasmette il modulo GPS:

Il modulo GPS trasmette tramite Seriale TTL (0-5 Volt) delle
“sentenze” tramite il protocollo NMEA0183.

NMEA 0183 (o più comunemente NMEA) è uno standard di comunicazione di dati utilizzato soprattutto in nautica e nella comunicazione di dati satellitari GPS. L’ente che gestisce e sviluppa il protocollo è la National Marine Electronics Association. Questo protocollo si basa sul principio che la fonte, detta talker, può soltanto inviare i dati (sentences) e la ricevente, detta listener, può soltanto riceverli.

Ad esempio la seguente sentenza $GGA trasmette tantissime
informazioni oltre alla Latitudine e Longitudine:

Tramite
la libreria TinyGPS++ è possibile intercettare tutti i tipi di sentenze GPS e
inoltre nell’ultima versione anche di elaborare le sentenze particolari, ad
esempio prelevate da altre fonti NMEA0183.

Schema Elettronico (Fritzing):

Codice:






Utilizzare e Creare una Libreria per il Sensore ad Ultrasuoni

Obiettivo: Utilizzare e creare una libreria (file header e cpp) per un Sensore a Ultrasuoni (HC-SR04) utilizzato per misurare la distanza.

Puoi scaricare i file di libreria cliccando nel seguente link: https://www.arduinofacile.it/wp-content/uploads/2020/10/UltrasonicSensor.zip
I file scaricati devono essere inseriti all’interno della cartella di progetto insieme al file .ino

Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • 1 Sensore Ultrasuoni (e.g., HC-SR04)

Pre-requisiti:


Il Sensore a Ultrasuoni


Teoriala realizzazione di funzioni di libreria permette di facilitare l’operazione di riutilizzo del codice rendendo più veloce e più rapido lo sviluppo. Nel caso specifico la funzione di libreria implementata sarà costituta da un file header (.h) e da un file sorgente (.cpp).

Un file header è  un file di testo che contiene i prototipi dei metodi (funzioni) definite nel relativo file sorgente. Nel caso in questione il file header contiene anche la dichiarazione della classe “UltrasonicSensor” utilizzata per modellare il sensore ad ultrasuoni.
Tale classe sarà caratterizzata da 2 attributi:

  • int pinEcho: il pin di echo
  • int pinTrigger: il pin di trigger

e da 4 metodi:

  • void SetPinEcho (int pinEcho): metodo utilizzato per settare il pin di echo
  • void SetPinTrigger(int pinTrigger): metodo utilizzato per settare il pin di trigger:
  • long GetDistance(): metodo utilizzato per effettuare la misura di distanza (restituisce un valore di tipo long)
  • long GetAverageDistance(int numIteration): metodo utilizzato per effettuare la misura di distanza media su un numero dato di misure (restituisce un valore di tipo long)

Nel file sorgente viene invece riportata l’implementazione dei prototipi delle funzioni dichiarate nel file header.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

Vengono in seguito riportate le tre porzioni di codice utilizzate per creare la funzione di libreria relativa al sensore ad ultrasuoni HC-SR04.

  • File Header: contiene la definizione della classe con i propri attributi (i.e., pinEcho e pinTrigger) ed i prototipi dei relativi metodi.



  • File Sorgente: contiene le implementazioni dei metodi riportati nel file header.



  • File Arduino: Utilizzato per fornire un esempio di come utilizzare la libreria per la gestione del sensore ad ultrasuoni.



Se tutti i file sono correttamente posizionati sullo stesso livello all’interno della cartella di progetto, due nuove tab compariranno nell’ambiente di sviluppo utilizzato per programmare Arduino. Attraverso queste tab sarà possibile visionare e modificare il file sorgente (.cpp) ed il file header (.h)




Blinking Led Senza Delay: MILLIS()

Obiettivo: Realizzazione del classico blinking led senza utilizzare la funzione Delay



Componenti elettronici:

  • Arduino UNO
  • Breadboard
  • Led
  • Resistenza (100 Ohm)

TeoriaSe da un certo punto di vista l’impiego della funzione delay è particolarmente utile per la realizzazione di semplici applicativi; da un altro punto di vista molteplici potrebbero essere gli inconvenienti legati all’utilizzo di questa funzione.
E’ infatti, molto importante, considerare che l’istruzione delay è un’istruzione bloccante. Questa istruzione “congela” Arduino nel suo stato corrente, pertanto negli istanti di delay non è possibile fare aggiornamenti, gestire input attraverso letture o comandare attuatori mediante scritture.
Ad esempio, nel caso della realizzazione di un semaforo per perdoni, dove è possibile effettuare la chiamata mediante la pressione di un pulsante, l’impiego della funzione delay è altamente sconsigliato per la gestione del semaforo perchè questo renderebbe invisibile la pressione del pulsate.
Per tutte queste ragioni è opportuno scrivere codici senza l’impiego della funzione delay. Nel dettaglio è opportuno sostituire la funzione delay con la più funzionale ma meno pratica funzione millis.

La funzione millis restituisce il numero di millisecondi che sono passati da quando la board Arduino ha eseguito il programam corrente. Questo numero si riazzera dopo circa 50 giorni.

Collegamento Circuitale:

Collegamento Circuitale

Codice:

A seguire viene riportato il codice utilizzato per fare lampeggiare il led senza delay. Nello specifico il codice memorizza l’ultimo istante in cui è avvenuta una azione (il led ha cambiato stato) nella variabile previousMillis mentre nella variabile currentMillis viene memorizzato il tempo corrente. Attraverso la differenza tra questi due tempi si comprendere se il led deve cambiare stato (accendersi o spegnersi). Nel dettaglio, se la differenza tra la variabile currentMillis e previousMillis è maggiore di 1000 millisecondi allora lo stato del led cambia.



PersonalizzazioniE’ possibile modificare il comportamento del circuito in questione intervenendo sul valore della variabile interval. Modificando il suo valore infatti cambia la frequenza di lampeggiamento del LED.
E’ inoltre possibile modificare il pin digitale utilizzato per pilotare il LED cambiando rispettivamente hardware e software.

L’utilizzo di una resistenza, in serie al LED, serve appunto per limitare la quantità di corrente presente sul diodo emettitore di luce.




App Inventor – Emoticon

Obiettivo: Realizzazione di una applicazione Android per riprodurre delle emoticon attraverso la pressione di pulsanti

Componenti:

TeoriaLa realizzazione di applicazioni Android richiede la conoscenza di software specifici (Android Studio) e complessi linguaggi di programmazione (Java). Tuttavia, queste competenze non sempre sono possedute dagli studenti e dalle persone che vogliono avvicinarsi alla programmazione per la prima volta. A tale scopo, il MIT di Boston ha sviluppato un tool che permette di creare applicazioni Android in modo grafico e semplice. Questo tool, denominato AppInventor, è accessibile a tutti attraverso il seguente portale web:

https://appinventor.mit.edu

Creazione della app (DESIGNER):

A seguire viene riportata una guida passo passo per la realizzazione della applicazione in questione. Prima di iniziare è opportuno scaricare i file necessari nella sezione “Componenti

  • Creazione di un nuovo progetto: attraverso il menu project creare un nuovo progetto cliccando su start new project. Denominare il progetto: Emoticon.
Creazione di un nuovo progetto 1/2
Creazione di un nuovo progetto 2/2
  • Inserimento degli elementi principali dell’applicativo: semplicemente trascinando gli elementi dalla palette (menu a sinistra) è possibile inserire i seguenti elementi: 2 Bottoni (il pulsante si trova in Palette/UserInterface) ed una immagine (si trova in Palette/UserInterface).
Inserimento degli elementi di layout
  • Inserire il file di sfondo (background): Per inserire il file di sfondo cliccare su screen1 nel menu components, ed in seguito cliccare sulla scritta background nel menu properties. Infine, uplodare il file di sfondo (EMOSfondo.png).
Inserire l’immagine di sfondo
  • Centrare i pulsanti: Per centrare i pulsanti, cliccare su screen1 nel menu componenti ed in seguito settare la proprietà center negli allineamenti verticali ed orizzontali attraverso il menu properties.
Centrare i pulsanti
  • Cambiare il testo dei pulsanti: Per cambiare il testo di un pulsante, cliccare su Button1 nel menu componenti ed in seguito cliccare su text e modificare il testo di riferimento.
Cambiare il testo di un pulsante
Cambiare il testo di un pulsante
  • Inserire le immagini contenti le emoticon: Per associare delle immagini ad un elemento è necessario innanzitutto caricare i file di sfondo. Pertanto selezionare image1 nella schermata componenti ed in seguito premere su Picture nel menu di proprietà. Caricare infine i due file associati (EMOFelice.jpeg, EMOTriste.jpeg)

Sviluppo dell’algoritmo (BLOCKS):

Terminata la creazione dell’interfaccia grafica è opportuno realizzare il codice associato all’applicazione. Per fare questo, cliccare in alto a destra sul pulsante BLOCKS.

  • Associare un evento al pulsante: Per cambiare uno sfondo di una immagine quando viene premuto un pulsante è opportuno associare l’opportuno ascoltatore. Pertanto cliccare su button1 ed in seguito trascinare nella schermata dei blocchi l’evento: “When Button1 Click do”. Eseguire la medesima operazione anche con il pulsante 2.
  • Modificare l’immagine: Per modificare il file associato ad una immagine selezionare il metodo set image Picture ed indicare il nome corretto del file nel campo stringa.

Download dell’applicazione:

Per scaricare l’applicativo è necessario avere un cellulare Android con relativo lettore di QRCode. Pertanto, terminato lo sviluppo cliccare nel menu build -> App (provide QR code for APK)