Tema 1112131415 PDF
Tema 1112131415 PDF
Tema 1112131415 PDF
Segundo Parcial
Índice
- Electrónica básica.
Microcontroladores
• Manejo de sensores
• Controladores, juegos, calculadoras
• Secuenciador de luces, cerrojos electrónicos
• Alarmas, robots, entre otros.
Carrera de Ingeniería en Sistemas Computacionales Robótica
Carrera de Ingeniería en Sistemas Computacionales Robótica
Características generales.
Memoria
El reloj
El procesador
Temporizadores o timers
Plataforma Arduino
Instalación de Arduino
Lenguaje de programación
• void setup()
• void loop()
SETUP()
void setup()
{
pinMode(pin, OUTPUT); // configura el 'pin' como salida
digitalWrite(pin, HIGH); // pone el ‘pin’ en estado HIGH
}
Carrera de Ingeniería en Sistemas Computacionales Robótica
LOOP()
void loop()
{
digitalWrite(pin, HIGH); // pone en uno (on, 5v) el 'pin'
delay(1000); // espera un segundo (1000 ms)
digitalWrite(pin, LOW); // pone en cero (off, 0v.) el 'pin' delay(1000);
}
Carrera de Ingeniería en Sistemas Computacionales Robótica
Funciones
type nombreFunción(parámetros)
{
instrucción;
}
{} Entre llaves
Las llaves sirven para definir el principio y el final de un bloque
de instrucciones
; punto y coma
El punto y coma “;” se utiliza para separar instrucciones en el
lenguaje de programación de Arduino. También se utiliza para
separar elementos en una instrucción de tipo “bucle for”.
Carrera de Ingeniería en Sistemas Computacionales Robótica
// línea de comentarios
Una línea de comentario empieza con // y terminan con la
siguiente línea de código. Al igual que los comentarios de
bloque, los de línea son ignoradas por el programa y no ocupan
espacio en la memoria.
Carrera de Ingeniería en Sistemas Computacionales Robótica
Electrónica Básica
Transformador.- Es un bobinado de
cobre, que nos permite disminuir la
tensión, en nuestro caso de 110 Volt a 5V,
12V, 24V, etc.
Resistencias en Serie.
Resistencias en Paralelo.
Pasos para
trabajar con la Serial.begin(velocidad)
comunicación
serial con Donde velocidad puede tomar los siguientes
Arduino valores: 300, 600, 1200, 2400, 4800, 9600,
14400, 19200, 28800, 38400, 57600 o 115200.
• Para leer caracteres del buffer serie y guardarlos en un string hasta que
se produzca un timeout usamos:
• Serial.readString()
Actuadores
y sensores
digitales
básicos
ACTUADORES Y SENSORES DIGITALES BÁSICOS
Sensores
Los sensores son dispositivos que recogen información del mundo ‘real’ y la
entregan al sistema de control de forma que el sistema de control ‘entienda’ y
pueda procesar y tomar decisiones.
Los actuadores son dispositivos que siguiendo las órdenes del sistema de
control, realizan acciones que repercuten en el mundo ‘real’, por ejemplo:
motores, relés, pistones, válvulas, indicadores luminosos, etc. Es conveniente
aclarar que en muchos casos el actuador es un dispositivo que pone en
marcha alguno de estos equipos.
Actuadores Digitales
Ejemplos:
• [0-1]
• Verdadero o Falso
• 0V o 5V
La salida será de 0 o 5 volts.
Ejemplo:
setup()
{
pinMode([PIN], OUTPUT);
}
digitalWrite([PIN], [HIGH/LOW]);
“Un sensor de luz le indica al sistema de control que hay poca luz en los
aparcamientos que queremos controlar y el sistema determina que hay que
activar una serie de farolas, para conseguirlo activa un contactor (actuador)
que provoca que las farolas se iluminen”
A la hora de elegir un sensor para Arduino debemos tener en cuenta los
valores que puede leer las entradas analógicas o digitales de la placa para
poder conectarlo o sino adaptar la señal del sensor a los valores que acepta
Arduino.
Se puede utilizar, por ejemplo, para diferente tipos de proyectos como lo son
alarmas de proximidad, medir niveles de agua de un tinaco o cualquier otro
objeto que almacene algún tipo de líquidos. Ten en cuenta que para que este
sensor funcione de manera correcta, se requiere de una superficie lisa y
perpendicular a la dirección de propagación del sensor.
El sensor se basa simplemente en medir el tiempo entre el envío y la
recepción de un pulso sonoro. Sabemos que la velocidad del sonido es
343 m/s en condiciones de temperatura 20 ºC, 50% de humedad, presión
atmosférica a nivel del mar. Transformando unidades resulta.
Para controlar el contrastes usa una entrada analógica VEE el cual por lo
general se usa un potenciómetro para poder variar el contraste. Los LCD que
traen Backlight tiene dos pines al final Led+ y Led- los cuáles se pueden
alimentar directamente a 5V o a través de una resistencia si se tratase de un
LED, variando su resistencia se pude variar la intensidad de luz.
COMANDOS IMPORTANTES
#include <LiquidCrystal.h>
//Crear el objeto LCD con los números correspondientes (rs, en, d4, d5, d6, d7)
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup()
{
pinMode(pir, INPUT);
pinMode(zumbador, OUTPUT);
}
void loop()
{
if (digitalRead(pir) == HIGH)
{
tone(zumbador,1000);
}
else
{
noTone(zumbador);
}
}
Sensores
analógicos
básicos
Entradas
analógicas
• Las entradas analógicas del
modelo Uno son las
correspondientes a los pines de
A0 a A5. Se caracterizan por
leer valores de tensión de 0 a 5
Voltios con una resolución de
1024 (10 bits).
Ejemplo
Si estamos leyendo voltajes en
un Arduino UNO, como es de 10
bits en realidad el Arduino va a
ver una variación de
un entero entre 0 a 1023
• Esto quiere decir que si Arduino mide:
• Las salidas con valores ajustables más usadas son 0-10V, 0-5V, 0-20mA y 4-
20mA. Por ejemplo, un actuador para controlar el nivel de iluminación
(dimmer) de unas lámparas fluorescente se puede controlar con tensión 0-
10V, correspondiendo 0V a apagado, 10V para que estén totalmente
encendidos y los valores intermedios para niveles de luz intermedios.