HARDWARE ARDUINO
1. Introducción
Arduino es una plataforma de cómputo libre basado en una tarjeta I/O [entradas y salidas] programada en un ambiente con un lenguaje similar a C llamado Processing/Wiring.
2. Características
• Microcontrolador ATmega328
• Voltaje de entrada: 7 a 12V
• 14 pines digitales I/O (6 salidas PWM)
• 6 entradas analógicas
• 32k de memoria flash
• Velocidad de reloj
Este arduino dispone de 14 pines donde poder conectar tanto periféricos de entrada como de salida dependiendo como programemos esos pines.
Hay 6 pines (3,5,6,9,10 y 11 PWM) que pueden utilizarse de salidas analógicas.
En esta parte disponemos de los pines donde poner conectar las entradas analógicas.
5.- Tensión entrada y salida
La placa arduino se puede alimentar desde dos sitios.
• Conector Jack de 7-12V DC
• Pin Vin 5V DC
Tambien dispone de dos salidas
• Pin 3.3V DC
• Pin 5V DC
6.- Comunicación serie
Dispone de dos conexiones para la comunicación serie
• Conector Jack USB
• Pines 0 y 1 (Tx y Rx)
El conector Jack USB se utiliza para la comunicación con el ordenador a través del cable.
Hay muchos periféricos que se pueden comunicar, conectando los pines 0 (Rx) y 1(TX).
Si utilizamos estos pines para la comunicación, no se pondrán usar para entradas/salidas digitales.
Ir Temario
-----------------------------------------------------------------------------------------------------------------------------------------
Introducción
SOFTWARE ARDUINO
1. Introducción
El Arduino Uno R3 requiere los drivers Arduino 1.0 para instalarse correctamente en ciertas computadoras. Puedes programarlo con versiones anteriores del IDE pero la primera vez que lo conectes tendrás que tener instalado el Arduino 1.0 en el ordenador.
Descargar Software Arduino 1.0
Descargar Software Arduino 0019
2. Instalación
• Descomprimir el fichero zip.
• Instalar los drivers USB. Situado en arduino-1.0.4\drivers
• Para Windows. Hay que hacer la instalación de los drivers seguir estos pasos:
Conectar la placa arduino a un puerto USB libre de nuestro PC.
- Se abrirá automáticamente el asistente de windows para nuevo hardware encontrado
- Seleccionar "No por el momento" y presionar "Siguiente"
- Seleccionar "Instalar desde una lista o ubicación específica (avanzado)" y presionar "Siguiente"
- Seleccionar "Buscar el controlador más adecuado en estas ubicaciones" presiona "Examinar" y seleccionar la carpeta donde hayas descomprimido el driver y presiona "Siguiente".
3. Preparación software
Después de ejecutar Arduino, tenemos que seleccionar la tarjeta con la que vamos a trabajar.
Una vez seleccionada la tarjeta, tenemos que seleccionar el puerto por donde vamos a comunicar.
4.- Estructura del programa (Sketch)
Explicaremos el ejemplo para entender la estructuración.
Comentarios
Lo primero que tenemos en el programa son comentarios, se pueden definir dos tipos de comentarios.
• Todo lo que escribamos entre /* y */ el programa lo entenderá como comentario y no lo ejecutara ni ocupara código de compilación.
• Para comentarios cortos de una sola línea también se puede utilizar las dos //
Variables
En este lugar declararemos los datos, en este ejemplo hemos definido el tipo (int), luego un nombre y un valor inicial.
Funciones setup
Aquí hacemos las llamada a la funciones
Por ejemplo: aquí hacemos la llamada a una función interna
pinMode es una Función con dos parámetros (led y OUTPUT)
Funciones loop
Esta parte se ejecutara el programa de forma continua.
En este ejemplo, utilizamos la función “digitalWrite” para sacar 5v por el pin13.
Ir Temario
-----------------------------------------------------------------------------------------------------------------------------------------
Practica 1
PARPADEO DE UN LED
1. Introducción
En esta práctica se trata de encender un led y volverlo a apagar con un intervalo de 1000ms (1 Segundo).
Se conecta el led en el Pin 13, no es necesario poner ninguna resistencia ya que este pin dispone de una resistencia interna..
2. Material necesario
• Placa Arduino Uno o similar
• Un Led
3. Montaje
El montaje de esta práctica es muy sencillo, el único detalle que hay que fijar en la polaridad del led.
En caso de colocar el led en otro pin, hay que poner en serie una resistencia de 220Ω.
4.- Funciones utilizadas
• Entradas/Salidas digitales
pinMode(pin,E/S)
Configura el pin para que actué como entrada (INPUT) o como salida (OUTPUT)
digitalWrite( pin,valor)
Asigna el valor HIGH ó 1 (5v) o lo contrario LOW ó 0 (0v) al pin seleccionado.
delay(tiempo)
Retraso el tiempo especificado en milesegundos.
5.- Programa (Sketch)
/*--------------------------------------------------------------------------- Practicas Arduino 3.-Practicas 1 Parpadeo de un Led Visita nuestro blog http://cursosplcs.blogspot.com.es/ ----------------------------------------------------------------------------*/ // Seleciona el Pin int led = 13; // Rutina de instalación void setup() { // iniciar el pin como salida digital pinMode(led, OUTPUT); } // Rutina ciclica void loop() { digitalWrite(led, HIGH); // Encender LED (HIGH nivel alto de tensión) delay(1000); // Retraso digitalWrite(led, LOW); // Apagado LED (HIGH nivel bajo de tensión) delay(1000); // Retraso } |
Ir Temario
-----------------------------------------------------------------------------------------------------------------------------------------
Practica 2
ENCENDIDO LED CON UN PULSADOR
1. Introducción
En esta práctica se trata de encender un led con un pulsador, mientras se mantiene el pulsador pulsado se queda encendido en cuanto se suelta se apaga el led.
Se conecta el led en el Pin 13, no es necesario poner ninguna resistencia ya que este pin dispone de una resistencia interna..
2. Material necesario
• Placa Arduino Uno o similar
• Un Led
• Un Pulsador
• Un Resistencia 10k
3. Montaje
4.- Funciones utilizadas
• Entradas/Salidas digitales
pinMode(pin,E/S)
Configura el pin para que actué como entrada (INPUT) o como salida (OUTPUT)
digitalWrite( pin,valor)
Asigna el valor HIGH ó 1 (5v) o lo contrario LOW ó 0 (0v) al pin seleccionado.
digitalRead( pin)
Lee el valor del pin dando como resultado 0 ó 1
5.- Programa (Sketch)
/*--------------------------------------------------------------------------- Practicas Arduino 4.-Practicas 2 Endender un led con un pulsador Visita nuestro blog http://cursosplcs.blogspot.com.es/ ----------------------------------------------------------------------------*/ // Seleciona el Pin int led = 13; int Pulsador = 2; int Estado_Pulsador; // Rutina de instalación void setup() { // iniciar el pin como salida digital pinMode(led, OUTPUT); pinMode(Pulsador, INPUT); } // Rutina ciclica void loop() { Estado_Pulsador = digitalRead(Pulsador); digitalWrite(led, Estado_Pulsador); // Encender LED (HIGH nivel alto de tensión) } |
Ir Temario
-----------------------------------------------------------------------------------------------------------------------------------------
Practica 3
SET/RESET CON DOS PULSADORES
1. Introducción
Esta práctica trata de encender un led con dos pulsadores, uno de los pulsadores realizará el SET, esto significa que memorizara la salida del pin 13, y mientras no se pulse el segundo pulsador no se pondrá a cero la memoria (RESET).
Este programa se utilizara mucho para el marcha/paro de motores, secuencias, etc.
2. Material necesario
• Placa Arduino Uno o similar
• Un Led
• Dos Pulsador
• Una resistencia de 10k
3. Montaje
El montaje del led en el pin13 sin resistencia, los pulsadores conectados en los pin 2 y 3 con una resistencia de 10K.
4.- Funciones utilizadas
• Entradas/Salidas digitales
pinMode(pin,E/S)
Configura el pin para que actué como entrada (INPUT) o como salida (OUTPUT)
digitalWrite( pin,valor)
Asigna el valor HIGH ó 1 (5v) o lo contrario LOW ó 0 (0v) al pin seleccionado.
digitalRead( pin)
Lee el valor del pin dando como resultado 0 ó 1
• Comparaciones
x == y ( x es igual a y )
x != y ( x no es igual a y )
x < y ( x es menor que y )
x
x <= y ( x es menor o igual que y )
x >= y ( x es mayor o igual que y )
• Estructura if
IF significa SI (condicional) en español. Se evalúa una condición, si es verdadera ejecuta un código, si es falsa, ejecuta otro código
5.- Programa (Sketch)
/*--------------------------------------------------------------------------- Practicas Arduino 5.-Practicas 3 SET/RESET con dos pulsadores Visita nuestro blog http://cursosplcs.blogspot.com.es/ ----------------------------------------------------------------------------*/ // Seleciona el Pin int led = 13; int Pulsador_Set = 2; int Pulsador_Reset = 3; int Estado_Pulsador_S; int Estado_Pulsador_R; // Rutina de instalación void setup() { // iniciar el pin como salida digital pinMode(led, OUTPUT); pinMode(Pulsador_Set, INPUT); pinMode(Pulsador_Reset, INPUT); } // Rutina ciclica void loop() { Estado_Pulsador_S = digitalRead(Pulsador_Set); Estado_Pulsador_R = digitalRead(Pulsador_Reset); if (Estado_Pulsador_S == 1) { digitalWrite(led, 1); // Encender LED } if (Estado_Pulsador_R == 1) { digitalWrite(led, 0); // Pagado LED } } |
Ir Temario
-----------------------------------------------------------------------------------------------------------------------------------------
Tren
TREN CONTROLADO POR ORDENADOR (ARDUINO)
1. Introdución
Los componentes utilizados en este tutorial son:
• Arduino Ono Rev.3
• Control de motores cc L298N
• Bluetooth JY-MCU
• Pila 9v y conector
• 4 pilas de 1,5v y base portapilas
• Tren con motor
2. Montaje eléctrico
3.- Montaje artesano
Con una caja, se decora y se monta encima de un vagón.
Se sueldan unos cables al motor sacando un conector al exterior.
4.- Software
Para el control debemos descargarnos varios software.
Primero descargar todo referido a Arduino.
Ver tutorial 2.- Introducción al Software
Después descargaremos el software que nos permitirá preparar la pantalla de control http://www.acimut.com/monitoriza/monitorizaforarduino.html
En esta página descargaremos SketchBook del protocolo ModBus RTU, este programa se va a encargar de comunicar nuestro arduino con el software Acimut Monitoriza.
Y también descargamos Acimut Monitoriza para Arduino.
También descargaremos un programa que nos permita el control del Bluetooth, nosotros hemos utilizado BlueSoleil.
5.- Instalación
El software arduino solo hay que descomprimir la carpeta descargada.
Para el SketchBook, necesitaremos crear una carpeta con el mismo nombre del archivo y situar el archivo dentro para poderlo abrir desde el software arduino.
Para Acimut Monitoriza y BlueSoleil ejecutar el setup y seguir las indicaciones de la instalación.
6.- Modificaciones de SketchBook y carga.
Buscamos la carpeta que hemos creado con el Sketch descargado.
Abrimos el archivo ModBusMonitoriza.pde
Modificamos el sketch
Copias este trozo de programa, borrando el que está en el sketch que hemos descargado
/* HERE BEGINS THE EXAMPLE CODE */ /* Modbus RTU common parameters, the Master MUST use the same parameters */ enum { COMM_BPS = 9600, /* baud rate */ MB_SLAVE = 1, /* modbus slave id */ PARITY = 'n' /* even parity */ }; /* slave registers */ enum { MB_CTRL, /* Led control on, off or blink */ MB_TIME, /* blink time in milliseconds */ MB_CNT, /* counter */ MB_REGS /* total number of registers on slave */ }; int Mar_Adel; int Mar_Atras; int regs[MB_REGS]; int Vel; int Vel_PWM = 3; int Adel = 2; int Atras = 4; unsigned long wdog = 0; /* watchdog */ unsigned long tprev = 0; /* previous time*/ int i = 0; void setup() { /* configure modbus communication * 19200 bps, 8N1, two-device network */ configure_mb_slave(COMM_BPS, PARITY, 0); pinMode(Vel_PWM, OUTPUT); pinMode(Adel, OUTPUT); pinMode(Atras, OUTPUT); } void loop() { /* check for master requests*/ if(update_mb_slave(MB_SLAVE, regs, MB_REGS)) wdog = millis(); i = i +1; if (i > 10000) i=0; regs[2] = i; /* the values in regs are set by the modbus master */ if (millis() - tprev > regs[MB_TIME]) { tprev = millis(); } /*------------ Nuevo programa --------------------------------------------*/ if (regs[0] == 2) {Mar_Adel =1;} if (regs[0] == 4) {Mar_Atras =1;} if (regs[0] <= 0) {Mar_Adel =0; Mar_Atras =0;} digitalWrite(Adel,Mar_Adel); digitalWrite(Atras,Mar_Atras); Vel = regs[1]*20; analogWrite(Vel_PWM,Vel); } /**************************************************************************** * BEGIN MODBUS RTU SLAVE FUNCTIONS ****************************************************************************/ |
7.- Preparación pantalla.
tienes como programar el monitoriza para arduino
ResponderEliminarNo, he ido practicando con el ejemplo de la bombilla
ResponderEliminarPuedes colgar el programa de ACIMTU para utilizarlo como ejemplo en un proyecto que estoy iniciando para controlar una maqueta de tren, Gracias
ResponderEliminarSaludos, adjunto enlace de un proyecto realizado con el SCADA. http://repositorio.utp.edu.co/dspace/bitstream/11059/5466/1/6298S939.pdf
ResponderEliminar