Manual 1 Basico Go Robotica
Manual 1 Basico Go Robotica
Manual 1
Programación ARDUINO
Instructor:
LUIS IVAN DORANTES GOMEZ
LUIS IVÁN LIC. INFORMATICA
LIC. EDUCACIÓN PRIMARIA
DORANTES GOMEZ MAESTRÍA EN ADMINISTRACIÓN
DIR. DE GO ROBÓTICA Y GESTIÓN EDUCATIVA
PRESIDENTE DE A.C. EDUKAB PROGRAMADOR C++,
LENGUAJE ARDUINO
CLUNI: EEU18032430S69
DESARROLLADOR DE APP
En Colaboración
INFORMES
Go Coatzacoalcos
9211988158
Índice
¿Qué es Arduino?
Arduino es una herramienta y una plataforma desarrollo de computación física (physical computing)
de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo
para crear software (programas) para la placa.
Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de
interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos.
Los proyectos con Arduino pueden ser autónomos o comunicarse con un programa (software) que
se ejecute en tu ordenador. el software de desarrollo es abierto y lo puedes descargar gratis desde
la página: https://www.arduino.cc/
El Arduino puede ser alimentado a través de la conexión USB o con una fuente de alimentación
externa. (recomendada de 7-12V), vamos a tener unas salidas de tensión continúa debido a unos
reguladores de tensión y condensadores de estabilización.
VIN: se trata de la fuente tensión de entrada que contendrá la tensión a la que estamos alimentando
al Arduino mediante la fuente externa.
5V: fuente de tensión regulada de 5V, esta tensión puede venir ya sea de pin VIN a través de un
regulador interno, o se suministra a través de USB o de otra fuente de 5V regulada.
3.3V: fuente de 3.3 voltios generados por el regulador interno con un consumo máximo de corriente
de 50mA.
1
Digital Inputs/Outputs
Cada uno de los 14 (0-13) pines digitales se puede utilizar como una entrada o salida. Cada pin
puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia de pull-up (desconectado
por defecto) de 20 a 50 kOhm. Además, algunos pines tienen funciones especializadas como:
Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisión (TX) de datos serie TTL.
Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de interrumpir el programa
secuencial establecido por el usuario.
Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso). Constituyen 8 bits de salida
PWM con la función analogWrite ().
Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo a la comunicación
SPI.
Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es de alto valor, el LED
está encendido, cuando el valor está bajo, es apagado. Analog Inputs
El Arduino posee 6 entradas analógicas, etiquetadas desde la A0 a A5, cada una de las cuales
ofrecen 10 bits de resolución (es decir, 1024 estados). Por defecto, tenemos una tensión de 5V, pero
podemos cambiar este rango utilizando el pin de AREF y utilizando la función analogReference (),
donde le introducimos una señal externa de continua que la utilizara como referencia.
2
1.2 Primeros pasos con Arduino
Descarga del IDE (Software) de Arduino Una vez que conocemos todo el pin necesario para
nuestro manejo y control del Arduino, vamos a instalar el software para poder programarlo mediante
el ordenador.
Contamos la placa Arduino Conectamos la placa Arduino al ordenador usando el cable USB, una
vez conectada el led de la placa PWR (led de alimentación) deberá permanecer encendido a partir
de ahora.
Una vez abierta la aplicación nos vamos al Comando “Herramienta”, Seleccionamos: Placa:
Arduino/Genuino UNO
Una vez seleccionado el modelo de nuestra placa tendremos que seleccionar el dispositivo serie
de la placa:
3
Una vez que tenemos configurada nuestra placa Arduino al ordenador, vamos a estudiar la estructura
del lenguaje de programación de Arduino.
Cargar el programa a la placa. Una vez que tenemos desarrollado el programa completo para
cargarlo en el Arduino solo tenemos que:
E/S Digitales
Configura el pin especificado para comportarse como una entrada (INPUT) o una salida
(OUTPUT).
4
analogWrite (pin, valor)
Escribe un valor analógico (PWM) en un pin. Puede ser usado para controlar la luminosidad de un
LED o la velocidad de un motor y los valores de analogWrite van desde 0 a 255
Parámetros:
Comunicación Serie
Se utiliza para la comunicación entre la placa Arduino y un ordenador u otros dispositivos. Todas las
placas Arduino tienen al menos un puerto serie Serial. Se comunica a través de los pines digitales 0
(RX) y 1 (TX),
Serial.begin(speed)
Establece la velocidad de datos en bits por segundo (baudios) para la transmisión de datos en serie.
Para comunicarse con el ordenador, utilice una de estas velocidades: 300, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 38400, 57600 o 115200.
Ejm: Serial.begin(9600);
Serial.read () Lee los datos entrantes del puerto serie. Ejm; Byte = Serial.read();
Los diodos son componentes electrónicos que permiten el paso de la corriente en un solo sentido,
Los Diodos Leds tienen dos patillas de conexión una larga (-) y otra corta (). Para que pase la
corriente y emita luz se debe conectar la patilla larga al polo positivo y la corta al negativo. En caso
contrario la corriente no pasará y no emitirá luz. En la imagen siguiente vemos un diodo led por
dentro.
5
¿Qué es una Resistencia?
El valor de una resistencia de este tipo viene determinado por su código de colores. Vemos en la
figura anterior varias resistencias, y como las resistencias vienen con unas franjas o bandas de
colores. Estas franjas, mediante un código, determinan el valor que tiene la resistencia.
Para saber el valor de una resistencia tenemos que fijarnos que tiene 3 bandas de colores seguidas
y una cuarta más separada. Las 3 primeras bandas nos dicen su valor, la cuarta banda nos indica la
tolerancia, es decir el valor + - el valor que puede tener por encima o por debajo del valor que marcan
las 3 primeras bandas. Para aprender a calcular el valor de una resistencia visita el siguiente enlace:
Código de Colores de Resistencias.
Tipos de Resistencias
- Resistencias fijas: Son las que presentan un valor que no podemos modificar.
- Resistencias variables: Son las que presentan un valor que nosotros podemos variar
modificando la posición de un contacto deslizante. A este tipo de resistencia variables se le
llama Potenciómetro.
- Resistencias especiales: Son las que varían su valor en función de la estimulación que
reciben de un factor externo (luz, temperatura...). Por ejemplo, las LDR son las que varían
su valor en función de la luz que incide sobre ellas.
6
1.5 Ejemplo de Aplicación
Practica 1: Crear un programa que controle el parpadeo de un led, con las funciones anteriormente
explicadas, y que se pueda variar el tiempo de estado alto y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(ms), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
Solución: Podemos asignar la función que encienda y apague a cualquier pin digital, exceptuando
el 0 y 1, como comentamos anteriormente, por lo tanto, si asignamos el pin 13 como el responsable
de esta función, el circuito a montar es muy sencillo y el código de programación para el control del
parpadeo del LED sería:
7
Practica 2: Crear un programa que controle el parpadeo de un led, con las funciones anteriormente
explicadas, y que se pueda variar el tiempo de estado alto y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(500), que hace |que el programa se pare y espere el tiempo seleccionado
en milisegundos.
Solución:
8
Practica 3: Crear un programa que controle el encendido de dos leds, con las funciones
anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el tiempo de estado bajo
del mismo. Utilizar la instrucción delay(1000), que hace que el programa se pare y espere el tiempo
seleccionado en milisegundos.
9
Practica 4: Crear un programa que controle el encendido de dos leds, al prender uno primero y lo
apague y después encienda el otro y lo apague con las funciones anteriormente explicadas, y que
se pueda variar el tiempo de estado alto y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(1000), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
10
Practica 5: Crear un programa que controle el encendido de dos leds, y los prenda al mismo tiempo,
con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el
tiempo de estado bajo del mismo.
Utilizar la instrucción delay(500), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
11
Practica 6: Crear un programa que controle el encendido de tres leds, y los prenda al mismo tiempo,
con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el
tiempo de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
12
Practica 7: Crear un programa que controle el encendido de tres leds, y los prenda uno a la vez, con
las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el tiempo
de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
13
Practica 8: Crear un programa que controle el encendido de tres leds, y los prenda uno a la vez, con
las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el tiempo
de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos.
41
4
Practica 9: Crear un programa que controle el encendido de 4 leds, y los prenda todos a la vez, con
las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el tiempo
de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos. Utilizando los pines del 13 a 10.
Solución: en esta práctica el retardo delay(250); todos en HIGH y después todos el LOW.
41
5
Practica 10: Crear un programa que controle el encendido de cuatro leds, y los prenda uno a la
vez, con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y
el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo
seleccionado en milisegundos. Utilizando los pines del 13 a 10.
Solución:
41
6
Practica 11: Crear un programa que controle el encendido de cinco leds, y los prenda uno a la vez,
con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto y el
tiempo de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos. Utilizando los pines del 13 a 9.
Solución:
41
7
Practica 12: Crear un programa que controle el encendido de cinco leds, y los prenda todos al mismo
tiempo, con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto
y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos. Utilizando los pines del 13 a 9.
Solución
41
8
Practica 13: Crear un programa que controle el encendido de seis leds, y los prenda todos al mismo
tiempo, con las funciones anteriormente explicadas, y que se pueda variar el tiempo de estado alto
y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(250), que hace que el programa se pare y espere el tiempo seleccionado
en milisegundos. Utilizando los pines del 13 a 8.
Solución
41
9
Practica 14: Crear un programa que controle el encendido de seis leds, y los prenda los leds en
sentido de un semáforo, con las funciones anteriormente explicadas, y que se pueda variar el
tiempo de estado alto y el tiempo de estado bajo del mismo.
Utilizar la instrucción delay(3000), que hace que el programa se pare y espere el tiempo
seleccionado en milisegundos. Utilizando los pines del 13 a 8.
Solución
42
0
Practicas Extraordinarias
42
1
Practicas Extraordinarias
21
Proyecto de tecnología de robótica alumno de 4 grado
GoAraneae143 SILABARIO
AutoBrazoGoRobotico