El objetivo de la práctica: Enviar información a Arduino a través del puerto Serie y que éste responda  a esa información.

En Arduino cargaremos el siguiente scketch:

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

void loop() {
  if (Serial.available()>0)
  {
    char inByte = Serial.read();
    if (inByte == 'A'){
        digitalWrite(12, HIGH);  
        delay(1000);             
        digitalWrite(12, LOW);   
        delay(1000);             
    } else {
        digitalWrite(12, HIGH);
        delay(500);
        digitalWrite(12, LOW);
        delay(500);
        digitalWrite(12, HIGH);
        delay(500);
        digitalWrite(12, LOW);
    }
  }   
             
}

El circuito constará de una resistencia de 320 y un led que estará conectado al pin 12 de nuestro arduino.

Una vez cargado el programa en Arduino abriremos el SerialMonitor y enviaremos una A. Observaremos que el led se enciende y se apaga una sola vez.

Ahora enviaremos otra letra diferente y el led se encenderá, se apagará, se encenderá y se apagará. El doble de rápido ya que la espera es la mitad.

Para probarlo desde python crearemos el siguiente script:


import serial

ser=serial.Serial('/dev/ttyACM0',9600)

letra=raw_input('Letra a enviar: ')

ser.write(letra)

Más…en clase.

 

Un saludo.

 

 

 

 

Anuncios