Clase 4
Clase 4
MICROPROCESADORES
CLASE 4
LOS SISTEMAS DE LIBRERIAS DE ARDUINO
01 / 10
CONTENIDO DE LA LIBRERIA
01 / 10
COMO SE USAN
Para usar una librería que acabamos de instalar, lo
que hay que hacer es leer la documentación de esa
librería si es que está disponible y luego leer y probar
los ejemplos que dispone la librerías.
Pero ahora que ya sabemos manejar clases y objetos,
si queremos entrar a fondo en una librería para saber
usarla, podemos abrir el fichero del encabezado (.h) y
ver las propiedades y métodos, ver si hereda de otra
librería, etc… y luego incluso ver cómo funciona la
propia librería leyendo el código en el fichero .cpp e
incluso si nos atrevemos añadir nuevos métodos o
modificar un método que nos interese.
https://es.wikipedia.org/wiki/Reset
http://apuntes-electronicos.blogspot.com/2013/02/diseno-de-sistema-microcontrolador-en.html
http://hyperphysics.phy-astr.gsu.edu/hbasees/Electronic/setreset.html
01 / 10
01 / 10
INSTALACION
• Instalación Manual. Descomprimiendo en un directorio la librería y
copiandolo en el directorio de librerías. Generalmente Mi
Documentos – Arduino – libraries. Aquí se guardan las librerías
contribuidas por el usuario como lo denomina el IDE.
• Desde el gestor de librerías. A partir de la versión 1.6.2 del IDE de
Arduino se incorpora el gestor de librerías que facilita el trabajo.
Esta herramienta es accesible desde Programa → Incluir Librería →
Gestionar Librerías. Desde aquí podemos ver las librerías instaladas,
buscar librerías disponibles, instalar librerías y actualizarlas.
Esta herramienta también nos permite gestionar las librerías
instaladas manualmente.
Desde C:\Users\nombre_usuario\AppData\Local\Arduino15, podemos
ver en formato json el listado de librerías y placas disponibles desde
el gestor de librerías y tarjetas.
01 / 10
Acumulador
Ejemplo:
01 / 10
Ayuda automática librería
01 / 10
01 / 10
Posibles librerías
LCD
SERVO
SENSORES DE TEMPERATURA
BIOELECTRONICAS
MODULACION DE PULSOS PWM
SERIAL
I2C
SENSORES EN GENERAL
01 / 10
¿Que es un seguidor de línea?
02 / 10
En esta temática , las pistas de prueba utilizadas para seguidores de línea ópticos infrarrojos son
de dos tipos , Una superficie Negra , con línea blanca, y planos blancos , con líneas negras, el
grosor estándar es el de la cinta de aislar 3M.
02 / 10
Para poder “VER” la línea el Robot Utiliza Sensores, uno de los los mas comunes son los
Infrarrojos
02 / 10
Que tiene adentro un sensor
02 / 10
Otros sensores
CNY-70 o el QR1114
02 / 10
Controladores: (cerebros)
Estos pueden ser muy sencillos, emulando actos reflejos , ( estos son reflejados por
comportamientos neuronales pre condicionados). NO necesariamente razonados.
Algunos Seres vivos , como los insectos , presentan estos, por su simplicidad, El diseñador
electrónico , utiliza esta técnica:
Comprende en este tipo de diseño , el caso de simples alambrados , circuitos electrónicos muy
baciscos.
02 / 10
Otros Controladores , pueden ser más complejos:
Como Los microcontroladores o los populares SBC
02 / 10
SEÑALES DIGITALES BAJO
SEÑALES ANALOGICAS DE
NIVEL
BAJO NIVEL
SENSORES CONTROLADORES
SBC
02 / 10
ALGO DE BATERIAS:
• DESECHABLES
• RECARGABLES TRADICIONALES
• RECARGABLES NUEVA
GENERACION
02 / 10
ACTUADORES
Los actuadores: transforman señales de bajo
nivel , a señales de POTENCIA
02 / 10
02 / 10
02 / 10
Motor de corriente
directa
Características:
• Buen Torque
• Se alimenta con
baterías
• Cambio de polaridad
• Cambio velocidad
02 / 10
10 / 10
// Declaracion de librerias
#include <dht11.h>
#include <LiquidCrystal_I2C.h>
//Declaracion de variables
01 / 10
void setup() {
direccion=0;
direcciony=20;
CONTROL=0;
//lcd.begin(); //Si marca error intenta con lcd.init();
lcd.init();
lcd.backlight();
Serial.begin(9600);
pinMode(LEDROJO, OUTPUT);// lo hace salida
pinMode(LEDAMARILLO,OUTPUT);// lo hace salida
pinMode(LEDVERDE, OUTPUT);// lo hace salida
pinMode(BOTON, INPUT);// lo hace entrada
lcd.setCursor(1, 0);
lcd.print("Centro de");
lcd.setCursor(0, 1);
lcd.print("Temperatura 0.0");
delay(3000);
lcd.clear();
lcd.setCursor(13,1);
lcd.print("OFF");
}
01 / 10
void loop()
{
selector();
SENSOR();
if (selec==1)
TEMPERATURA();
if (selec==2) HUMEDAD();
if (selec==3)
CONTROLADOR();
ACCION();
}
01 / 10
void selector()
{
a=analogRead(A0);
a=map(a,0,1023,0,100);
// Serial.println(a);
if (a>=12 && a<=14)
direccion=direccion+1;
if (a>=15 && a<=17)
direccion=direccion-1;
if (direccion==4) direccion=0;
if (direccion=
=-1)direccion=3;
selec=direccion;
//Serial.println(direccion);
//delay(500);
}
01 / 10
void SENSOR()
{
float dato;
dato = DHT.read(DHT11_PIN);
hum=DHT.humidity;
temp=DHT.temperature;
delay(100);
}
void TEMPERATURA()
{
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.setCursor(2, 1);
lcd.print(" ");
lcd.setCursor(1, 0);
lcd.print("La temperatura es:");
lcd.setCursor(2, 1);
lcd.print(temp);
lcd.print(" C");
Serial.print("La temperatura es: ");
Serial.print(temp);
Serial.println(" C");
01 / 10
void ACCION()
{
if (CONTROL==1 && temp>=direcciony)
{
digitalWrite(LEDROJO,HIGH);
digitalWrite(LEDAMARILLO,HIGH);
lcd.setCursor(13, 1);
lcd.print("ON ");
}
if (CONTROL==1 && temp>=(direcciony+2))
{
digitalWrite(LEDROJO,LOW);
digitalWrite(LEDAMARILLO,LOW);
lcd.setCursor(13,1);
lcd.print("OFF");
}
if (CONTROL==1 && temp<=direcciony)
{
digitalWrite(LEDROJO,LOW);
digitalWrite(LEDAMARILLO,LOW);
lcd.setCursor(13,1);
lcd.print("OFF");
}
if (CONTROL==0 )
{
digitalWrite(LEDROJO,LOW);
digitalWrite(LEDAMARILLO,LOW);
lcd.setCursor(13,1);
lcd.print("OFF");
}
}
01 / 10
void HUMEDAD()
{
lcd.setCursor(0, 0);
lcd.print(" ");
void CONTROLADOR()
lcd.setCursor(2, 1);
{
lcd.print(" ");
lcd.setCursor(1, 0);
lcd.setCursor(0, 0);
lcd.print(" ");
lcd.print("La humedad es:");
lcd.setCursor(2, 0);
lcd.setCursor(2, 1);
lcd.print(" ");
lcd.print(hum);
lcd.setCursor(0, 0);
Serial.print("La humedad es: ");
lcd.print("La temp de control es:");
Serial.println(hum);
lcd.setCursor(2, 1);
lcd.print(direcciony);
}
lcd.print(" C ");
a=analogRead(A0);
a=map(a,0,1023,0,100);
Serial.println(a);
if (a>=23 && a<=26) direcciony=direcciony+1;
if (a>=15 && a<=20) direcciony=direcciony-1;
if (a>=49 && a<=51) CONTROL=1;
if (a>=100 && a<=102) CONTROL=0;
Serial.println(CONTROL);
01 / 10
PRACTICA NO 3
•Arduino uno o nano con cable
Motoreductor CABLES MONTADOS
Puente h L298 para arduino
Potenciometro 10K
TCR5000 MODULO DE SEGUIMIENTO 8
CANALES
Protoboard
Cables jumpers
01 / 10
01 / 10
01 / 10
01 / 10
CUESTIONARIO PRACTICA NO 2
01 / 10
CUESTIONARIO 3
1)Que es una librería
2)Determina las características
eléctricas del sensor de temp
3)Para que serviría un control así
4)Reflexiona acerca del mapeo del
selector con joystik
GRACIAS