0% encontró este documento útil (0 votos)
69 vistas9 páginas

T6 Robotica

La robótica se dedica al diseño y construcción de robots. Un robot consta de sensores, actuadores y un sistema de control programable. Los sensores capturan información y la envían al sistema de control, que procesa la información y envía órdenes a los actuadores. Arduino es una placa de control popular que se programa mediante software de código abierto para controlar los componentes de un robot.

Cargado por

luciana moreau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
69 vistas9 páginas

T6 Robotica

La robótica se dedica al diseño y construcción de robots. Un robot consta de sensores, actuadores y un sistema de control programable. Los sensores capturan información y la envían al sistema de control, que procesa la información y envía órdenes a los actuadores. Arduino es una placa de control popular que se programa mediante software de código abierto para controlar los componentes de un robot.

Cargado por

luciana moreau
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

TPR 3ºESO. Departamento de Tecnología.

IES Nuestra Señora de la Almudena Mª Jesús Saiz

TEMA 6: ROBÓTICA
La robótica es la rama de la tecnología que se dedica al diseño y construcción de robots,
Un robot es una máquina formada por sensores y actuadores controlados por un ordenador y programada
para moverse y realizar diferentes tareas.

1. Partes de un robot:
Sensor
Estructura: es el cuerpo o carcasa del robot donde se alojan
sus componentes.
Actuadores: motores y mecanismos, para el movimiento
del robot.
Sensores: son los sentidos del robot. Capturan la
información que rodea al robot. Son circuitos electrónicos
que mediante sensores detectan la posición, velocidad,
temperatura, luz, etc.
Sistemas de control: son placas o tarjetas controladoras Actuador
que se programan (software) para que tomen las decisiones
de actuación del robot.
Control
Sensor

2. Control de un robot:
Los robots se controlan mediante circuitos electrónicos analógicos y digitales, y programación mediante
ordenador.
La electrónica se divide en dos grupos: electrónica analógica y electrónica digital.
La electrónica analógica trabaja con valores reales y se introduce la información mediante
sensores que pueden tomar muchos valores (diferentes velocidades de un motor, sensor que
detecta diferentes temperaturas, …).
En la electrónica digital la información está en forma binaria (0 y 1) y sólo hay dos valores
de tensión:
- HIGH (5V, 1 binario, ON, pasa corriente)
- LOW (0V, 0 binario, OFF, no pasa corriente).
En un robot los sensores toman información del exterior mediante circuitos electrónicos y la mandan a la
tarjeta controladora. La tarjeta procesa la información y manda las ordenes de funcionamiento a los
actuadores.
La tarjeta tiene que ser previamente programada mediante el ordenador.

1
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

SENSORES: ACTUADORES:
Sensor de luz,Sensor de Tª, Pulsador,... Motor, Lámpara, Zumbador,...

CIRCUITOS ELECTRÓNICOS

TARJETA CONTROLADORA

PROGRAMACIÓN

ORDENADOR

La tarjeta controladora o microcontrolador es un miniordenador o chip programable que lleva una


memoria interna y en la que se pueden conectar los sensores y actuadores de nuestro robot. Este
microcontrolador se programa mediante un ordenador a través de un software de programación.
Nosotros utilizaremos la tarjeta controladora Arduino.

PIN de tierra GND


Entradas y Salidas
Digitales PIN 0-13
Reset

Conector USB

Microcontrolador

Conector para pila


6-12 V

Tensión + = PIN 5V
PIN de tierra GND = Tensión -

PINES de
alimentación

Pines de alimentación: proporcionan la corriente continua necesaria para que funcionen los
sensores y actuadores (motores,...)
Pin de alimentación positiva a 5 V
Pines de alimentación negativa o tierra o GND a 0 V.
14 pines para entradas/salidas digitales (pines del 0-13). En ellos se conectan los sensores y
los actuadores. Trabajan con valores binarios (1 ó 0, HIGH o LOW):
Se prefiere no utilizar los pines 0 y 1, para no equivocarnos con los valores lógicos binarios 0 y 1
Es necesario conectar la placa mediante USB para cargar los programas. Después se puede
desconectar el USB y alimentar la placa mediante una pila o fuente de alimentación.

3. Entorno software ARDUINO


Al abrir el programa:
- Primero debemos seleccionar el tipo de dispositivo (Placa ó Board). Para ello pulsaremos en el
menú "Herramientas" - "Placa" y seleccionaremos "Arduino Uno" (o el que hayamos adquirido).

2
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

- Después de conectar la placa al ordenador,


seleccionaremos también el puerto serie
asignado al controlador de Arduino (en nuestro
caso COM3), para ello accederemos al menú
"Herramientas" - "Puerto" - "COM3"

Abrir el monitor puerto serie


Nuevo
Cargar a la placa
Compilar

Abrir

Guardar

Zona para escribir el código

Zona de mensajes del software.


Errores y acciones

Verificar/Compilar. Chequea el código, identificando los errores.


Cargar a la placa: Descarga el programa compilado desde el PC hasta la tarjeta arduino.
Nuevo: crea un nuevo proyecto
Abrir proyectos previamente guardados y también muestra los proyectos de ejemplos.
Guarda el proyecto actual dentro de la carpeta Mis documentos /Arduino/sketchbook/.
Pero nosotros vamos a guardar mediante la opción menú Archivo → Guardar como y
elegiremos el lugar donde guardar el proyecto.
Realiza el monitoreo del puerto serial, abre una pantalla y muestra o visualiza
los datos enviados desde la tarjeta Arduino.

4. Estructura básica de un programa


La estructura de programación de Arduino divide el programa en tres partes: definición de variables.
setup y loop
Lo primero será crear y definir las variables mediante el comando int. Tenemos que dar nombre
a la variable e indicar el lugar o pin donde van.
int ledverde = 7; (le damos el nombre ledverde y lo colocamos en el pin 7)
Se prefiere no utilizar los pines 0 y 1, para no equivocarnos con los valores lógicos binarios 0 y 1

En la función void setup() se configuran los pines digitales como de SALIDA o ENTRADA de
información a la placa.. Para ello usamos la función pinMode y la instrucción OUTPUT o INPUT.
Se trata de la primera función que se ejecuta en el programa.
pinMode(ledverde, OUTPUT); (establece el led del pin7 como salida)

3
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

La función void loop() incluye el programa o código que debe ser ejecutado continuamente. Es
un bucle que se ejecuta continuamente después de ejecutarse el void setup.

1ª int ledverde = 12; //Pin donde va el led


2ª void setup()
{
pinMode(ledverde, OUTPUT);//Establece 'pin 12' como salida
}
3ª void loop()
{
digitalWrite(ledverde, HIGH); // Enciende el led
delay(1000); // Pausa un segundo
digitalWrite(ledverde, LOW); // Apaga el led
delay(1000); // Pausa un segundo
}

Marcas de puntuación:
Las llaves { }. Se usan para indicar el principio y final de una función.
Los paréntesis ( ) se utilizan para escribir funciones dentro de nuestros programas.
Cada instrucción debe acabar con ;
Los comentarios se indican con //. Se pueden introducir bloques de comentarios con // ... . Los comentarios
no son obligatorios.

5. Datos, variables y funciones


HIGH. Define el valor de entrada o salida del pin como ON (5 V o “1” en binario)
LOW. Define el valor de entrada o salida del pin como OFF (0 V o “0” en binario)
Función pinMode(pin, mode)
Función usada dentro de la función setup() para configurar como un pin debe comportarse, como
entrada de información o salida de información a la placa Arduino (INPUT o OUTPUT).);
Ej. pinMode(ledPin, OUTPUT); // configura el ledPin como de salida.
INPUT. Se utiliza en la función pinMode() para definir la función del pin digital usado como entrada
de datos (ej: pulsadores, sensores)
OUTPUT. Se utiliza en la función pinMode() para definir la función del pin digital usado como
salida de datos (ej: leds, motores)
Ej. pinMode (ledPin, OUTPUT);
Funcion digitalWrite (pin, valor)
Introduce un valor (HIGH) o (LOW) en el pin digital especificado..
Ej. digitalWrite (ledPin, HIGH);
Función digitalRead(pin)
Lee el valor desde un pin digital específico. Devuelve un valor HIGH o LOW. El valor leído debemos
almacenarlo en una variable
Ej. v = digitalRead (ledPin);
Delay (ms). Realiza una pausa en el programa la cantidad de tiempo va en milisegundos
Ej delay(5000); // Pausa 5 segundos

if (condición SI): Comprueba si una condición se cumple. La función se escribe entre llaves { }
if (x > 120) { digitalWrite (ledPin, HIGH); }
Puede utilizarse con uno o más operadores de comparación:
== igual que != diferente que
< menor que > mayor que
<= menor o igual que >= mayor o igual que
if…else: SI…..SINO
if (x > 120) { digitalWrite (ledPin, HIGH); }
else { digitalWrite (ledPin, LOW); }

4
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

6. Ejercicios
1 .- Encender un led de forma intermitente
int ledRojo = 7; // LED que se conecta al pin 7

void setup()
{
pinMode(ledRojo, OUTPUT); // El p1n 7 será una salida digital
}
void loop()
{
digitalWrite(ledRojo, HIGH); // Enciende el LED
delay(1000); // Pausa de 1 segundo
digitalWrite(ledRojo, LOW); // Apaga el LED
delay(1000); // Pausa de 1 segundo
}
ESQUEMA

El LED debe llevar una resistencia de protección de 100 o 220 Ω.


Recuerda que el led tiene polaridad y la patilla corta debe ir a negativo
La corriente + se la proporciona el pin de Arduino y el circuito cierra en – o GND

2 .- Encendido secuencial de 3 leds: encender 3 leds (V,R y A) de forma secuencial (primero un led
rojo 2 segundos, luego el led amarillo 2 segundos y luego se enciende el led verde durante 4
segundos), se apagan los 3 leds y el programa vuelve a comenzar

3 .- Encendido alternativo de 3 leds (semáforo): encender 3 leds de forma alternativa. El led


Amarillo debe permanecer menos tiempo encendido que el verde y rojo. (V-A-R)

4 .- Encendido de un led durante 5 segundos al accionar un pulsador

int led = 7; // LED que se conecta al pin 7


int pulsador = 2; // PULSADOR que se conecta al pin 2
int valorPulsador = 0; // Creamos la variable "VALOR del
pulsador", que comenzará su valoe en 0

void setup()
{
pinMode(led, OUTPUT); // El p1n 7 será una salida digital
pinMode(pulsador, INPUT); // El p1n 2 será una entrada digital
}

void loop()
{
valorPulsador=digitalRead (pulsador);

if (valorPulsador == HIGH) // Si se activa el pulsador

5
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

{
digitalWrite(led, HIGH); // Enciende el LED
delay(5000); // Pausa de 5 segundos
digitalWrite(led, LOW); // Apaga el LED
}
}
ESQUEMA La conexión del pulsador debe
hacerse conectando solo 2 patas
y en diagonal
Minipulsador CI 4 patas

ESQUEMA

Conexión a 5V y GND

El pulsador debe llevar una resistencia de 10 K antes de llegar a negativo o GND

5.- Sensores de proximidad PIR (infrarrojos)


Encender un led cuando el sensor detecte algo cerca. El azul de IR emite luz
y cuando choca con algo, la luz rebota y el fototransistor blanco la recibe y se
activa (HIGH)

int ir = 2;
int led = 8;
int irValor =0; //Creamos la variable "VALOR del sensor ir",
que comenzará en 0
void setup()
{
pinMode(led, OUTPUT);
pinMode (ir, INPUT);
}

void loop()
{
irValor= digitalRead (ir);

if (irValor == HIGH)
{
digitalWrite(led, HIGH);
delay(2000);
}

6
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

else
{
digitalWrite(ledPin, LOW);
}
}

El sensor de IR no necesita resistencia de protección. Lleva 3 patillas: Vcc se conecta a 5V,


GND se conecta a tierra y OUT es la patilla que irá al pin de arduino que transmita la señal.
El sensor formado por led IR y fototransistor deben llevar resistencias de protección de 100Ω
y 10 K respectivamente antes de llegar a GND.

V+
GND V+
OUT
GND GND
V+

6.- Encendido de un led rojo y un zumbador cuando alguien se acerca. Si no hay nadie se
encenderá un led verde

6.- Mover un servomotor al detectar proximidad con un sensor de IR


Los servomotores son motores de CC que pueden girar entre 0 y 180º normalmente. Llevan tres
cables:
- alimentación a 5V (rojo),
- GND o negativo (que puede ser negro o marrón)
- Señal o OUT (que puede ser blanco o naranja o amarillo) y se conecta a un pin digital de
Arduino.

0º 90º 180º

Cuando programamos con arduino debemos incluir una librería llamada “servo.h”. Y creamos un
objeto “Servo” con el nombre que queramos dar a nuestro motor.

#include <Servo.h> //incluye una librería para mover servos

Servo motor1; //crea un objeto Servo llamado motor1


int ir = 2; //coloca el sensor ir en el pin 2
int valorIR=0; // crea la variable valorir y la inicia en 0

7
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

void setup() {
motor1.attach(8); //coloca el servo en el pin 8
pinMode(ir, INPUT); //define el pin del sensor ir como de entrada
}

void loop() {
valorIR = digitalRead (ir);
if (valorIR == HIGH)
{
motor1.write(180); //el motor gira 180º en un sentido
delay(2000);
}
else
{
motor1.write(0); //el motor gira -180º y se coloca en la
posición inicial
}
}

7.- PROYECTO: Puerta corredera y semáforo


Crea un programa para tu proyecto de taller que:
▪ Al inicio encienda un semáforo en rojo.
▪ Cuando alguien se acerca el semáforo cambia a amarillo y la puerta se abre.
▪ La puerta permanece abierta 5 segundos y mientras el semáforo estará en verde.
▪ El semáforo cambia a rojo y la puerta se cierra

8.- Mover un servomotor continuo al presionar un pulsador


Los servomotores continuos son motores de CC que giran continuamente y a los que podemos
regular la velocidad. Llevan tres cables:
.
- alimentación a 5V (rojo),
- GND o negativo (que puede ser negro o marrón)
- Señal o OUT (que puede ser blanco o naranja o amarillo) y se
conecta a un pin digital de Arduino.

El ángulo de giro que programamos nos define el sentido de giro y la velocidad (0 - 180º ).

0 90 180
Motor parado Giro en el otro sentido a
Giro en un sentido a
(Hay casos en que hay que máxima velocidad
máxima velocidad
ajustar este valor, ej.100)
0-89 91-180
Giro en un sentido disminuyendo la Giro en el otro sentido aumentando la
velocidad al aumentar el número velocidad al aumentar el número

Cuando programamos con arduino debemos incluir una librería llamada “servo.h”. Y creamos un
objeto “Servo” con el nombre que queramos dar a nuestro motor.

#include <Servo.h> //incluye una libreria para mover servos

Servo motor1; //crea un objeto Servo llamado motor1


int pulsador = 2; //coloca el pulsador en el pin 2
int valorpulsador=0; // crea la variable valorpulsador y la inicia en 0

8
TPR 3ºESO. Departamento de Tecnología. IES Nuestra Señora de la Almudena Mª Jesús Saiz

void setup() {
motor1.attach(8); //coloca el servo en el pin 8
pinMode(pulsador, INPUT); //define el pin del pulsador como de entrada
}

void loop() {
valorpulsador = digitalRead (pulsador);
if (valorpulsador == HIGH)
{
motor1.write(180); //el motor gira a velocidad máx en un sentido 5s
delay(5000);
motor1.write(100); //el motor para 2s
delay(2000);
motor1.write(0); //el motor gira a velocidad máx en el otro sentido 5s
delay(5000);

}
else
{
motor1.write(100); //el motor para
}
}

9..- Cambia el programa para que el motor gire 3 s a velocidad máxima. Luego gire otros 3 s a
velocidad lenta. Pare 2 s. Cambie el sentido de giro y gire a velocidad lenta durante 3 s. Luego gire 3
s a velocidad máxima. Y pare el motor.

10..- Cambia el programa para que al accionar un pulsador el motor gire 3 s a velocidad máxima y se
encienda un led verde. Y al accionar otro pulsador cambie el sentido de giro y gire a velocidad máxima
durante 3 s.

También podría gustarte