jueves, 30 de junio de 2016

Tutorial: robot coche - Shield módulo de potencia L293D (4 motores DC)

En otro tutorial, se introdujo el módulo de potencia basado en el integrado L298N (ver entrada). En esta ocasión, se va a tratar el acondicionamiento de las intensidades de consumo del motor mediante una shield basada en un módulo de potencia con el integrado L293D.

Como recordatorio:

Motores: trabajan en un rango de tensiones que va desde los 3V hasta los 6 V y un consumo medio de 250 mA.

Arduino: capaz de suministrar sólo hasta 40 mA.

Partiendo de la premisa anterior, vamos a abordar el material que nos ha facilitado la tienda Banggood


Shield motor drive L293D (módulo de potencia) y Arduino Mega 2560 (vendidos en Banggood de forma conjunta, aquí).

Módulo de potencia

El módulo de potencia está integrado en una shield compatible tanto con Arduino UNO como Arduino MEGA. Tiene 2 integrados L293D, por lo tanto, se pueden controlar hasta 4 motores DC (2 por integrado) de forma bidireccional con un máximo de corriente de 600mA para cada motor. Además, se pueden añadir dos motores paso a paso (ver entrada) o dos motores servos (ver entrada).



Explicación inputs/outputs del módulo

En primera instancia, comentar que esta shield permite separar la alimentación del Arduino de los motores, pese a estar acoplada la Shield. Esto se hace mediante el "Power Jumper": estando cerrado la alimentación será conjunta y estando abierto, la alimentación será separada.

La alimentación de los motores se hace por las entradas +M y GND (Alimentación), conectando primero al positivo de la batería (si es un portapilas, cable rojo) y el negativo al GND (cable negro del portapilas)

La salida de los motores será por las bornas  A y  B. Se pueden quedar las bornas de GND sin usar.
IMPORTANTE conectar positivo y negativo de forma simétrica de los motores para que los motores giren en la misma dirección.

En la parte de los servos están las tres conexiones necesarias para los servomotores: positivo, negativo y la salida digital (marcados con +, - y S, respectivamente).

Programa

Se puede controlar los motores en modo todo o nada tal y como se resolvió con el anterior módulo, si bien es cierto que existe una librería para utilizar la shield que simplifica mucho  su uso.

Primero, se descarga la librería en el siguiente enlace y luego se procede a su instalación.

El programa será el siguiente

#include <AFMotor.h> //incluir librería
AF_DCMotor Motor1(1); //definir que vamos a usar el motor 1 

void setup(){  
     Motor1.setSpeed(200); //definimos la velocidad del motor 1
     Motor1.run(RELEASE);  // motor en punto muerto al iniciar el programa   
   }

void loop(){   
       Motor1.run(FORWARD); // orden de avanzar el motor
       delay (2000);

       Motor1.setSpeed(180); //cambio de velocidad del motor
       Motor1.run(BACKWARD); // orden de retroceder el motor
       delay (2000);
   }


Vídeo


Os animamos a subir vuestros vídeos del tutorial funcionando en nuestro Facebook o
nombrándonos en Twitter.

P.






jueves, 5 de mayo de 2016

Tutorial: Salida digital PWM. LED y potenciómetro.


Pulse Width Modulation (PWM), es una técnica utilizada para recrear un comportamiento analógico mediante señales digitales. Dicha señal digital es una onda cuadrada, la cual tiene dos valores: valor alto (5V en el caso de las placas Arduino) y valor bajo (0V).

La relación entre el tiempo que la señal está en nivel alto y nivel bajo se conoce como ciclo de trabajo (Duty Cycle, expresa en %). Por lo tanto, una señal que está 1ms en nivel alto y 1ms en nivel bajo, será una señal con 50% Duty Cycle. Entonces, ¿qué porcentaje queremos utilizar? Dependiendo de la tensión final que queramos tener. Es decir, se multiplican los 5 V de nivel alto que tienes por el % del ciclo de trabajo y tendrás la tensión final que tendremos en la salida PWM. 

Ejemplo: 5V*50%= 2,5 V.

Ahora bien, ¿cómo generar la señal deseada en Arduino? Primero, hay que tener claro que no todas las salidas digitales valen, sólo las que están señaladas en la placa con las siglas PWM. Segundo, el generador PWM de la placa tien una resolución de 8 bits, por lo tanto, podrá trabajar con 256 valores (de 0 a 255). 

Con estas dos premisas claras, basta con utilizar la función "analogWrite(pinPWM, valor);" y así obtener la señal cuadrada deseada. En la siguiente imagen se recogen ejemplos de la función analogWrite con la relación directa entre %DutyCycle y valor del generador PWM.


lunes, 2 de mayo de 2016

Tutorial - Huertos Inteligentes (DHT11 + Sensor de humedad de suelos)

Huertos Inteligentes (Herramientas básicas)




 En este tutorial llevaremos a cabo una simple monitorización de nuestras plantas. Esto, es aplicable a los huertos urbanos que cada vez más gente acostumbra a tener en casa. Monitorizaremos la humedad de la tierra, la humedad del ambiente y la temperatura ambiente para llevar de manera más eficiente el control y el cuidado de nuestras plantas.


viernes, 29 de abril de 2016

Review: 4 sensores en 1. Módulo medición temperatura+presión+altitud+luz

En esta entrada os vamos a presentar el módulo Strinity Sensor Cobber 4 en 1 que es capaz de medir temperatura, presión, altitud y luz, cedido por la tienda Banggood.

Este módulo está compuesto por 2 sensores:

- BMP180 mide temperatura, presión y altitud.

- TSL2561 mide la intensidad de luz del ambiente.

Además, esta placa tiene reservado un hueco para poder soldar un sensor AM2321, en caso de querer incluir la medición de humedad y, también, tener una medición doble de la temperatura, ya que este tercer sensor también la mide.



También, tiene la ventaja de poder seleccionar la tensión de trabajo gracias a un interruptor que te posibilita la opción de elegir entre 3,3V o 5V.

Uso del sensor BMP180

Es necesario trabajar con librerías para la lectura de temperatura, presión y altitud por parte de este sensor. Desde Ardafruit se recomiendan las siguientes librerías:

Librería "BMP085 Unified" que debe de utilizarse también con esta librería Librería "Sensor".

Librería "BMP085 Library"

lunes, 25 de abril de 2016

Tutorial-Review Sensor de Temperatura y Humedad DHT11 en LCD 16x02


Sensor DHT11de Temperatura y Humedad

 Para el tutorial de hoy contamos con el sensor cedido por Electrón Perdido DHT11.

Este sensor nos medirá tanto humedad como tempertura con un error en la primera de un 5% (sobre el rango 20 - 95%) y un error en el segundo de 2ºC. Se trata de errores moderados pero siempre depende de la finalidad de nuestro sensor. 

Así pues los materiales que utilizaremos para el tutorial de hoy son:

- 1 x Arduino UNO,
- 1 x Resistencia de 220 Ohmios
- 1 x Protoboard (BreadBoard)
- 1 x Sensor DHT11
- 1 x Potenciómetro de 10K
- 1 x LCD 16x02
- Cables

viernes, 8 de abril de 2016

Marzo en Descubre Arduino

El mes de marzo ha venido completito en nuestra web y eso que hicimos algún parón debido a los días de Semana Santa. De todo lo que hemos visto durante este mes cabe destacar lo siguiente:

Arduibag, un sistema de seguridad para bicicletas que consiste en una mochila con una pantalla de LEDs donde van a apareciendo las indicaciones que le indiquemos desde un joystick en el manilar, como que vamos a girar a la derecha, que nos vamos a detener, etc. Realizado con Arduino Uno, un Bluno Nano e impresión 3D entre otras cosas.


Nos hemos reído con OpenTrashCan, una papelera inteligente que te avisa hablando de cuando está  llena, del maker Matthew Hallberg.
Otro proyecto interesante es el realizado para el concurso convocado por Arduino y Microsoft para darle la bienvenida a la nueva placa Arduino MKR1000, con este proyecto en concreto podemos controlar nuestra ducha, su temperatura, etc, a distancia desde nuestro móvil.
Otro proyecto relacionado con dicho concurso y realizado con la misma placa Arduino es este con el que conseguirás tener la bufanda más chula de la ciudad gracias a unos LEDs a los que puedes conectarte mediante tu smartphone y controlar su tonalidad mediante una aplicación móvil.
Interesante también nos ha parecido este otro proyecto en el que un grupo de hackers consigue controlar su coche mediante una placa Arduino Mega, interesante de estudiar ya que últimamente aparecen en todos los medios noticias sobre coches autónomos.
Por último señalaros que desde nuestra web hemos abierto un canal de vídeos en Youtube donde vamos haciendo un resumen de los proyectos más interesantes que hemos visto en Descubrearduino.

miércoles, 16 de marzo de 2016

Instalación y descripción del Arduino IDE



(Integrated development environment) IDE.
¿Qué es el IDE de Arduino?
Es un espacio de desarrollo integrado basado en Processing. Processing da soporte a lenguajes de programación como C, C++, el nuevo C# y Java.
En otras palabras, el IDE de Arduino es un entorno que nos permite comunicar nuestro microcontrolador Arduino con nuestro ordenador y así poder integrarle cualquier programa escrito en C o cualquier lenguaje de programación que derive de C. Ese programa podrá interacturar con cada salida o entrada de nuestro Arduino.
¿Cómo me descargo e instalo el IDE de Arduino?
En primer lugar accederemos al sitio web: www.arduino.cc
Una vez se haya cargado la página debemos navegar por el menú hasta encontrar el apartado Download.