Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRERA DE ELECTRÓNICA Y
TELECOMUNICACIONES
DOCENTE
PROYECTO
LABORATORIO DE ELECTRÓNICA II
PARALELO
ELECTRÓNICA 6/1
SEMESTRE
SEXTO
LA LIBERTAD – ECUADOR
2018 – 2019
ÍNDICE
GRUPO 1
INTRODUCCION:
OBJETIVO GENERAL
OBJETIVO ESPECIFICO
MARCO TEÓRICO
¿Qué ES UN WS2812B?:
REPRESENTACION DE PANEL:
LISTA DE MATERIALES:
ESPECIFICACIONES DE CONSUMO:
GRUPO 2
PLATAFORMAS UTILIZADAS
DESARROLLO DE LA APLICACIÓN
GRUPO 3
OBJETIVO GENERAL
OBJETIVO ESPECIFICO
Los WS2811, WS2812 y WS2812B son LED que disponen de lógica integrada,
por lo que es posible variar el color de cada LED de forma individual (a
diferencia de las tiras RGB convencionales en las que todos los LED cambian
de color de forma simultánea).
Están basados en el LED 5050, llamado así porque tiene un tamaño de 5.0 x
5.0 mm. Es un LED de bajo consumo y alto brillo, que incorpora en un único
encapsulado los 3 colores RGB. La genial novedad del WS2812B (y resto de
familia) es añadir un integrado dentro de cada LED, que permite acceder a
cada pixel de forma individual. Por este motivo este tipo de LED se denominan
“individual addressable”.
La
ESQUEMA MONTAJE
REPRESENTACION DE PANEL:
Total del consumo 54.24A con una fuente de 60 A para abastecer los Led’s.
PRECIO DE LOS COMPONENTES A UTILIZAR
LISTA DE MATERIALES:
1. Fuente De Poder Altek 750w Slim
2. Metro Tira Led Rgb Direccionable Ws2812b Arduino
3. Borneras
4. Arduino uno
5. Resistencias 330 ohm
6. PCB
7. Cables macho hembra
8. Aluminio compuesto
9. Cables para las tiras led metro
ESPECIFICACIONES DE CONSUMO:
LED WS2182b
Consume unos 60mA (0,3W), (20mA por cada componente de color) Esto
supone un consumo de 9W para 30 LED, y 18W para 60 LED, lo que es mucha
potencia en una fuente de 5V.
Como vamos a utilizar 15 metros de tiras leds y cada metro vienen 60 leds.
GRUPO 2
INTEGRANTES: SAMANTHA GUAMAN, CARLOS PARRALES, JOSUÉ
PLAZA, CRISTHIAN MUÑOZ.
Un módulo para poder trabajar podría ser el modelo Hc-06 el cual tiene las
siguientes características.
- Entra a este modo cunado se establece una conexión con otro dispositivo
bluetooth.
- Todos los datos que se ingresen al HC-06 por el Pin RX se trasmiten por
bluetooth al dispositivo conectado, y los datos recibidos se devuelven por el pin
TX. La comunicación es transparente para el programador.
Es bueno recordar que para enviar los comandos AT, nuestro HC-06 debe
estar en Modo AT, esto significa sin conexión bluetooth con otro dispositivo o
verificar que LED del HC-06 esté parpadeando.
Una vez hecho las configuraciones y conexión correspondientes, abrimos
el Monitor serial del IDE de Arduino, también podemos usar
cualquier otro monitor serial como: Termite.
En la parte inferior del monitor debemos escoger “No hay fin de línea” y la
velocidad “9600 baud” (la velocidad por defecto de nuestro HC-06, si se lo ha
cambiado poner la velocidad correspondiente)
DESARROLLO DE LA APLICACIÓN
Se inicia con la interfaz que la plataforma facilita, tal como los botones, cuadros
de texto, interruptores, listas de comandos, entre otras. En la cual el desarrollo
depende netamente del programador.
El sistema de bloques de la aplicación es lo
primordial para que esta funcione adecuadamente,
de no ser así provocaría errores en el dispositivo.
Como se muestra a continuación el programa esta
basado en la conexión del dispositivo con el panel,
que en este caso será el receptor de la
información que se le proveerá, por lo que se optó
en utilizar un módulo bluetooth.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.BLUETOOTH"/>
<activity android:configChanges="keyboard|keyboardHidden|orientation|
screenSize" android:name=".Screen1"
android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:configChanges="keyboardHidden|orientation"
android:name="com.google.appinventor.components.runtime.ListPickerActivity"
android:screenOrientation="behind"/>
<provider
android:authorities="appinventor.ai_josueplaza37.Panel.provider"
android:exported="false" android:grantUriPermissions="true"
android:name="android.support.v4.content.FileProvider">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
</application>
</manifest>
8. DISEÑO DE APLICACIÓN PARA CELULAR PARA
ENVIÓ DE DATOS PANEL LED2
En este
bloque le decimos a la aplicación que cuando la abrimos, en la parte de texto
De la
misma forma que en el bloque anterior, solo que ahora enviamos el mensaje,
nuestro Arduino tiene que estar programado para cuando reciba la señal “E”
tiene que estar listo para recibir el mensaje que hemos escrito con anterioridad
en la casilla blanca.
En este diseño podremos encontrar tres pulsadores que nos permitirá elegir el
tiempo que se tomará en cada partido al finalizar el tiempo encenderá una
alarma indicadora de que el tiempo se ha terminado y que el partido ha
concluido.
void setup()
{
lcd.begin(16, 2); // Configuramos el numero de columnas y filas del LCD.
Serial.begin(9600);
}
void loop()
{
if(msg==0) //Mostramos el mensaje de bienvenida solo una vez
{
lcd.setCursor(0,0);
lcd.print("BIENVENIDOS...");
delay(2500);
msg = 1;
lcd.clear();
}
//-------------------------------------------------------------------------------------------------
// LECTURA DE LOS BOTONES Y ELECCIÓN DEL TIEMPO, NO SALE
DEL BUCLE HASTA PULSAR
// EL BOTON DE ARRANQUE
//-------------------------------------------------------------------------------------------------
do
{
lcd.setCursor(0,0);
lcd.print("Elige el tiempo"); //Muestra mensaje y las HH:MM:SS que
vayamos aumentando
lcd.setCursor(4,1);
if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un
"0" delante.
lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S
(1:M:S)
lcd.print(":");
if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone
un "0" delante.
lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S
(H:1:S)
lcd.print(":");
if (asegundos < 10) lcd.print("0"); // Si los segundos son menor que 10,
pone un "0" delante.
lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S
(H:M:1)
//-------------------------------------------------------------------------------------------------
// UNA VEZ PULSADO EL BOTON DE ARRANQUE Y ACUMULADO EL
TIEMPO, ENTRA EN EL SIGUIENTE WHILE
// Y NO FINALIZA HASTA TERMINAR LA CUENTA.
//-------------------------------------------------------------------------------------------------
lcd.setCursor(0,0);
lcd.print("Tiempo restante"); //Mostramos mensaje de tiempo restante
lcd.setCursor(4,1);
if (ahoras < 10) lcd.print("0"); // Si las horas son menor que 10, pone un
"0" delante.
lcd.print(ahoras); // Sin este codigo, se muestra asi: H:M:S
(1:M:S)
lcd.print(":");
if (aminutos < 10) lcd.print("0"); // Si los minutos son menor que 10, pone
un "0" delante.
lcd.print(aminutos); // Sin este codigo, se muestra asi: H:M:S
(H:1:S)
lcd.print(":");
if (asegundos < 10) lcd.print("0"); // si el valor de segundo esta por debajo
de 9 (unidad) antepone un cero
lcd.print(asegundos); // Sin este codigo, se muestra asi: H:M:S
(H:M:1)
sonarTono(TONO_ERROR,TIME_INTERVAL);
exit(0);
}
}
}
//------------------------------------
// SONAR TONO
//------------------------------------
void sonarTono(int tono, int duracion)
{
tone(buzzer,tono,duracion);
delay(duracion);
}
CRONOMETRO PARA LOS PARTIDOS DE FUTBOL
void loop()
{
// put your main code here, to run repeatedly:
// Si presionamos el pulsador de inicio se pone todo a cero
if(digitalRead(pulsador_inicio) == HIGH)
{
horas = 0;
minutos = 0;
segundos = 0;
decimas = 0;
lcd.clear();
}
Tema en desarrollo…
EDITOR DE BLOQUES
ENTORNO DE APLICACIÓN
ENTORNO DE APLICACIÓN PARA LED 1
MENÚ DE LA APP
OPCIÓN 1:
CONEXIÓN BLUETOOTH:
OPCIÓN 2:
SELECCIÓN DE EQUIPO:
OPCIÓN 1:
OPCIÓN 2:
Nombres de los quipos, permite editar o ingresar los nombres de los equipos e
inviarlos al panel.
OPCIÓN 3: