Il passaggio dalla programmazione al mondo embedded è stato per me la cosa più bella che avessi potuto desiderare per la mia sfera lavorativa.
Vedere che tramite quello che alcuni miei amici definiscono (simboli scritti a caso) riuscivo a far muovere qualcosa di reale è stata davvero un’emozione.
Arduino ha rappresentato una rivoluzione a livello mondiale, l’azienda italiana ha davvero rivoluzionato il modo di vedere e concepire il mondo embedded. Arduino è semplice, intuitivo e non necessita di grandi capacità, grazie anche alla vastissima comunità che si è creata attorno.
Per chi volesse entrare nel mondo Arduino ricordo che il
25 Settembre 2014 alle ore 18:00
presso il Cinema Grotta di Sesto Fiorentino (FI)
si terrà un workshop di livello Base interamente dedicato ad Arduino
(da non perdere)
Dopo un po’ che lavori con Arduino ed acquisisci confidenza con il sistema, vuoi essere in grado di configurare il tuo “sketch” in modo da non doverlo ricompilare ogni volta che fai un errore.
E qui, Arduino, ha vinto di nuovo.
Arduino comunica tramite protocollo Seriale (RS232 integrata tramite porta USB e a seconda delle versioni anche sui PIN di I/O).
Il protocollo seriale, la cui prima esperienza mi riporta indietro nel tempo all’utilizzo di uno Zilog Z80 (microcontrollore del ’76!) che già la implementava per comunicare con gli allora moderni PC.
Attualmente tutti (e non esagero) i linguaggi di programmazione hanno almeno una libreria per comunicare tramite porta Seriale.
Questo fa si che ci si possa interfacciare, comunicare e creare applicativi desktop (e web) per sfruttare al massimo le potenzialità del nostro Arduino.
Dal C++ al Python, dal PHP al C# passando per la moda “Node.js” tutti si possono interfacciare con Arduino.
Facciamo un semplice esempio!
var SerialPort = require("serialport").SerialPort;
var serial  = new SerialPort("/dev/tty-usbserial1", { baudrate: 115200 });
serial.open(function (error) {
  if ( error ) {
    console.log('Failed to open: ' + error);
  } else {
    console.log('Status: Open');
    serial.write("L1ONn", function(err, results) {
      console.log('Result ' + results);
    });
  }
});
Il LED acceso? è quello nella foto di copertina 🙂