InicioCiencia EducacionRegula las luces de tu casa con tu teléfono.

Regula las luces de tu casa con tu teléfono.

Ciencia Educacion9/15/2016



Hola taringueros, en este video veremos como controlar la intensidad de una tira de led mediante bluetooth y pwm.

Circuito

El circuito se compone de un arduino uno un módulo bluetooth hc-06 un transistor npn Tip31c, un resistor de 120 ohm y por supuesto una tira de led.

La tira de led se alimenta con 12 voltios no así el arduino que usa 5 voltios para su funcionamiento. A través del pin número 3 del arduino se conecta a la base del transistor Tip31c, no olvidemos colocar un resistor de 120 ohm a la base para no dañar al transistor.

Al aumentar la tensión, en el pin 3 este también hace que aumente la tensión en el transistor, lo cual genera que la tira de led se ilumine más.

El módulo bluetooth hc-06 establece la conexión entre el arduino uno y el smartphone que estemos usando, la velocidad de conexión es de 115200 bps.

Regula las luces de tu casa con tu teléfono.

Código fuente



Aplicación App inventor

arduino

bluetooth

Descargar la aplicación para android



Hoja de datos Tip31c

http://rogerbit.com/wprb/wp-content/uploads/2016/09/TIP31C.pdf

Módulo bluetooth hc-06

rogerbit

Características:

Especificación bluetooth v2.0 + EDR (Enhanced Data Rate)
Modo esclavo (Solo puede operar en este modo)
Puede configurarse mediante comandos AT (Deben escribirse en mayúscula)
Chip de radio: CSR BC417143
Frecuencia: 2.4 GHz, banda ISM
Modulación: GFSK (Gaussian Frequency Shift Keying)
Antena de PCB incorporada
Potencia de emisión: ≤ 6 dBm, Clase 2
Alcance 5 m a 10 m
Sensibilidad: ≤ -80 dBm a 0.1% BER
Velocidad: Asincrónica: 2 Mbps (max.)/160 kbps, sincrónica: 1 Mbps/1 Mbps
Seguridad: Autenticación y encriptación (Password por defecto: 1234)
Perfiles: Puerto serial Bluetooth
Módulo montado en tarjeta con regulador de voltaje y 4 pines suministrando acceso a VCC, GND, TXD, y RXD
Consumo de corriente: 30 mA a 40 mA
Voltaje de operación: 3.6 V a 6 V
Dimensiones totales: 1.7 cm x 4 cm aprox.
Temperatura de operación: -25 ºC a +75 ºC


Aplicaciones:

Comunicación inalámbrica entre microcontroladores
Comunicación inalámbrica entre computadoras y microcontroladores
Comunicación inalámbrica entre teléfonos móviles o tabletas y microcontroladores


Señales analógicas de salida en Arduino (PWM).
En este apartado vamos a ver los fundamentos en los que se basa la generación de salidas analógicas en Arduino. El procedimiento para generar una señal analógica es el llamado PWM.

Señal PWM (Pulse-width modulation) señal de modulación por ancho de pulso.

pwm


Donde:

– PW (Pulse Width) o ancho de pulso, representa al ancho (en tiempo) del pulso.

– length/period (periodo), o ciclo , es el tiempo total que dura la señal.

La frecuencia se define como la cantidad de pulsos (estado on/off) por segundo y su expresión matemática es la inversa del periodo, como muestra la siguiente ecuación.


1
frequency = ------------
period

El periodo se mide en segundos, de este modo la unidad en la cual se mide la frecuencia (hertz) es la inversa a la unidad de tiempo (segundos).

Existe otro parámetro asociado o que define a la señal PWM, denominado “Duty cycle”, Ciclo de Trabajo, el cual determina el porcentaje de tiempo que el pulso (o voltaje aplicado) está en estado activo (on) durante un ciclo.

Por ejemplo, si una señal tiene un periodo de 10 ms y sus pulsos son de ancho (PW) 2ms, dicha señal tiene un ciclo de trabajo (duty cycle) de 20% (20% on y 80% off). El siguiente gráfico muestra tres señales PWM con diferentes “duty cycles”.

Regula las luces de tu casa con tu teléfono.

La señal PWM se utiliza como técnica para controlar circuitos analógicos. El periodo y el ciclo de trabajo (duty cycle) del tren de pulsos puede determinar la tensión entregada a dicho circuito. Si, por ejemplo, tenemos un voltaje de 5v y lo modulamos con un duty cycle del 10%, obtenemos 0.5V de señal analógica de salida.

Las señales PWM son comúnmente usadas para el control de velocidad de motores DC (si decrementas el ciclo de trabajo sobre la señal de control del circuito de potencia que actúa sobre el motor el motor se mueve más lentamente), ajustar la intensidad de brillo de un LED, etc.

En Arduino, con ATmega168 o ATmega328, la señal de salida PWM (pines 3,5,6,9,10, y 11) es una señal de frecuencia 490 Hz aproximadamente y que sólo nos permite cambiar el “duty cycle” o el tiempo que el pulso está activo (on) o inactivo (off), utilizando la función analogWrite().

Otra forma de generar señales PWM es utilizando la capacidad del microprocesador. La señal de salida obtenida de un microprocesador es una señal digital de 0 Voltios (LOW) y de 5 voltios (HIGH).

Con el siguiente código y con sólo realizar modificaciones en los intervalos de tiempo que el pin seleccionado tenga valor HIGH o LOW, a través de la función digitalWrite (), generamos la señal PWM

/* señal PWM */

int digPin = 10; // pin digital 10

void setup()
{
pinMode(digPin, OUTPUT); // pin en modo salida

}

void loop() {
digitalWrite(digPin, HIGH); // asigna el valor HIGH al pin
delay(500); // espera medio segundo
digitalWrite(digPin, LOW); // asigna el valor LOW al pin
delay(500); // espera medio segundo
}

El programa pone el pin 10 a HIGH una vez por segundo durante medio segundo (ciclo de trabajo 50%), la frecuencia que se genera en dicho pin es de 1 pulso por segundo o 1 Hz de frecuencia (periodo de 1 segundo). Cambiando la temporización del programa, podremos cambiar el ciclo de trabajo de la señal. Por ejemplo, si cambiamos las dos líneas con delay(500) por delay(250) y delay(750), modificamos el ciclo de trabajo a 25%; ahora, el programa pone el pin 10 a HIGH una vez por segundo durante 1/4 de segundo y la frecuencia sigue siendo de 1 Hz.

Utilizando la función analogWrite(pin,value) podemos obtener la misma señal a una frecuencia de 490 Hz aproximadamente. Para una señal PWM con ciclo de trabajo 50% hay que poner en el parámetro value, de la función analogWrite(pin,value), el valor de 127.

/* señal PWM en el pin 10 de ciclo de trabajo 50%*/

int digPin = 10; // pin digital 10

void setup()
{
// no se declara el modo del pin
//como salida analógica
}

void loop() {
analogWrite(digPin,127); // Señal PWM a 50% en el PIN 10
}

De forma que cambiando el valor del parámetro value en la función analogWrite(pin,value), podemos obtener distintos ciclos de trabajo:

valueCiclo de trabajo
00%
6325
12750%
19075%
255100%

Tal vez pueda interesarte proyectos en IOT, raspberry pi, arduino, pic, robótica, telecomunicaciones, suscribete en http://www.youtube.com/user/carlosvolt?sub_confirmation=1 mucho videos con código fuentes completos y diagramas.

arduino
Datos archivados del Taringa! original
0puntos
1visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

c
carlosvolt🇦🇷
Usuario
Puntos0
Posts55
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.