Manual Raspberry Pi Pico + Arduino IDE #3

Anuncio
RaspberryPi

El monitor serial es una herramienta muy útil en los diversos proyectos que puedes desarrollar con la Raspberry Pi Pico. Permite desplegar información y mensajes en tu editor, según los datos que envíe tu tarjeta. Puedes encontrarlo como una lupa en la esquina superior derecha de tu ventana y configurar ciertos parámetros dentro de la ventana que se despliega.

Leyendo entradas digitales

Como primer ejercicio vamos a leer una entrada digital con un push button conectado a la Pico. Vas a necesitar un push button y una resistencia de 10kOhms, además de algunos jumpers. El código que vamos a usar se ve así:

//Declaración de constantes
const int Boton = 14;
//Da el nombre “Boton” al pin 2
void setup()
{
//Inicializa la comunicación serial a 9600 bits por segundo
Serial.begin(9600);
pinMode(Boton, INPUT);
//Configura el pin "Boton" como entrada digital
}
void loop()
{
  //Almacena la información de la entrada digital en la variable “EstadoDeBoton”
  int EstadoDeBoton = digitalRead(Boton);

  //Envia por el puerto serial la información almacenada en “EstadoDeBoton”,
  //esta información será visualizada en el monitor serial.
  Serial.println(EstadoDeBoton);
  //Espera 1 milisegundo entre cada lectura para estabilidad en las mediciones
  delay(1);
}
Este es el resultado que debes ver en tu monitor serial

Enviando señales desde el monitor

Al igual que puedes leer mensajes enviados desde la Raspberry Pi Pico, puedes enviar mensajes desde el monitor serial. En este caso vamos a activar un LED desde la consola y verificar que se haya encendido. Para el circuito necesitarás un LED, una resistencia de 220ohms y algunos jumpers:

//Declaración de constantes
const int LED = 15;
//Da el nombre “Boton” al pin 2
void setup()
{
  pinMode(LED, OUTPUT);
  Serial.begin(9600);
  while (!Serial);
  Serial.println("Teclea 1 para encender el LED y 2 para apagarlo");
}

void loop() {
  if (Serial.available())
  {
    int estado = Serial.parseInt();
    if (estado == 1)
    {
      digitalWrite(LED, HIGH);
      Serial.println("Comando 1 recibido, el LED está ENCENDIDO");
    }
    if (estado == 2)
    {
      digitalWrite(LED, LOW);
      Serial.println("Comando 2 recibido, el LED está APAGADO");
    }
  }
}
No olvides presionar enter para enviar el comando a la tarjeta!

NOTA: recuerda usar constantes ya que te permitirán hacer cambios a tu proyecto más rápido. Por ejemplo, en este caso usamos el pin 15 para el LED, si queremos usar otro pin después, podemos cambiar el valor de la constante al principio y no habrá necesidad de sobre escribir el código en diferentes partes.

Anuncio
RaspberryPi

Diagrama de conexiones

Para este ejercicio usaremos el GPIO 14 y GPIO 15. Vía: Raspberry Pi

Si los códigos funcionaron correctamente, deberías haber visto un cero o un uno en el primer programa, indicando el estado del botón. En el segundo caso el LED debió encenderse cada que ingresabas un 1 o pagarse con un 2 y después presionabas enter. Estas son dos formas en las que puedes comunicar tu computadora con Arduino.

Referencias:

Manual de introducción a Arduino – 330ohms

Serial – Arduino Documentation