Esempi di base
Questa sezione presenta alcuni semplici esempi che mostrano come utilizzare μPanel con una scheda Arduino UNO.
1. LED Blink
In questo esempio Arduino creerà un semplice pannello con un LED e lampeggia è a 1 Hz.
Hardware
- ONU di Arduino Consiglio
- ESP-01 modulo WiFi (con μPanel Firmware)
- adattatore ADP-01 Breadboard
- fili Breadboard (3 linee, maschio-femmina)
Definizione μPanel
Uso del pannello di simulatore online si può facilmente progettare e controllare il layout del pannello prima di caricarlo su Arduino.
La definizione del pannello è minima, essa contiene un solo LED con la sua etichetta.
/L1G*15:0:Blinking;
Arduino Code
void setup() { // Initialize Serial Port Serial.begin(57600); // Let's uPanel start delay(3000); // Discharge old partial messages Serial.println(""); // Enable real-time response Serial.println("$PING 200"); // Send Panel (Single Green LED, 150% size on new line with text Blinking) Serial.println("$P:/L1G*15:0:Blinking;"); } void loop() { delay(500); // Wait 0.5 s Serial.println("#L11"); // Turn ON LED 1 delay(500); // Wait 0.5 s Serial.println("#L10"); // Turn OFF LED 1 }
2. Cronometro a una cifra
In questo esempio, un semplice cronometro è implementato usando un LCD a 7 segmenti. Arduino aumenterà una variabile a tasso 1 Hz e aggiornerà lo stato di visualizzazione di conseguenza.
Hardware
Hardware e le connessioni sono le stesse come nell’esempio precedente:
- Arduino UNO
- ESP-01 modulo WiFi (con μPanel Firmware)
- adattatore ADP-01 Breadboard
- fili Breadboard (3 linee)
Definizione μPanel
La definizione pannello è molto semplice e molto simile al primo presentato in Design Examples, solo un testo aggiuntivo è stato aggiunto per visualizzare l’esempio.
D!228;*10/T*15:μPanel-Arduino Example 2;{%100,3!88F,228}/20{-3r30p20!228,114*15{T:Run;|L1G:0;_T:Stop;|L2R:0;}|{^*8L35:0;_T:Counter;}}
Arduino Code
void setup() { // Initialize Serial Port Serial.begin(57600); // Let's uPanel start delay(3000); // Discharge old partial messages Serial.println(""); // Send Panel Serial.print("$P:D!228;*10/T*15:μ-Arduino Example 2;{%100,3!88F,228}/20"); Serial.println("{-3r30p20!228,114*15{T:Run;|L1G:0;_T:Stop;|L2R:0;}|{^*8L35:0;_T:Counter;}}"); // Turn ON LED 1 Serial.println("#L11"); } long int n = 0; // Define and initialise counter void loop() { // Wait 1 s delay(1000); // Set LED 3 State and increment counter Serial.print("#L3"); Serial.println((n++ % 10),DEC); }
3. Interruttore LED On/Off
In questo esempio, un interruttore e un led saranno collocati sul pannello. Arduino sarà in attesa per l’utente di cambiare lo stato dell’interruttore e dovrà aggiornare lo stato del LED di conseguenza. Questo è il primo esempio in cui Arduino deve ricevere i messaggi inviati dal gruppo di esperti, in tal modo, dobbiamo collegare la linea Arduino Rx e includiamo nel codice Arduino le funzioni di leggere i messaggi in arrivo.
Hardware
- Arduino UNO
- ESP-01 WiFi modulo (with µPanel Firmware)
- Adattatore ADP-01 per Breadboard
- Fili Breadboard (4 lines)
Si prega di notare che per la programmazione Arduino Uno, la linea RxD (filo blu) deve essere scollegato dal modulo WiFi
Definizione μPanel
La definizione del pannello include un testo per il titolo del pannello, un LED verde standard e un interruttore On / Off di tipo 2.
D!228;T*15:μPanel-Arduino Example 3;{%100,3!88F,228}*20/L1G:0:LED;*10/W1:0;
Arduino Code
void setup() { // Initialize Serial Port Serial.begin(57600); // Let uPanel to start delay(3000); // Discharge old partial messages and activate real-time response Serial.println("\n$PING 200"); // Send Panel (A LED and a Switch) Serial.println("$P:D!228;T*15:μ-Arduino Example 3;{%100,3!88F,228}*20/L1G:0:LED;*10/W1:0;"); } String Msg; void loop() { int c; while ((c = Serial.read()) > '\n') Msg += (char) c; // Read incoming chars, if any, until new line if (c == '\n') // is the message complete? { if (Msg.equals("#W10")) Serial.println("#L10"); // Turn OFF LED 1 if switch is OFF if (Msg.equals("#W11")) Serial.println("#L11"); // Turn ON LED 1 if switch is ON Msg = ""; } }
4. Contatore Pressioni
In questo esempio un pulsante sarà posto sul pannello. Arduino conterà quante volte l’utente preme il tasto. Il valore del contatore viene visualizzato sul pannello sopra il pulsante.
Hardware
Hardware e le connessioni sono le stesse come nell’esempio precedente:
- Arduino UNO Board
- ESP-01 WiFi module (with µPanel Firmware)
- Adattatore per breadboard ADP-01
- Breadboard wires (4)
Definizione μPanel
La definizione del pannello include un testo per il titolo del pannello, un messaggio per visualizzare il valore del contatore e un pulsante.
D!228;T*15:μPanel-Arduino Example 4;{%100,3!88F,228}*20/T:Counter:;&M1:0;//B1p20r40:INCREMENT;
Arduino Code
void setup() { // Initialize Serial Port Serial.begin(57600); // Let uPanel to start delay(3000); // Discharge old partial messages and activate real-time response Serial.println("\n$PING 200"); // Send Panel (a Message and a Button) Serial.println("$P:D!228;T*15:μ-Arduino Example 4;{%100,3!88F,228}*20/T:Counter:;&M1:0;//B1p20r40:INCREMENT;"); } String Msg; int n = 0; // Create the counter variable void loop() { int c; while ((c = Serial.read()) > '\n') Msg += (char) c; // Read incoming chars, if any, until new line if (c == '\n') // is message complete? { if (Msg.equals("#B1P")) // has Button 1 been pushed? { Serial.print("#M1"); // Update message 1 text: Serial.println(++n,DEC); // increment and send the counter value } Msg = ""; } }