Lab11 - Analógicas y Serial
Lab11 - Analógicas y Serial
Lab11 - Analógicas y Serial
I Ciclo
1. Objetivos
● Diferenciar entradas analógicas y entradas digitales
● Leer datos desde la entrada analógica
● Aplicaciones de envió de datos a una interfaz de comunicación
2. Seguridad
Advertencia:
●Obligatorio el uso de Mascarilla y careta de protección
●Desinfectar las manos con alcohol al ingreso del laboratorio
●Mantener siempre la distancia durante el laboratorio
●No obstruir las vías de evacuación con mochilas, sillas en mala
posición, etc.
●Ubicar maletines y/o mochilas al final del aula o en los casilleros
asignados al estudiante.
●No ingresar con líquidos, ni comida al aula de Laboratorio.
●Al culminar la sesión de laboratorio apagar correctamente la
computadora y la pantalla, y ordenar las sillas utilizadas.
●En este laboratorio está prohibida la manipulación del hardware,
conexiones eléctricas o de red
3. Equipos y Materiales
Una computadora con:
● Windows 7 o superior
● Conexión a la red
4. Fundamento Teórico
El Arduino tiene la capacidad de leer señales
analógicas realizando aproximaciones discretas
a través de pequeños rectángulos digitales
como fue observado en la figura anterior, donde
podemos ver fácilmente, que entre más
pequeños sean los rectángulos, más parecido
será la aproximación digital con relación a la
señal analógica.
Lab. N° 11 Señales Analógicas y Comunicación
5. Procedimiento:
Señales anlógicas y comunicación serial:
Ejercicio 1: Ensamblar el circuito en el Tinkercad, copiar el programa de abajo, compilar, analizar y
comentar lo que sucede cuando se regula el potenciómetro y lo que se visualiza en el monitor serial.
void setup() {
pinMode(2, OUTPUT);
Serial.begin(9600);
}
void setup() {
lcd.begin(16, 2); // Inicia el LCD 16x02 (columnas,filas)
}
void loop() {
//Lectura del Pin A0 (ADC)
lcd.clear(); //Limpia la pantalla del LCD
float celsius = map(((float(analogRead(LM36))-20) * 3.04),0,1023,-40,125);
float fahrenheit = ((celsius * 9) / 5 + 32);
lcd.setCursor(0, 0);
lcd.print(celsius);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print(fahrenheit);
lcd.print(" F");
delay(1024);
}
int leido = 0;
void setup(){
pinMode(2, OUTPUT);
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0){
leido = Serial.read();
}
switch(leido){
case 56:
digitalWrite(2, HIGH);
break;
case 54:
digitalWrite(2, LOW);
break;
}
Serial.print("lo recibido es: ");
Serial.println(leido);
delay(500);
}
Ejercicio 5: Ensamblar el circuito en el Tinkercad, escribir un programa que prendan los leds uno tras
otro de derecha a izquierda si se introduce la tecla “A” en el monitor serial y de Izquierda a derecha
si se introduce la tecla “B” en el monitor serial; el potenciómetro se encargará de controlar la
velocidad.
int pot = 0;
int leido = 0;
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
Serial.begin(9600);
}
void loop() {
if (Serial.available()>0) {
leido = Serial.read();
}
switch (leido){
case 65://A mayúscula en ASCII
pot = analogRead(A0);
digitalWrite(2, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(2, LOW);
delay(pot);
pot = analogRead(A0);
digitalWrite(3, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(3, LOW);
delay(pot);
pot = analogRead(A0);
digitalWrite(4, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(4, LOW);
delay(pot);
pot = analogRead(A0);
digitalWrite(5, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(5, LOW);
delay(pot);
break;
pot = analogRead(A0);
digitalWrite(3, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(3, LOW);
delay(pot);
pot = analogRead(A0);
digitalWrite(2, HIGH);
delay(pot);
pot = analogRead(A0);
digitalWrite(2, LOW);
delay(pot);
break;
}
Serial.print("lo recibido es:");
Serial.print(leido);
Serial.print("
Potenciometro:");
Serial.println(pot);
}
void setup(){
Serial.begin(9600);
pinMode(Led_Ro, OUTPUT);
pinMode(Led_Am, OUTPUT);
pinMode(Led_Ve, OUTPUT);
pinMode(Led_Az, OUTPUT);
}
void loop(){
pot=analogRead(A0);
Serial.println(pot);
if((pot>=0)&&(pot<255)){
digitalWrite(Led_Ro, 1);
digitalWrite(Led_Am, 0);
digitalWrite(Led_Ve, 0);
digitalWrite(Led_Az, 0);
}
if((pot>=255)&&(pot<511)){
digitalWrite(Led_Ro, 0);
digitalWrite(Led_Am, 1);
digitalWrite(Led_Ve, 0);
digitalWrite(Led_Az, 0);
}
if((pot>=511)&&(pot<766)){
digitalWrite(Led_Ro, 0);
digitalWrite(Led_Am, 0);
digitalWrite(Led_Ve, 1);
digitalWrite(Led_Az, 0);
}
if((pot>=766)&&(pot<1023)){
digitalWrite(Led_Ro, 0);
digitalWrite(Led_Am, 0);
digitalWrite(Led_Ve, 0);
digitalWrite(Led_Az, 1);
}
}
● ¿Qué sucede con los diodos leds al girar el potenciómetro de extremo a extremo? Analice y
explique el código del programa. Coloque imágenes de evidencia.
● Habilite el monitor serial y explique lo que sucede cuando gira el potenciómetro. Analice y
explique el código del programa. Coloque imágenes de evidencia.
● Reto Tecsup: Mostrar en un LCD, “Led Rojo prendido”, cuando el led rojo esté prendido y así
sucesivamente cambie de nombre de acuerdo al color del Led.
Entregables: Copie todo el código, capture las pantallas en ejecución de los seis ejercicios en el
Tinkercad, responda las preguntas y comente lo que sucede.
6. Observaciones:
abc
7. Conclusiones:
abc
8. Normas Generales:
1. Presentar como informe de laboratorio el titulo, número de laboratorio, nombres, fechas,
entregables (Lo resaltado en amarillo), observaciones, conclusiones y su propia bibliografía. No
colocar, objetivos, seguridad , equipos y materiales, fundamento teórico, procedimientos,
normas generales y anexo, ya que el turnitin va a reconocer un alto porcentaje de copia.
2. Por cada captura de pantalla que se realice, se deberá comentar en no menos de 3 líneas
explicando la figura o procedimiento.
3. La presentación del informe se realiza por el Canvas, un día antes de que se cumpla la semana
de realizado el laboratorio (6 días), no se revisa por otro medio.
4. Se penalizará con puntos en contra las faltas de ortografía en la redacción del informe, la
presentación fuera del tiempo indicado, en especial la falta de orden.
5. Se evaluará con nota cero si el nombre de uno de los participantes no está incluido en el
informe, incluir a un alumno que no ha participado en la experiencia de laboratorio, el nombre del
profesor está mal escrito, la presentación del informe por otro medio que no sea el Canvas, o el
más mínimo intento de plagio.
6. Se dará una bonificación de un punto a aquel alumno que publique en el foro de consultas,
alguna información relevante del tema tratado en la semana o encuentre alguna falla de
redacción u ortografía en las presentaciones y guías de laboratorio, así como de algún error en el
Canvas.
7. Pasada una semana de la publicación de la nota en el SEVA, se dará por entendido la
conformidad del alumno con su nota, es responsabilidad del alumno la verificación de la
conformidad de su nota, en caso de algún reclamo pasada la semana, ya no será tomada en
cuenta.
9. Bibliografía
1. www.arduino.cc
10. Anexo