Arduino Programming Notebook (Edición española) – Brian W. Evans

Añado este libro de distribución gratuita a la modesta Biblioteca de TallerElectronica.com, considerándolo el primer manual de contacto de cualquiera que, sin conocimientos previos, desee iniciarse en el maravilloso mundo de la programación de dispositivos electrónicos usando placas de desarrollo rápido tipo Arduino.

El propósito del autor de este libro fue crear un pequeño manual de consulta rápida sobre los comandos básicos y la sintaxis del lenguaje de programación de Arduino. Para entrar en los contenidos con mayor profundidad se pueden consultar otras páginas web, libros o cursos. Esta decisión hizo que quedaran fuera de su contenido tipos de datos complejos como los arrays o modos avanzados de comunicación serie.

Comenzando con la estructura básica del lenguaje C del que deriva la programación de Arduino, este libro de notas continua con la descripción de los comandos más usuales e ilustra su uso con ejemplos de código.

Arduino_Programing_Notebook_ESDescarga: https://mega.nz/#!n8ImBTAQ!NNX3BgQu

Controlar grandes cargas eléctricas con Arduino

Un modo sencillo de controlar grandes cargas eléctricas con Arduino (o, en general, con cualquier sistema electrónico digital) es mediante el uso de transistores MOSFET.

Veamosló con un ejemplo práctico: Esta sería una forma sencilla de controlar un motor de corriente continua mediante el uso del transistor TIP120, capaz de soportar tensiones de hasta 60 Voltios y corrientes de hasta 5 Amperios.

tip120_dc.png

Del mismo modo, en lugar del motor, se podría haber conectado un relé (relevador) o un contactor de potencia, capaces de controlar cualquier tipo de cargar eléctrica aplicando una pequeña corriente eléctrica a su bobina de activación.

La resistencia de 2.2 KΩ, limita la corriente de la salida digital a algo menos de 2 mA., valor seguro para la placa Arduino, y suficiente para poner en modo conducción el transistor. El diodo (1N4007) conectado entre los bornes del motor, protege al transistor de sobretensiones transitorias producidas durante los cortes bruscos de alimentación eléctrica en cargas inductivas (motores, relés, contactores, y en general, cualquier carga que conste básicamente de un inductor o bobina).

Un ejemplo sencillo de programa para controlar esta carga con la placa Arduino sería:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    digitalWrite(TIP120Pin, HIGH);   // Activa salida.
    delay (5000);                    // Espera durante 5 segundos.
    digitalWrite(TIP120Pin, LOW);    // Deactiva salida.
    delay (5000);                    // Espera durante 5 segundos.
}

En el ejemplo práctico que estamos usando, el motor está controlado por una salida digital del tipo PWM, por lo que además contamos con la posibilidad de variar su velocidad de rotación de un modo tan sencillo como este:

int TIP120Pin = 9;
void setup()
{
    pinMode(TIP120Pin, OUTPUT);      // Configura puerto como salida.
}

void loop()
{
    analogWrite(TIP120Pin, 255);     // Ponemos el motor al 100%
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 175);     // Reducimos la velociadad del motor.
    delay (5000);                    // Espera durante 5 segundos.
    analogWrite(TIP120Pin, 0);       // Paramos el motor.
    delay (5000);                    // Espera durante 5 segundos.
}

Guía y Ejercicios de Programación Gráfica de Arduino con 12Blocks

12Blocks es un entorno intuitivo y potente para la programación gráfica de tarjetas micro controladoras y robots populares. Es un lenguaje visual que hace que la programación sea tan simple como arrastrar y soltar. Cientos de bloques soportan todas las posibilidades de programación más conocidas, desde la lectura de sensores para la integración con el sistema de la operación del robot. 12Blocks ofrece magníficas herramientas de depuración gráfica y tutoriales guiados para principiantes y expertos.

12Blocks es ideal para aulas, estudiantes, aficionados y profesionales que quieren construir rápida y fácilmente proyectos con microcontroladores populares como el Parallax Propeller, Lego NXT, PICAXE, Basic Stamp 2 y Arduino.

12blocks1

Sigue leyendo

Guía de uso del Algoritmo de Control PID en Arduino

El algoritmo PID (Proporcional Integral Derivativo), es un elemento ampliamente utilizado en Sistemas Autómaticos de Control, cobrando especial importancia en las funciones de realimentación para la corrección de errores o desviación entre el valor medido y el deseado. Además, su uso y correcto ajuste, da lugar a que la respuesta del sistema sea mucho más suave y rápida ante fluctuaciones originadas por los cambios en las condiciones externas que modifican el valor a controlar.

En la siguiente guía se explica su uso práctico utilizando la placa electrónica de desarrollo Arduino.

Guia-de-uso-PID-para-Arduino-OpenLibra-350x459Descarga: https://mega.nz/#!SlpTQL7Q

Esquema de Arduino DIY Básico

Este es el mínimo de materiales necesarios para construir un Arduino con componentes electrónicos que se encuentran fácilmente en el mercado. Sencillo de hacer por uno mismo (DIY «Do It Yourself«), totalmente compatible y funcional.

Arduino_Basico_ATMega328PULSA SOBRE LA IMAGEN PARA APLICARLA

Rawi Montilla preguntó en el Grupo Electrónica y Microcontroladores de facebook:

Y donde esta el firmware para el microcontrolador??

RESPUESTA (Que puede ser útil a otros interesados en el tema):

Puedes comprar el ATMega328 con el Bootloader (creo que es a lo que te refieres con firmware) ya grabado, o grabarlo tu mismo por cualquiera de los métodos existentes desde el mismo IDE de programación de Arduino (Tools > Burn Bootloader).
– Grabar ATMega usando una placa Arduino: https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard (Lo mismo pero en español: http://untitled.es/cargar-bootloader-atmega/)
– Usando un puerto paralelo: http://blog.xbot.es/?p=262
– O usar un grabador de los que existen para estos microcontroladores. Yo utilizo el grabador USBtinyISP que ya tenía para grabar microcontroladores AVR en general. https://learn.adafruit.com/usbtinyisp/overview


Pero el microcontrolador ATMega328, una vez programado en el entorno Arduino, sólo necesita para funcionar el cristal de cuarzo y condensadores del oscilador, una resistencia de Reset y un condensador de filtrado de ruido en su alimentación. Por lo tanto, el siguiente esquema correspondería el Arduino más básico.
ArduinoBasico.png

 

Aprende a programar microcontroladores en Lenguaje C / C++

La evolución de la electrónica con microcontroladores está haciendo de ellos auténticas computadoras integradas en las que ya no es completamente necesario programar en lenguaje ensamblador para conseguir unos resultados óptimos.

Aunque podemos encontrar distintas soluciones para programar microcontroladores en lenguajes de alto nivel como Pascal, Basic, Prolog, Ada, etc., con el que se pueden programar la inmensa mayoría de microcontroladores es con el lenguaje C, que en algunas ocasiones se ha personalizado para añadir características de manejo de Objetos propios de C++. Un claro ejemplo es la implementación del lenguaje C de las placas Arduino con microcontroladores AVR.

Por lo tanto, hoy en día si deseas programar de manera efectiva y rápida cualquier microcontrolador independientemente de su fabricante o lenguaje ensamblador propio, se hace imprescindible conocer el lenguaje de programación C en general, y más tarde sus particularidades a la hora de programar un determinado microcontrolador, o las particularidades de la herramienta (compilador) con la que programas en lenguaje C ese microcontrolador.

Para iniciarse en la programación C de microcontroladores recomiendo los siguiente libros, completamente gratuitos y de difusión libre. El primero sienta las bases para conocer el lenguaje C estándar. El ANSI C aplicable a cualquier compilador de lenguaje C independiente del sistema en el que vaya a correr el programa. Desde un microcontrolador de 8 bit, hasta una supercomputadora de IBM, las reglas y normas de programación son las mismas y los programas escritos en ANSI C compatibles a nivel de software.

Y el segundo, también de aplicación general, pero un poco más específico para el uso de microcontroladores, ya que trata el manejo de variables a nivel de bits y el uso de macros.

AprendaICEl conocimiento y uso de los conceptos tratados en estos dos libros te abrirá las puertas a la programación básica de cualquier microcontrolador, con prácticamente independencia de su modelo y fabricante.

Sigue leyendo

Libros para iniciarse en Arduino

Recomiendo los siguientes dos libros, completamente gratuitos, para iniciarse «desde Cero» en el fascinante mundo del Hardware Libre a través de Arduino. El primero es una visión general para entender, sin necesidad de ningún conocimiento previo, los fundamentos del funcionamiento de la placa Arduino y de los componentes electrónicos básicos que se pueden conectar a ella. Y el segundo, una guía práctica de montajes electrónicos para aplicar los conocimientos ya adquiridos.
doslibrosiniciarsearduino Sigue leyendo

UnoArduSim. Software de simulación de Arduino UNO

Os presento un software de simulación de Arduino Uno para Windows, que además de gratuito, me ha parecido muy práctico y sencillo de utilizar.

Se trata de UnoArduSim, un herramienta de simulación creada por el Profesor Stan Simmons de la Universidad de Queen, con la cual, sin necesidad de disponer de ningún dispositivo hardware, podemos probar o depurar el funcionamiento de nuestros programas escritos para Arduino Uno.

UnoArduSim Sigue leyendo

Arduino Day

Hoy 28 de Marzo celebramos el Día de Arduino.
‪#‎ArduinoD15‬
http://day.arduino.cc

Más de 250 grupos en todo el Mundo celebrando el Day!

ARDUINODAY15_banners_720x300[1]

Si tienes los conocimientos y el tiempo necesario, ¿qué mejor manera de celebrar el Día de Arduino ‪#‎ArduinoD15‬ que construyendo tu propio modelo histórico? Gracias a que Arduino está licenciado bajo una licencia Creative Commons, eres libre de hacerlo sin pedir permiso a nadie, ni pagar ningún tipo de derecho o cuota. Toda la documentación y esquemas en Arduino Single-Sided Serial Board (version 3)

ArduinoSeverino400[1]