Está en la página 1de 11

Introducción a la

Mecatrónica

Informe de LABORATORIO N° 11

Señales Analógicas y Comunicación Serial

Nombre y Apellidos:

Sección: C16A
Profesor: Otiniano Noe, Carlos Walter
Realizado el: 24/06/21
Presentado el: 24/06/21

------------------------2021------------------------------
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.

CODIGO

void setup() {

pinMode(2, OUTPUT);

Serial.begin(9600);

//Lectura del Pin A0 (ADC)

void loop() {

int pot=analogRead(A0);//0-1023

digitalWrite(2,HIGH);

delay(pot);

digitalWrite(2,LOW);

delay(pot);

Serial.println(pot);

COMENTARIO

Se trata de unos simple LED que parpadea más o menos rápido en función de la posición del
potenciómetro. Montaje sencillo con una placa de Arduino, una protoboard, una resistencia
de 220 ohmios, 4 LED, un potenciómetro o resistencia variable de 10 kohm y cables Dupont
macho macho. Incluye de una entrada analógica (potenciómetro), su almacenaje en una
variable, el envío del valor de la variable por el puerto serie y el parpadeo de un led con
frecuencia variable dependiendo de dicho valor.
Responder la siguiente pregunta:

¿Qué significa el valor de 0-1023?

La resolución del ADC interno del microcontrolador es de 10 bits, lo que significa que el
voltaje de entrada analógica se convierte a un valor entre 0 y 1023.

¿Cuál es la resolución del arduino DUE?

Arduino Due tiene una resolución de 12 bits, es decir, unos valores entre 0 y 4095

Ejercicio 2: Modificar el programa para poder imprimir el voltaje(0-5VDC)


en el monitor serial.

CODIGO

void setup() {

pinMode(2, OUTPUT);

Serial.begin(9600);

//Lectura del Pin A0 (ADC)

void loop() {

int pot=analogRead(A0);//0-1023

digitalWrite(5,HIGH);

delay(pot);

digitalWrite(5,LOW);

delay(pot);

Serial.println(pot);
}

COMENTARIO

Como resultado cambió el sentido al prender los focos LED,

Ejercicio 3: Ensamblar el circuito en el Tinkercad, copiar el programa de


abajo, compilar, analizar y comentar lo que sucede.

CODIGO:

#include <LiquidCrystal.h> // Incluir biblioteca

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int LM36 = 0;

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);

Comentario

El circuito cuanto son 25 °C en °F los cuales nos muestra que son 77°F

Ejercicio 4: Ensamblar el circuito en el Tinkercad, copiar el programa de


abajo, compilar, analizar y comentar lo que sucede cuando se pulsa en el
teclado las letras 8 y 6.

CODIGO:

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);

Comentario

Al colocar los números 8 y 6 en el monitor en serie el led se enciende y se termina apagando,


luego en el monitor en serie aparece al inicio el numero 54 y luego no deja de salir el 56
como figura en el cuadro prinatble characters

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.

COMENTARIO

CODIGO
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;

case 66://B mayúscula en ASCII

pot = analogRead(A0);

digitalWrite(5, HIGH);

delay(pot);

pot = analogRead(A0);

digitalWrite(5, LOW);

delay(pot);

pot = analogRead(A0);

digitalWrite(4, HIGH);

delay(pot);

pot = analogRead(A0);

digitalWrite(4, LOW);

delay(pot);

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);

Ejercicio 6: Ensamblar el circuito en el Tinkercad, copiar el siguiente


programa y luego analizar y comentar su funcionalidad:

CODIGO

int Led_Ro=2;

int Led_Am=3;

int Led_Ve=4;

int Led_Az=5;

int 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);

CONCLUSIONES:
 Existe una plataforma de hardware libre, como Arduino, una placa con
controlador y un entorno de desarrollo, su sencillez y bajo costo nos
permiten realizar múltiples diseños y múltiples tipos de uso.
 Recurrimos a Arduino porque nos permite realizar muchas tareas,
guardar componentes electrónicos y, en cambio, utilizar un lenguaje
de programación, lo que lo hace muy fácil de usar.

También podría gustarte