¿Qué es arduino? .Arduino es una placa o tarjeta controladora, con una serie de entradas y salidas, ( realmente es un microcontrolador rodeado de facilidades para su conexión… aunque Arduino es mucho más) y que se programa a través del ordenador mediante un lenguaje de programación. También es una platafoma de creación de electrónica de código abierto.

El proyecto nació allá por el 2003 con la intención de varios estudiantes de facilitar el acceso y uso de la electrónica y la programación.

  • Alimentación: Arduino puede estar alimentado por dos vías: conexión USB (que proporciona 5 V). jack de alimentación (que normalmente será una pila de 9 V o fuente de alimentación, que se recomienda que esté entre 7 – 12 V). Los pines de alimentación son para alimentar los circuitos la placa de prototipos o breadboard o protoboard :      
    • 3.3 V:  proporciona una tensión de 3,3 V, y una intensidad máxima de 50 mA.          
    • 5 V:proporciona una tensión de 5 V, y una intensidad máxima de 300 mA. –         
    • GND: es la toma de tierra, o nivel 0 V de referencia. –          Vin:proporciona la tensión máxima con la que está alimentado Arduino.
  • Valores de entrada y de salida: en función de cómo esté siendo utilizado en pin, tendremos:
    • Salida y entrada digital: los valores de salida pueden ser o 0 V (LOW) o 5 V (HIGH), y se interpretará una entrada de entre 0 y 2 V como LOW y de entre 3 y 5 V como HIGH.          
    • Salida analógica: los valores de salida van desde 0 V a 5 V en un rango de 0 a 255 (precisión de 8 bits) valores intermedios.
    • Entrada analógica: los valores de entrada van desde 0 V a 5 V en un rango de 0 a 1023 (precisión de 10 bits) valores intermedios. La intensidad máxima de todos estos pines es de 40 mA.

ACCESORIOS ARDUINO

Dicho esto, Arduino dispone de un sinfin de accesorios, como ya hemos dicho es un microcontrolador mucho más cómodo de conectar y además facilmente programable por lo que la mayoría de accesorios de electrónica como un sensor de distancia puede integrarse con el. Os dejo un enlace a la página de PCcomponentes para que os hagias una ídea de todos los accesorios disponibles.

LENGUAJE DE PROGRAMACIÓN ARDUINO

La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el lenguaje de programación de alto nivel Processing que es similar a C++. Puedes ver más acerca de dicho leguaje en Wikibooks

Existe también la posibilidad de aprender a usar Arduino desde niño ya que disponemos de lenguajes más sencillos desde los que aprender e integrarlos con Arduino, es el caso del lenguaje Scratch con el que cada vez más niños son iniciados en los centros educativos en el mundo de la programación y la electrónica. En futuras entradas profundizaremos con Scratch.

MODELOS DE ARDUINO

Existe una buena cantidad de modelos de Arduino, cada cual más adaptado a la necesidad de tu proyecto, en próximas entradas profundizaremos en cada una de ellas. Os dejo un enlace para que podais comparar modelos y precios

¿Qué es arduino?
IMÄGEN: Modelos Arduino. Fuente: Google Xakata.com

EJEMPLOS DE PROYECTOS REALIZADOS CON ARDUINO

Basta con buscar en youtube y podrás ver cientos de proyectos realizados con Arduino, algunos de ellos hasta te facilitan el código para programar la placa.

VIDEO: Proyecto Arduino maquina dispensadora. Fuente: Youtube
VIDEO: Proyecto Arduino detector de alcohol. Fuente. Youtube

Buscando entre mi nube he descubierto el proyecto de electrónica que presentamos mi compañero Raul y yo cuando cursabamos el ciclo de grado medio de Técnico en Instalaciones de Telecomunicaciones.

El proyecto trata de una unidad capaz de mostrar en una pantalla LCD a cuanta distancia está situado un objeto para ser utilizado por ejemplo como flexómetro digital.

Si, ya se que os va a resultar muy casero pero…eramos jóvenes, era una maqueta y el cajeado nuevo nos costaba casi 30 euros asi que fuimos reciclando todo lo que veiamos para poder presentarlo. Este es el proyecto, os dejo las piezas y el código por si quiereis probar a hacerlo.

IMÄGEN: Proyecto medidor de distancias.
IMÄGEN: Aquí podemos ver el Arduino montado en una placa protoboard.
  • MATERIAL USADO

Para la realización del proyecto hemos usado los siguientes materiales.

– Medidor HC-SR04:  

Consiste en umn sensor de ultrasonidos (vease imágen)

Posee 4 patillas:

5V: Tensión 5VDC

GND: Masa

Trigger: Disparador ultrasonidos

Echo: Receptor del eco del ultrasonidos

            Con el disparador se envía un pulso en HIGH y se

            calcula  el tiempo que tarda dicha señal en llegar

            rebotada al receptor. Después se hace una conversión

            entre el tiempo que tarda la señal en llegar al receptor

            y la distancia que existe desde el sensor al objeto que

            produce el rebote.

– Pantalla LCD 2 líneas           

                               

            Pantalla de LCD con 16

            caracteres y 2 líneas que debemos

            declarar como una variable en la

            programación del arduino y cuya

            librería debemos cargar mediante

            la instrucción #include           <LiquidCrystal.h>

            ESQUEMA DE FUNCIONAMIENTO PANTALLA LCD

  • Altavoz 8 Ohmnios:

            Con una capacidad de 5W a 8 Ohmnios emite al

            conectar el medidor una señal de encendido

            programada en arduino.  Para conectarlo llevamos

            su patilla – a masa y su patilla + al pin por el que

            hayamos programado la salida del sonido de encendido.

  • Pulsador para Reset:

            Con el conseguimos la función reset aprovechando

            el pin reset del arduino con el que puenteado a masa

            provoca un reseteado en el arduino.

  • Interuptor encendido/ apagado

            Con el conseguimos encender nuestro medididor

            y apagarlo cuando no lo utilizemos.

  • Potenciometro para regular contraste de la pantalla

            Intercalado en el pin WO de la pantalla nos

Permite regular el contraste de la pantalla LCD

PROGRAMACIÓN EN ARDUINO

/*

  LiquidCrystal Library – Hello World

Demonstrates the use a 16×2 LCD display.  The LiquidCrystal

 library works with all LCD displays that are compatible with the

 Hitachi HD44780 driver. There are many of them out there, and you

 can usually tell them by the 16-pin interface.

 This sketch prints “Hello World!” to the LCD

 and shows the time.

  The circuit:

 * LCD RS pin to digital pin 12

 * LCD Enable pin to digital pin 11

 * LCD D4 pin to digital pin 5

 * LCD D5 pin to digital pin 4

 * LCD D6 pin to digital pin 3

 * LCD D7 pin to digital pin 2

 * LCD R/W pin to ground

 * LCD VSS pin to ground

 * LCD VCC pin to 5V

 * 10K resistor:

 * ends to +5V and ground

 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008

 by David A. Mellis

 library modified 5 Jul 2009

 by Limor Fried (http://www.ladyada.net)

 example added 9 Jul 2009

 by Tom Igoe

 modified 22 Nov 2010

 by Tom Igoe

 This example code is in the public domain.

 */

 /****************************************************************

 Sensor de Ultrasonico HC-SR04 con Arduino

*****************************************************************

Conexiones:

 – TRIG al pin D12

 – ECHO al pin D13*/

#define PIN_TRIG 8

#define PIN_ECO  9

// include the library code:

#include <LiquidCrystal.h>

#include “pitches.h”

int melody[] = {

  NOTE_C3, NOTE_G3, NOTE_C4,};

// note durations: 4 = quarter note, 8 = eighth note, etc.:

int noteDurations[] = {

  4,  4,   4,

};

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {

  pinMode (13, OUTPUT);

  // set up the LCD’s number of columns and rows:

  lcd.begin(16, 2);

  // Print a message to the LCD.

  lcd.print(“PROYECTO ARDUINO”);

  lcd.setCursor(3, 1);

  lcd.print(“Luis y Raul “);

   for (int thisNote = 0; thisNote < 8; thisNote++) {

    // to calculate the note duration, take one second

    // divided by the note type.

    //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.

    int noteDuration = 1000 / noteDurations[thisNote];

    tone(13, melody[thisNote], noteDuration);

    // to distinguish the notes, set a minimum time between them.

    // the note’s duration + 30% seems to work well:

    int pauseBetweenNotes = noteDuration * 1.30;

    delay(pauseBetweenNotes);

    // stop the tone playing:

    noTone(13);

  }

   //delay(1200);

   // Inicializacion de la comunicacion serial

 // Serial.begin (9600); 

  // Inicializacion de pines digitales

  pinMode(PIN_TRIG, OUTPUT);

  pinMode(PIN_ECO, INPUT);

}

void loop() {

  float duracion, distancia;  // Variables

  /* Hacer el disparo */

  digitalWrite(PIN_TRIG, LOW); 

  delayMicroseconds(2);

  digitalWrite(PIN_TRIG, HIGH);  // Flanco ascendente

  delayMicroseconds(10);        // Duracion del pulso

  digitalWrite(PIN_TRIG, LOW);  // Flanco descendente

  /* Recepcion del eco de respuesta */

  duracion = pulseIn(PIN_ECO, HIGH);

  /* Calculo de la distancia efectiva */

  distancia = (duracion/2) / 29;

/* Imprimir resultados a la terminal serial */

// if (distancia >1) {

//lcd.setCursor(0, 1);

// lcd.print(“pulse reset”);

// }

  // Serial.println(“Fuera de rango”);

   // delay(20);

 //else {

    lcd.setCursor(0, 0);

    lcd.print(“distancia         “);

        lcd.setCursor(0, 1);

    lcd.print(”   “);

   lcd.setCursor(0, 1);  

    lcd.print(distancia);

      lcd.setCursor(4, 1);

    lcd.print(”   cm        “);

 //  }

  // Retardo para disminuir la frecuencia de las lecturas

  delay(500);  // set the cursor to column 0, line 1

  // (note: line 1 is the second row, since counting begins with 0):

 //lcd.setCursor(0, 1);

  // print the number of seconds since reset:

  //lcd.print(millis() / 1000);

}

Comparte esta entrada en tus redes sociales:
Share on Facebook
Facebook
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Pin on Pinterest
Pinterest

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.