Está en la página 1de 37

MENÚ SERIAL

PULSADORES
• El pulsador tiene cuatro patillas que están conectadas a
pares como se ve en el siguiente esquema.
RESISTENCIA PULLUP Y
PULLDOWN CON PULSADOR
• Estos dos tipos de resistencias nos aseguran que cuando el
interruptor esté abierto tengamos un valor HIGH (5V) o LOW
(0V), pero ¿cómo lo hacen?
PULSADOR Y RESISTENCIA
PULLDOWN
• La resistencia que se ha utilizado y que debemos utilizar es de
10K ya que así evitamos que tenga influencia sobre el circuito.
El código sería exactamente igual, la única diferencia es que
ahora funciona correctamente, cuando el pulsador no está
presionado el LED está apagado y cuando está presionado se
enciende el LED.
PULSADOR Y RESISTENCIA
PULLUP
• Si lo que queremos es tener el LED siempre encendido y que
solo se apague cuando pulsamos, debemos utilizar la
resistencia pull-down. El esquema sería el siguiente.
• La resistencia seguirá teniendo el mismo valor que en la
configuración pull-down y el código será el mismo. Si lo
pruebas ahora en tu Arduino comprobarás que se ha invertido
el funcionamiento.
SEÑALES DE CONTROL DE
POTENCIA PWM
PWM (Pulse Width Modulate): Modulación por ancho de
pulso. Se utiliza para regular sistemas de potencia
(mayoritariamente motores).
Es un tren de pulsos de cuya duración (a nivel alto)
respecto la señal GND es regulable (duty cycle).

Potencia máxima (100%): se envía un nivel


alto de manera continua
Potencia 0: se GND de manera continua.
Potencia media (50%): la duración en alto y en
GND es la misma.
En Arduino UNO existen 6 señales PWM y se obtienen a
partir de las salidas digitales marcadas con ‘~’: D3, D5,
D6, D9, D11 y D12.

Los trenes de pulsos tienen valores altos de 5V y bajos de


GND.
CONTROL DE UN MOTOR
POR PWM
Las señales digitales de
Arduino proporcionan
potencias máximas muy
pequeñas (5V*40mA)
incapaces de mover el motor.
Es por esto que se precisa de
una fuente de alimentación
que proporcionen las
tensiones (12V) y potencias
necesarias.
La regulación de la potencia
que proporciona la fuente la
realiza el PWM del Arduino a
través de un transistor.
EJERCICIO PWM
• Se pretende realizar mediante la modulación por ancho de
pulso un programa que permita el control de la luminosidad
de un led, es decir que empiece desde cero hasta el valor
máximo de luminosidad y a continuación decremente.
• Además queremos visualizar el proceso de incremento y
decremento a través del monitor del puerto serie.
ACTUACIÓN SOBRE UN
RELÉ
Un relé es un conmutador actuado por una señal eléctrica.
La conmutación se hace realiza mecánicamente,
moviendo una plaquita que conecta un circuito con otro.
El movimiento lo realiza un electroimán, cuya bobina está
alimentada por la tensión de control.
Para alimentar la bobina del relé no se hace directamente
mediante la salida digital del Arduino, si no que se hace a
través de transistores.

En paralelo a la bobina se suele conectar un diodo de


protección que evita que la corriente inducida por la
bobina retorne por el circuito.
En este ejemplo, el relé conmuta la señal de 5V del
Arduino a un led de potencia. La señal que actúa sobre el
relé es la señal digital D8 del Arduino y lo hace a través
de un transistor NPN.
Práctica
Implementar una aplicación que conmute entre dos leds
de “potencia”, cuando uno esté encendido el otro esté
apagado. Utilizar relés.
BUSES DE
COMUNICACIÓN
PUERTO SERIE
El puerto Serie envía datos de manera secuencial.
RX: línea que recibe los
datos
TX: línea que envía los
datos
Para la comunicación serie entre dos dispositivos deben cruzarse los cables. Es
decir, conectar RXde uno a TXdel otro y viceversa. Además deberán conectarse
GNDentre ellos.
PUERTO SERIE
• Arduino UNO solo tiene un puerto serie que se utiliza,
generalmente, para la comunicación con el PC. Es decir, para
programar el Arduino o para mostrar mensajes en consola.

• Podemos enviar mensajes entre dos Arduinos UNO, pero


no podremos mostrarlos en consola.

• Otros Arduinos, como el MEGA2560, permiten la utilización


de más de un puerto Serie.
BUS I2C
• I2C o IIC (Inter-Integrated Circuit) es un BUSde
comunicación serie muy utilizada entre componentes
electrónicos como microprocesadores. Las señales son: datos,
reloj y GND.
• SDA: Señal de Datos. Corresponde a
A4 en Arduino UNO
• SCL: Señal de Reloj. Corresponde a
A5 en Arduino UNO GND: tierra
• Para la conexión entre dispositivos deben conectarse las tres
señales una a una.
BUS I2C
• Dispositivo esclavo
• Esel dispositivo que ejecuta órdenes de un maestro. Funciona
mediante eventos. Es decir, ejecuta una función cada vez que
recibe unaorden

• Wire.onRequest(sendData)
• Ejecuta la función sendData que envía el mensaje mediante
• Wire.write(char *msg);
Wire.begin(2); //iniciamos el esclavo
Wire.onRequest(sendData); //activa el evento sendData
void sendData()
{
while(Wire.available())
Wire.write(msg); //enviamos el mensaje
}
BUS I2C
• Wire.onReceive(receiveData);
• Ejecuta la función receiveData que recibe el mensaje
mediante
• Wire.read();

Wire.begin(2); //iniciamos el esclavo


Wire.onReceive(receiveData); //activa el evento receiveData
void receiveData ()
{
char c =Wire.read(msg); //recibe el mensaje
}
BUS I2C
• Dispositivo maestro
• Esel dispositivo que envía órdenes a un esclavo, y éste las
ejecuta. La órdenes que puede enviar son:

• Wire.Write(char *cadena)
• Envía por el BUSI2C una cadena de caracteres al esclavo
especificado. Se utiliza así:

Wire.beginTransmission(2); //indicamos el esclavo


Wire.write(“hola! Hay alguien ahí?”); //enviamos el texto
Wire.endTransmission(2); //final de la transmisión
BUS I2C
• Wire.Read()
• Recibe por el BUSI2C un carácter enviado por el esclavo
especificado. Se utiliza así:

Wire.requestFrom(2, 50); //indicamos el esclavo


while(Wire.available()) //vamos leyendo mientras recibamos texto
char c=Wire.read(); //guardamos el carácter recibido en“c”
BUS I2C
Ejemplo de recepción
de una cadena en un
dispositivo master.
BUS I2C
Dispositivo esclavo.
Cada vez que el
master requiera el
mensaje, el esclavo
activa el evento
“sendData” para
enviar el mensaje
“msg”.
BUS I2C
• Ejercicio
• Partiendo del ejemplo anterior, enviar un acuse de recibo
desde el maestro en el momento en que ha recibido el
mensaje.

• El esclavo deberá mostrar en la consola que ha recibido el


acuse de recibo.
MÓDULOS BLUETOOTH
PARA ARDUINO
MÓDULOS BLUETOOTH PARA
ARDUINO

• En el mercado encontramos
módulos bluetooth sencillos
y económicos.

• Lo mas frecuentes en el
mercado son los módulos
HC-05 y HC-06.
DIFERENCIAS ENTRE DOS
MÓDULOS BLUETOOTH
CONFIGURACIÓN HC-05
CONFIGURAR HC-05
CONFIGURAR HC-05
CONFIGURACIÓN HC-05
Comandos AT:

Nombre Bluetooth: AT+NAME= BT


Clave Bluetooth: AT+PSWD=5678
Modo Esclavo: AT+ROLE=0
ENVÍO Y RECEPCIÓN DE
DATOS VÍA BLUETOOTH
ENVÍO Y RECEPCIÓN DE
DATOS VÍA BLUETOOTH
EJERCICIO PROPUESTO
• Control ON/OFF de 3 LED´s, y dos estados o
posiciones de un Servomotor desde su teléfono
móvil. Estos deben ser independientes entre si.

• Envíe datos de luminosidad a la terminal de su


aplicación en su dispositivo móvil.

También podría gustarte