UNIVERSIDAD PEDAGOGICA Y TECNOLOGICA DE COLOMBIA
UPTC
MODULO 3
MICROCONTROLADORES
Docente:
FREDDY FERNANDO VALDERRAMA GUTIERREZ
Integrantes:
JUAN CAMILO GARCIA. C.C. 1002460996
OMAR FELIPE GARZON. C.C. 1057607562
LEIDY DAYANA GALLO. C.C. 1052414360
DUITAMA
2022
INTRODUCCIÓN
En este módulo se dividió en tres partes el funcionamiento de diferentes sketches, en la primera
parte vemos el funcionamiento de un circuito, en el cual por medio de Arduino uno, la estación
arranque parada de un motor, por medio de un interruptor y utilizamos unos siete segmentos
para verificar el estado del motor en el cual se realizó el circuito en tinkercad.
En la segunda parte de este módulo cambiaremos la programación de un FOR a un WHILE para
una secuencia de led que se enciende y se apaga para un determinado delay. En esta última parte
ultilizaremos la función tone con una cierta frecuencia para realizar la melodía de la canción “no se
habla de bruno “, el circuito es muy básico dado que se conecta un buzzer, un terminal al arduino
como salida digital, y la otra terminal a tierra.
[1]Tone Genera una onda cuadrada de la frecuencia especificada (y un ciclo de trabajo del 50 %)
en un pin. Se puede especificar una duración; de lo contrario, la onda continúa hasta una llamada
a noTone() . El pin se puede conectar a un zumbador piezoeléctrico u otro altavoz para reproducir
tonos. Solo se puede generar un tono a la vez. Si ya se está reproduciendo un tono en un pin
diferente, la llamada a tone () no tendrá efecto. Si el tono se reproduce en el mismo pin, la
llamada establecerá su frecuencia. El uso de la tone () función interferirá con la salida PWM en
los pines 3 y 11 (en placas que no sean Mega). No es posible generar tonos inferiores a 31Hz.
[2] Un while se repetirá continuamente, e infinitamente, hasta que la expresión dentro del
paréntesis, () se vuelva falsa. Algo debe cambiar la variable probada, o el ciclo while nunca
saldrá. Esto podría estar en su código, como una variable incrementada o una condición externa,
como probar un sensor.
OBJETIVOS
*Explicar la conexión del transistor npn para el 7 segmento.
* Analizar la función tone en Arduino y como nos ayudó a realizar la melodía de la canción.
*utilizar adecuadamente diferentes elementos electrónicosgg como lo pueden ser, transistores, 7
segmentos, motores DC o buzzers.
*Hacer uso adecuado la placa Arduino UNO
*Hacer uso adecuado de instrucciones, variables, constantes y/o fuciones para programación de
Arduino
*verificar el funcionamiento de la función TONE vista en clase
DESARROLLO DEL TRABAJO
I. Diseñar y probar un sketch que emule la estación arranque parada de un motor,
considerando la siguiente conexión para los pulsadores respectivos. El sistema debe
contar con tres displays de 7 segmentos que indiquen con – ON cuando el motor está
encendido, y debe mostrar OFF cuando el motor está apagado.
//primer ejercicio
//definimos las variables
#define a 11
#define b 10
#define c 9
#define d 8
#define e 7
#define f 6
#define g 5
#define inter 4
#define motor 3
int modo; //esta variable sirve para saber en que ubicación se encuentra el interruptor
void setup()
{
//declaramos los pines como salidas digitales
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(a, OUTPUT);
pinMode(b, OUTPUT);
pinMode(c, OUTPUT);
pinMode(d, OUTPUT);
pinMode(e, OUTPUT);
pinMode(f, OUTPUT);
pinMode(g, OUTPUT);
pinMode(inter, OUTPUT);
}
void loop()
{
//esta instrucción nos permite encender el motor, y los 7 segmentos (visualizando la palabra on) cuando el interruptor envíe
la señal de alto
if (digitalRead(inter) == HIGH){
digitalWrite(13,HIGH);
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(motor, HIGH);
digitalWrite(12,LOW);
}
//esta instrucción nos permite apagar el motor, y encender los 7 segmentos (visualizando la palabra off) cuando el
interruptor envíe la señal de bajo
else{
digitalWrite(13,HIGH);
digitalWrite(12,HIGH);
digitalWrite(a,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
II. LOW);
digitalWrite(motor,
digitalWrite(b,LOW);
digitalWrite(c,LOW);
}
}
Diseñar y probar un sketch que permita realizar la secuencia de encendido y apagado de LEDs
como muestra el código, pero esta vez utilizando la estructura de control while a cambio de
cada estructura for.
// secuencia de leds
}
#define numleds 8
#define timedelay 100
int i=-1;
int b=-1;
int a=-1;
byte mypines [] = {13,12,11,10,9,7,6,5};
void setup ()
{
for (int i=0; i<=numleds; i++ ){
pinMode(mypines[i], OUTPUT);
digitalWrite(mypines[i], LOW);
}
void loop (){
i++;
delay(timedelay);
digitalWrite(mypines[i], HIGH);
while (i==8) {
b++;
digitalWrite(mypines[8-b], LOW);
delay(timedelay);
while(b==8) {
i=-1;
b=0;
}
}
III. Diseñar y probar un sketch que permita ejecutar automáticamente la secuencia de
notas musicales correspondiente a los primeros 13 segundos del siguiente video
(https://www.youtube.com/watch?v=Zbxt5bQyv0g).
#define f 349.22 tone(10,ab,250);
#define g 391.98 delay(250);
#define ab 415.3 tone(10,g,1500);
#define eb 622.24 tone(10,d,250);
#define d 587.32 delay(500);
#define b 493.88 tone(10,b,250);
#define c 523.24 delay(500);
#define f2 698.44 tone(10,g,500);
void setup() delay(250);
{ tone(10,f,500);
pinMode(10, OUTPUT); delay(250);
} tone(10,g,500);
void loop() delay(250);
{ tone(10,ab,250);
tone(10,f,500); delay(250);
delay(250); tone(10,eb,250);
tone(10,g,500); delay(250);
delay(250); tone(10,c,250);
tone(10,ab,1500); delay(250);
delay(500); tone(10,eb,250);
tone(10,eb,250); delay(250);
delay(250); tone(10,c,250);
tone(10,ab,250); delay(250);
delay(250); tone(10,eb,250);
tone(10,eb,250); delay(250);
delay(250); tone(10,f2,250);
delay(500);
tone(10,d,250);
delay(2000);
}
CONCLUSIONES
El transistor lo tenemos conectado de forma directa y no sirve de interruptor para mandarle un
impulso por medio del arduino y así solo usar un puerto digital para el 7 segmento.
- La función tone genera una onda cuadrada dependiendo de la frecuencia que queramos escuchar
por medio del buffer, con la ayuda de la función delay se otorgan espacios para que
la melodía de la canción tome forma y se escuche más organizado
BIBLIOGRAFIA
1. Fundamentos de programación: algoritmos, estructura de datos y objetos. Ciudad de México:
McGraw-Hill,(2020)
2. F. Llopis pascual, A. Corbí bellot y F. Llorens Largo, Fundamentos de programación. Vol.
I. Metodología, 2a ed. Alicante, España: Publicaciones de la universidad de alicante,
1998. Accedido el 14 de mayo de 2022. [En línea].
Disponible: https://biblio.uptc.edu.co:2540/a/663
3. k. E. Kendall y J. E. Kendall, Análisis y diseño de sistemas, 8a ed. New Jersey: Pearson
educación, 2011. Accedido el 14 de mayo de 2022. [En línea].
Disponible: http://cotana.informatica.edu.bo/downloads/ld-Analisis%20y%20Diseno
%20de%20Sistemas_Kendall-8va.pdf
4. O. e. Barra Zapata y F. Barra Zapata, Microcontroladores PIC con programación PBP.
Madrid: Rama Editorial, 2011. Accedido el 14 de mayo de 2022. [En línea].
Disponible: https://biblio.uptc.edu.co:2540/a/109901/microcontroladores-pic-con-
programacion-pbp
5. Ó. Torrente Artero, Arduino cursos prácticos de formación. Madrid: Alfaomega, 2013.
6. https://www.arduino.cc/reference/en/language/structure/control-structure/while/
7. https://www.arduino.cc/reference/en/language/structure/control-structure/while/
8.