Entradas Analógicas.

Documentos relacionados
Taller de electrónica creativa. Cocinando con Arduino

CONTROL DE UN SERVOMOTOR

Tecnológico Nacional de México

Empieza con // y termina con la siguiente línea de código. Son ignorados por el programa y no ocupan espacio en memoria.

4 Actuadores eléctricos. Alfaomega. Material Web. Arduino control de servomotores a pasos 2

PRACTICAS CON ARDUINO

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ELECTRONICA

EL SENSOR DE SONIDO KY-038 (VERSION )

CURSO: ROBÓTICA. CONECTANDO CON EL MUNDO FÍSICO. ÍÑIGO MARTÍN MIMBELA.

Práctica 4. Entradas/Salidas Analógicas con Arduino

Puente H: cambio de giro y velocidad de motores DC.

2. Programación en Arduino

Lectura de pines analógicos

Instalación y entorno de programación

La ventana de mblock se compone de 5 partes principalmente:

Dpto. Tecnología Colegio Colón

Tutorial Arduino con Fotoresistencia LDR

PRESENTA INTRODUCCIÓN A ARDUINO

IM : ARDUINO NANO OEM

Programación de dispositivos Arduino Asignatura Sistemas Digitales!

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

Introducción a Arduino. Electrónica para todos.

Introducción a Arduino

TECNOLOGICO NACIONAL DE MÉXICO. Materia: Instrumentación Virtual

Clase 2: Programación

Comunicación Serial con Arduino (Por Antony García González - Enero 27, 2013 )

Actuadores eléctricos - Motores

INTERRUPTOR CREPUSCULAR CON LDR Y ARDUINO OBJETIVOS MATERIAL NECESARIO

LED INTERMITENTE CIRCUITO ELÉCTRICO MATERIALES PROGRAMA LED DOS CONECTORES CABLE USB ROBÓTICA. Puerto 8 ( salida al led rojo ) ARDUINO UNO 220 W GND

MANUAL DE USUARIO Como utilizar un servo motor con Arduino REV. 1.0

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

1. Escribir un dato digital del WinCC al Arduino

TEMA 7: ROBÓTICA -PROGRAMACIÓN

Máquina elíptica inteligente.

Clase 4: Motores. Conviértete en un Joven Inventor PENTA UC

Curso Arduino avanzado

5.- ENTRADAS/SALIDAS DIGITALES

AR 3 T. Tutorial 3: Voltajes analógicos y PMW, Potenciómetro + LED. Objetivo General.

TEMA 6: ROBÓTICA -PROGRAMACIÓN

Taller de electrónica para usos creativos. Practicando con Arduino

Detección de luz con sensor LDR

Sencillo proyecto consistente en un LED que parpadea continuamente. Para ello debemos conectar un LED al pin 13 de la tarjeta controladora.

Módulo Radio frecuencia FSK y Arduino

Introducción a Arduino

CYBERTECH 2018 TALLER 03: MOTORES Y POTENCIA

La plataforma Arduino

Sensor Analógico: Potenciómetro

Conceptos básicos de Arduino:

TuBot 2014 GUIA DE MONTAJE Y PROGRAMACIÓN SENSORES. Dpto. de Electrónica - Universidad de Alcalá TuBot

SERVOMOTORES. Para usar la librería del servomotor primero tiene que importarla. Esto añade nuevas funciones al sketch desde la librería.

DESARROLLO DE UN PROYECTO DE SISTEMAS AUTOMÁTICOS

Taller Robótica Libre con Arduino Desarrollo del pensamiento computacional a través de la programación y la robótica. UIMP. Julio de 2017.

Control de LCD y sensor de temperatura

OBJETIVOS QUÉ VAMOS A REALIZAR? CONOCIMIENTOS PREVIOS

PRÁCTICA NÚMERO 5: COMUNICACIÓN ENTRE DOS ARDUINOS CON RF

Iniciación al IDE de Arduino y primer ejercicio

Programar posiciones en un Micro Servo Tower Pro SG90 9G

Clase 3: Sensores I. Conviértete en un Joven Inventor PENTA UC

PRÁCTICAS DE ARDUINO / VISUALINO

Tecnología robótica. Tema 7.- Tarjeta controladora Arduino

Sesión 12: Practica 3: Creación de prototipo básico de Arduino.

Control por Computador. Manual de arduino. Jorge Pomares Baeza. Grupo de Innovación Educativa en Automática 2009 GITE IEA

Instituto Tecnológico de Colima

Conviértete en un Joven Inventor PENTA UC TAV Humano-Máquina

Tutorial: Uso de Driver L298N para motores DC con Arduino

UNIDAD 11: CONTROL DE SERVOMOTORES

EducaBot. Sensores 3º parte.

Aprende a construir y programar un robot interactivo utilizando los componentes del Maker Control Kit y el Maker Kit 3.

Bach. Pablo Sanabria Campos. Programa de Tecnologías Educativas Avanzadas

vbnmqwertyuiopasdfghjklzxcvbnmq wertyuiopasdfghjklzxcvbnmqwertyui

Introducción a Arduino

PROYECTO DE ELECTRÓNICA

TEMA 6: PROGRAMACIÓN ROBÓTICA.ARDUINO

ASOCIACIÓN SIERVOS DE LA CARIDAD OBRA DON GUANELLA INSTITUTO SAN JOSÉ A-355 TALLER GUÍA Nº1

Curso Robótica Práctica

UNIDAD DIDACTICA ARDUINO. ROBOTICA 4 ESO

El Microcontrolador Arduino

CURSO: MICROCONTROLADORES UNIDAD 4: COMUNICACIÓN SERIE- ARDUINO PROFESOR: JORGE ANTONIO POLANÍA

Práctica 7. Control de articulaciones de modelos de Robots. FRO

PROPUESTA ARDUINO por José Manuel Aranga Salazar

CONCEPTOS BÁSICOS DE MICRO CONTROLADORES: CONOCIENDO A ARDUINO

Primera práctica (blink): Hace parpadear un leda intervalos definidos.

1. Conocimientos previos.

5. CONSTRUCCIÓN a) Montar la plataforma móvil según sus instrucciones. b) Soldar un trozo de 20 cm de hilo rígido a los terminales de las reductoras.

Dirección Académica MANUAL DE PRÁCTICAS PRÁCTICA NO 7. CONVERTIDORES A/D Y D/A.

Programación Arduino Con Visualino

EJERCICIOS CON ARDUINO LED ENCENDIDO. Se conecta el Led al pin 52 y a alimentación. Compilar Se enciende el LED.

Práctica 3. Entradas/Salidas Digitales con Arduino

ABIERTO- ELECTRoNICA- PROTOTIPO- PLATAFORMA- QUE ES UN ARDUINO? ES UNA PLATAFORMA DE PROTOTIPADO ELECTRoNICA DE DISEnO ABIERTO. QUE SIGNIFICA ESTO?

TALLER ARDUINO BÁSICO

QUÉ ES EL OPEN SOURCE?

Incorporan funciones especialmente diseñadas para el control de motores paso a paso bipolar:

Ardunio. Test Placa. LunikSoft. Fco. Javier Andrade.

Controlar la luz (u otros inputs) con pulsos modulados PWM (Pulse Width Modulation): reguladores de intensidad.

Arduino Punk Console. Idea

EL ORDENADOR COMO DISPOSITIVO DE CONTROL

IM : PLACA OEM DUE COMPATIBLE CON ARDUINO

Sensor Analógico: LDR. Componentes. Conexionado Lectura del nivel de Luz. Libro de Actividades de Robótica Educativa

CONTROL VELOCIDAD Y SENTIDO DE MOTOR DC. (de

Transcripción:

CURSO PROVINCIAL: INTRODUCCIÓN A LA ROBÓTICA CON ARDUINO ROBÓTICA EDUCATIVA Entradas Analógicas. Manuel Hidalgo Díaz Enero 2011

Entradas analógicas. El controlador Atmega de Arduino lleva incluido un conversor analógico-digital (A/D) de 6 canales. Tiene una resolución de 10 bits, retornando enteros desde 0 a 1023. El uso principal de estos pines (ANALOG IN 0, 5) es para la lectura de sensores analógicos, estos pines tienen también toda la funcionalidad de los pines de entrada-salida digital (14-19). Los pines de entradas analógicas no son necesarios configurarlos en el setup(). Veamos un ejemplo (SensorPotenciometro) de lectura analógica del valor de un potenciómetro y lo vemos en el monitor del entorno Arduino cada segundo. Conectamos 3 cables a la placa Arduino. El primero desde masa a uno de los pines extremos del potenciómetro. El segundo, desde 5 2/10

voltios al otro pin extremo del potenciómetro. El tercero desde el pin analógico 0 al pin medio del potenciómetro. Al girar el eje del potenciómetro, cambiamos el valor de la resistencia entre los pines de los extremos y el pin central del potenciómetro. Esto cambia la "cercanía" relativa del pin central a 5 Voltios y a masa, ofreciendo diferentes valores analógicos de entrada. Cuando giramos el eje a tope en un sentido, llegarán 0 voltios al pin central, y leeremos 0. Cuando giramos el eje a tope, pero en el otro sentido, llegarán 5 voltios al pin central y leeremos 1023. Entre medias, analogread() retorna un número entre 0 y 1023 que es proporcional al valor del voltaje aplicado al pin central. 3/10

Código // SensorPotenciometro // Lectura de un sensor analogico (potenciometro) // connectedo a analog in 0 int sensorpot=0; int val; void setup(){ Serial.begin(9600); void loop(){ int val=analogread(sensorpot); Serial.println(val); delay(1000); Ejemplo (ControlTiempo)de lectura analógica del valor de un potenciómetro que controla el tiempo de encendido de un led. El valor analógico leído del potenciómetro controlará la frecuencia con la que parpadeará un LED Código /* ControlTiempo. Controla el tiempo de parpadeo por la entrada analógica 0*/ int sensorpin = 0; // selecciona el pin de entrada para el potenciómetro int ledpin = 13; // selecciona el pin para el LED int sensorvalue = 0; // variable para almacenar el valor que ofrece el sensor void setup() { // declara el ledpin como salida (OUTPUT) pinmode(ledpin, OUTPUT); void loop() { sensorvalue = analogread(sensorpin); // lee el valor del sensor: digitalwrite(ledpin, HIGH); // enciende el ledpin // detiene el programa durante <sensorvalue> milisegundos: delay(sensorvalue); digitalwrite(ledpin, LOW); // apaga el ledpin : // detiene el programa durante <sensorvalue> milisegundos: delay(sensorvalue); 4/10

PRÁCTICA. SENSOR LDR. Descripción: Un LDR es una resistencia variable, que varia su valor dependiendo de la cantidad de luz que incide sobre su superficie. Cuanta mas intensidad de luz incide en la superficie de la LDR menor será su resistencia y cuanto menos luz incide mayor será la resistencia. Suelen ser utilizados como sensores de luz ambiental o como una fotocélula que activa un determinado proceso en ausencia o presencia de luz. Un sensor de luz se compone de una LDR como parte de un divisor de tensión resistivo. Ejemplo: Vout=((Rbottom/(Rbottom+Rtop))*Vin Si la LDR es usada como R top, como en el primer circuito, da tensión alta (HIGH) en la salida cuando la LDR está en la luz,y una tensión baja (LOW) en la salida cuando la LDR está en la sombra. La acción del divisor de tensión es inversa cuando la LDR es usada como R bottom en lugar de R top, como en el segundo circuito. 5/10

El circuito da tensión Baja (LOW) en la salida cuando la LDR está en la luz, y una tensión alta (HIGH) en la salida cuando la LDR está en la sombra. El circuito divisor de tensión dará una tensión de la salida que cambia con la iluminación, de forma inversamente proporcional a la cantidad de luz que reciba (sensor de oscuridad). Listado de componentes: 1 LDR 1 Resistencia de 1kΩ Un par de cables El esquema del circuito puede quedar de la siguiente forma: El circuito consta de un divisor de tensión formado por la LDR y la resistencia de 1kΩ. 6/10

Código // SensorLDR // Lectura de un sensor analogico (LDR) // connectedo a analog in 0 int sensorldr = 3; int val; void setup(){ Serial.begin(9600); void loop(){ int val=analogread(sensorldr); Serial.print("Valor del sensor LDR: "); Serial.println(val); Serial.println(); delay(1000); 7/10

Código: /* ControlSensorLDR * ------------------ * * Enciende y apaga un LED (light emitting diode) conectado al pin digital #13. * La cantidad de tiempo que el LED estará encendido y apagado depende del * valor obtenido de analogread(). * La salida del sensor de luz o divisor de tensión, está conectado a la entrada del pin 3, * por lo que a más luz, el parpadeo del LED será menor y a menos luz el parpadeo * del LED mayor (sensor de oscuridad) */ int LightPin = 3; // selecciona el pin de entrada para el sensor de luz int ledpin = 13; // selecciona el pin para el LED int val = 0; // variable para almacenar el valor capturado desde el sensor void setup() { pinmode(ledpin, OUTPUT); // declara el ledpin en modo salida void loop() { val = analogread(lightpin); // lee el valor del sensor LDR digitalwrite(ledpin, HIGH); // enciende el LED delay(val); // detiene el programa por un tiempo digitalwrite(ledpin, LOW); // apaga el LED delay(val); // detiene el programa por un tiempo 8/10

CONTROL DE UN SERVOMOTOR Descripción Usa un potenciómetro para controlar el movimiento de giro de un eje de un servomotor. Circuito Los servomotores tienes tres cables: alimentación, tierra y señal. El cable de alimentación normalmente es rojo, y debe ser conectado al pin 5V de la placa Arduino. El cable de tierra debe ser conectado al pin de tierra de la placa Arduino. El pin de señal es típicamente amarillo o naranja y se conecta al pin 9 de la placa Arduino. El potenciómetro debe ser conectado de manera que los dos pines exteriores estén conectado a alimentación (+5V) y tierra, y su pin del medio conectado a la entrada analógica 0 en el Arduino. 9/10

Código //ControlAnalogicoServo // Controlando la posición de un servo usando un potenciómetro (resistencia variable) // Por Michal Rinott <http://people.interaction-ivrea.it/m.rinott> #include <Servo.h> Servo myservo; // Crea un objeto servo para controlar el servomotor int potpin = 0; // Pin analógico usado para conectar el potenciómetro int val; // variable para leer el valor del pin analógico void setup() { myservo.attach(9); // asocia el servo en pin 9 al objeto servo void loop() { val = analogread(potpin); // lee el valor del potenciómetro (valor entre 0 y 1023) val = map(val, 0, 1023, 0, 179); // escala el valor para usarlo con el servo (valor entre 0 y 180) myservo.write(val); // fija la posición del servo de acuerdo al valor escalado delay(15); // espera a que el servo se posicione 10/10