Visualizzazione post con etichetta Arduino. Mostra tutti i post
Visualizzazione post con etichetta Arduino. Mostra tutti i post

lunedì 6 luglio 2015

Arduino accende il Samsung Navibot

Ciao a tutti,
con questo post vorrei spiegare come ho creato questo piccolo sketch per Arduino per accendere il Samsung Navibot tramite infrarossi.
Un led emettitore infrarosso va collegato alla porta PWM n.3 di Arduino.
Un segnale che corrisponde al tasto PLAY del telecomando del Navibot viene inviato ogni 5 secondi, in contemporanea il led on board di Arduino si illumina per avvisare quando viene emesso il segnale.

/*
 * Questa demo serve per avviare il robot Navibot tramite infrarossi
 * Un led infrarosso deve essere collegato ad Arduino PWM al pin 3.
 */

#include <IRremote.h>

IRsend irsend;

void setup()
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}


void loop() {
  delay(4500);
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  unsigned int Auto[68] = {4590, 4590, 590, 1690, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590,590, 590, 1690, 590, 1690, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1690, 590, 590, 590, 1690, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, 1690, 590, 590, 590, 1690, 590, 1690, 590, 1690, 590, 1690, 590, 1690, 590, 1690, 590, 65750};
      irsend.sendRaw(Auto, 68, 38);
}

giovedì 2 luglio 2015

Arduino su internet! Parte 1

Ciao a tutti, in questo post illustrerò i miei primi passi per poter connettere Arduino a internet utilizzando il modulo ESP8266, dal costo esiguo di 5 euro...
Il modulo attualmente in mio possesso è questo ed è la versione 01, sono in attesa del modello 12:

La sua piedinatura è questa:


Dunque...se vogliamo collegarlo a Arduino ricordiamoci SEMPRE che Arduino lavora a 5v mentre il modulo purtroppo lavora a 3.3v, per cui non si può collegare direttamente Arduino all'ESP, pena, a lungo andare, la bruciatura del modulo stesso.
Per cui, per collegare Arduino al modulo ESP occorre utilizzare una conversione dei segnali da 5v a 3.3v, il metodo che ho utilizzato è quello dei DIODI 1N4148:





Bene, una volta effettuati gli opportuni collegamenti (la resistenza da 10k per me era obbligatoria), vado a caricare il seguente sketch, tramite l'interfaccia di Arduino:



#include <SoftwareSerial.h>
SoftwareSerial ESPserial(10, 11); // RX | TX
void setup() 
{
    Serial.begin(9600);     // communication with the host computer
    //while (!Serial)   { ; }
    // Start the software serial for communication with the ESP8266
    ESPserial.begin(9600);  
    Serial.println("");
    Serial.println("Remember to to set Both NL & CR in the serial monitor.");
    Serial.println("Ready");
    Serial.println("");    
}
void loop() 
{
    // listen for communication from the ESP8266 and then write it to the serial monitor
    if ( ESPserial.available() )   {  Serial.write( ESPserial.read() );  }
    // listen for user input and send it to the ESP8266
    if ( Serial.available() )       {  ESPserial.write( Serial.read() );  }
}


Una volta caricato su Arduino facciamo un reset di sicurezza e facciamo partire tutto.
Apriamo il monitor seriale e da li inviamo i comandi AT che vogliamo...
I comandi di prova che ho inviato sono:
AT (con risposta OK)
AT+RST(con risposta OK, più una stringa di caratteri "casuali")
AT+GMR(per sapere il numero di firmware, risposta 00200.9.4)

e ora...per quello che è stato costruito!
AT+CWLAP(restituisce l'elenco delle reti percepite)
AT+CWJAP="SSID","PASSWORD"(sostituendo SSID e PASSWORD con le proprie si connette alla rete)
AT+CIFSR(restituisce indirizzo IP e MAC address)

Una parte dei comandi è qui:
ESP8266ATCommandsSet

Il mio prossimo passo sarà far collegare Arduino alla rete restituendo una pagina HTML!
A presto, spero!