Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni

Slides Arduino

Il documento descrive le differenze tra polling e interrupt e fornisce esempi di codice Arduino per implementare entrambe le tecniche. Viene inoltre spiegato come utilizzare il modulo Bluetooth RN-42 per stabilire connessioni tra dispositivi e come configurarlo in modalità master o slave.

Caricato da

filippo
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
2 visualizzazioni

Slides Arduino

Il documento descrive le differenze tra polling e interrupt e fornisce esempi di codice Arduino per implementare entrambe le tecniche. Viene inoltre spiegato come utilizzare il modulo Bluetooth RN-42 per stabilire connessioni tra dispositivi e come configurarlo in modalità master o slave.

Caricato da

filippo
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 8

27/03/2019

POLLING VS INTERRUPT

Polling Interrupt

SERIAL EVENT
String inputString = ""; // a String to hold incoming data
bool stringComplete = false; // whether the string is complete

void setup() {
// initialize serial:
Serial.begin(9600);
// reserve 200 bytes for the inputString:
inputString.reserve(200);
}

void loop() {
// print the string when a newline arrives:
if (stringComplete) {
Serial.println(inputString);
// clear the string:
inputString = "";
stringComplete = false;
} https://www.arduino.cc/en/Tutorial/SerialEvent
}

void serialEvent() {
while (Serial.available()) {
// get the new byte:
char inChar = (char)Serial.read();
// add it to the inputString:
inputString += inChar;
// if the incoming character is a newline, set a flag so the main loop can
// do something about it:
if (inChar == '\n') {
stringComplete = true;
}
}
}

1
27/03/2019

COMUNICAZIONE BLUETOOTH

BLUETOOTH - CARATTERISTICHE

2
27/03/2019

QUANDO SI UTILIZZA IL BLUETOOTH

COSA UTILIZZEREMO

3
27/03/2019

CARATTERISTICHE DEL MODULO RN42


• Comunica attraverso l’interfaccia USART
• Ha un MAC ADDRESS univoco che è scritto sull’etichetta del dispositivo, o in
alternativa può essere richiesto mediante l’apposito comando sulla USART
• Il baud rate di default è 115200
• Può essere configurato come Master, come Slave o in Pairing Mode. In Pairing
Mode, funge da Master e cerca di associarsi in modo automatico ad un altro
dispositivo Slave specifico (viene impostato il MAC ADDRESS a cui associarsi)
• La configurazione di default è in modalità Slave

CONNESSIONE CON PC
• Avviare la ricerca automatica di dispositvi bluetooth.
• Selezionare il dispositivo (il nome univoco del dispositivo è RNBT-#### , dove
#### sono le ultime 4 cifre del MAC ADDRESS)
• Aggiungerlo ai dispositivi conosciuti e confermare inserendo il PIN
• Scaricare il programma Bluetooth Serial Terminal o altro programma per
comunicare con dispositivi bluetooth
• Effettuare la connessione e iniziare la comunicazione.

4
27/03/2019

CONNESSIONE TRA DUE RN-42


• Impostare un dispositivo come Master e l’altro come Slave

• Accoppiare i due dispositivi

Si, ma per farlo bisogna modificare alcune impostazioni…

CONNESSIONE TRA DUE RN-42


• Esiste una serie di istruzioni, così come specificato da datasheet,
da inviare a ciascun modulo RN-42 per impostarne la modalità di
funzionamento

• Innanzitutto bisogna passare dalla modalità Dati alla modalità


Comandi. Questo si fa inviando al modulo RN-42 la stringa:

$$$

5
27/03/2019

IMPOSTARE UN DISPOSITIVO COME SLAVE


• Metti il dispositivo in command mode inviando il comando $$$ -> Il dispositivo
restituisce la stringa CMD.
• Invia il comando SF,1\n per riportare tutte le impostazioni a quelle di default -> Il
dispositivo restituisce AOK.
• Invia il comando SA,0\n per disabilitare l’autenticazione -> Il dispositivo
restituisce AOK.
• Invia ST,5\n per impostare il valore del configuration Timer a 5s -> Il dispositivo
restituisce AOK.
• Invia D\n per verificare le modifiche -> Il dispositivo restituisce una serie di
parametric
• Invia --\n per ritornare alla modalità DATI -> Il dispositivo restituisce END.

IMPOSTARE UN DISPOSITIVO COME MASTER


IN MODALITA’ AUTO-CONNECT
• Metti il dispositivo in command mode inviando il comando $$$ -> Il dispositivo restituisce la
stringa CMD.
• Invia il comando SF,1\n per riportare tutte le impostazioni a quelle di default -> Il dispositivo
restituisce AOK.
• Invia il comando SA,0\n per disabilitare l’autenticazione -> Il dispositivo restituisce AOK.
• Invia il comando SM,3\n per impostare la modalità Auto-Connect Master Mode. -> Il dispositivo
restituisce AOK.
• Invia il comando SR,<address>\n per salvare il MAC-address del modulo Slave a cui connettersi
automaticamente-> Il dispositivo restituisce AOK.
• Invia ST,5\n per impostare il valore del configuration Timer a 5s -> Il dispositivo restituisce AOK.
• Invia D\n per verificare le modifiche -> Il dispositivo restituisce una serie di parametric
• Invia --\n per ritornare alla modalità DATI -> Il dispositivo restituisce END.

6
27/03/2019

PROGETTO FINALE
OBIETTIVI:

• Implementare le conoscenze acquisite durante il corso per implementare


un’applicazione complessa con Arduino.

PROGETTO FINALE
1) Progettazione di un sistema domotico
• Sistema di allarme (1 cicalino, LED, fotoresistenza, 4 switch)
• Controllo apertura tapparelle e cancello (4 servomotori, 1 LED)
• Controllo illuminazione (LED, fotoresistenze)
• Termostato (1 Motore DC, 2 Transistor, 1 sensore di temperatura)
• Inseguitore solare (3 fotoresistenze, 1 servomotore)
• Controllo Garage (2 Moduli Bluetooth, sensore di temperatura, sensore luminosità, 1 servomotore,
LEDS)
2) Progettazione sistema di controllo di un’auto elettrica
• Sistema di controllo ruote motrici (4 Motori DC, 2 Driver)
• Controllo asse ruote (1 sensore di inclinazione, 1 servomotore)
• Stereo + Sistema di telemetria (1 cicalino, 1 fotoresistenza, 1 sensore di temperatura)

7
27/03/2019

PROGETTO FINALE

3) Sviluppo ed implementazione di un’idea progettuale che possa trovare


applicazione in ambiti industriali innovativi.

Potrebbero piacerti anche