Testeando el Arduino

De Wiki AOC | Luis M. Garcia
Saltar a: navegación, buscar

Esta sección está dedicada a los primeros pasos llevados con nuestro Arduino UNO Rev. 3. El Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida.

Arduno.png

Nada más conectar la placa de Arduino UNO Windows 7 nos la reconoce y nos instala los drivers.

Ddrrvv.png

Arduino IDE

Para poder programar para nuestra placa es necesario descargar el IDE correspondiente, que podemos encontrar en https://www.arduino.cc/download_handler.php

Una vez finaliza la instalación podemos ejecutar el IDE, que nos reconocerá nuestra placa y tiene la siguiente interfaz:

Ejemploide.png

Proyectos de prueba

Parte dedicada a diferentes pruebas que se han realzado con el Arduino para ver su funcionamiento con los materiales que teníamos disponibles.

Test 1 con LED

Este testeo de la placa es muy sencillo, y simplemente vamos a probar un ejemplo que viene instalado con el propio IDE de Arduino. Para esta prueba vamos a mostrar 2 subejemplos, ya que puede realizarse de una forma super sencilla y otra que simplemente añadimos más elementos, pero realizamos la misma función, que es la del encendido de un LED de forma intermitente.

Test 1a

Para este ejemplo simplemente vamos a necesitar un LED. Los pasos a seguir son muy sencillos:

  1. Conectamos el LED, con la pata corta en GND y la pata larga en Digital 13.
  2. Abrimos Arduino IDE y vamos a Archivo > Ejemplos > 01.Basics > Blink
Blink.png

Nos cargará el siguiente código:

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the Uno and
  Leonardo, it is attached to digital pin 13. If you're unsure what
  pin the on-board LED is connected to on your Arduino model, check
  the documentation at http://www.arduino.cc

  This example code is in the public domain.

  modified 8 May 2014
  by Scott Fitzgerald
 */


// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin 13 as an output.
  pinMode(13, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(13, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);              // wait for a second
  digitalWrite(13, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);              // wait for a second
}

Donde se ve claramente el control del LED en el puerto indicado anteriormente donde estaría conectado.


Test 1b

Este es el mismo ejemplo, pero lo vamos a realizar de una forma más estilosa gracias al uso de una placa prototipo, una resistencia y el LED.

  • El código a cargar es el mismo.
  • Todo el proceso es igual.
Ejemplotestb.jpg


El Coche Fantástico

Este ejemplo consiste en simular la luz del Coche Fantástico mediante LEDs. Para ello necesitaremos el siguiente material:

  • 6 LEDs rojos.
  • 7 Cables.
  • 6 Resistencias.
  • Placa de Pruebas.

Para realizar este proyecto simplemente tendremos que conectar los diferentes LEDs en linea y por cada uno de esos LED necesitaremos conectar una resistencia para la conexión de cada cable. Los cables irán conectados en los puertos Digital (2, 3, 4, 5, 6, 7). Necesitaremos conectar un cable a GND. Podemos ver el sencillo esquema en la siguiente imagen:

Ejemplxsdfsdfo.jpg

El código empleado para ello es el siguiente:

/* Knight Rider 1
 * --------------
 *
 * Basically an extension of Blink_LED.
 *
 *
 * (cleft) 2005 K3, Malmo University
 * @author: David Cuartielles
 * @hardware: David Cuartielles, Aaron Hallborg
 */

int pin2 = 2;
int pin3 = 3;
int pin4 = 4;
int pin5 = 5;
int pin6 = 6;
int pin7 = 7;
int timer = 100;

void setup(){
  pinMode(pin2, OUTPUT);
  pinMode(pin3, OUTPUT);
  pinMode(pin4, OUTPUT);
  pinMode(pin5, OUTPUT);
  pinMode(pin6, OUTPUT);
  pinMode(pin7, OUTPUT);
}

void loop() {
   digitalWrite(pin2, HIGH);
   delay(timer);
   digitalWrite(pin2, LOW);
   delay(timer);

   digitalWrite(pin3, HIGH);
   delay(timer);
   digitalWrite(pin3, LOW);
   delay(timer);

   digitalWrite(pin4, HIGH);
   delay(timer);
   digitalWrite(pin4, LOW);
   delay(timer);

   digitalWrite(pin5, HIGH);
   delay(timer);
   digitalWrite(pin5, LOW);
   delay(timer);

   digitalWrite(pin6, HIGH);
   delay(timer);
   digitalWrite(pin6, LOW);
   delay(timer);

   digitalWrite(pin7, HIGH);
   delay(timer);
   digitalWrite(pin7, LOW);
   delay(timer);

   digitalWrite(pin6, HIGH);
   delay(timer);
   digitalWrite(pin6, LOW);
   delay(timer);

   digitalWrite(pin5, HIGH);
   delay(timer);
   digitalWrite(pin5, LOW);
   delay(timer);

   digitalWrite(pin4, HIGH);
   delay(timer);
   digitalWrite(pin4, LOW);
   delay(timer);

   digitalWrite(pin3, HIGH);
   delay(timer);
   digitalWrite(pin3, LOW);
   delay(timer);
}

Temperatura & Humedad

Para este ejemplo hemos tenido que emplear el Sensor DHT11, que es un sensor que nos permite monitozear la temperatura y la humedad del ambiente.

Circseeesuitoo.jpg


La configuración fisica del circuito es muy importante:

  • Tenemos un Negativo > Irá conectado a GND.
  • Tenemos un Positivo > Irá conectado a 5V.
  • Tenemos un conector de datos > Irá conectado a Digital 2.
Circuitoo.jpg

Código fuente para nuestro sensor:

#include "DHT.h" 
#define DHTPIN 2 
#define DHTTYPE DHT11 
DHT dht(DHTPIN, DHTTYPE); 
//librerias del DHT 11
void setup() {
Serial.begin(9600); //Se inicia la comunicación serial 
dht.begin(); //Se inicia el sensor
}

void loop(){
  float h = dht.readHumidity(); //se lee la humedad
  float t= dht.readTemperature(); // se lee la temperatura
  Serial.println("Humedad: "); 
  Serial.println(h); 
  Serial.println("Temperatura :"); 
  Serial.println(t); 
  // se imprime las variables de temperatura y humedad
  delay(500); 
  //con un retraso de 500 milisegundos
}

Para poder hacer funcionar el programa es importante que importemos la librería correspondiente.

Una vez cargado el programa en nuestro Arduino, mediante la conexión USB podremos monitorizar el puerto COM gracias al IDE Arduino y ver los valores que obtenemos con nuestro sensor.

Para tener acceso a esta informaciónde lectura hay que ir a Herramientas > Monitor Serie

Errrensortelo.png


Valores obtenidos:

Ejempsensortelo.png