DESCRIPCIÓN:
Para este proyecto se tiene que programar el micro controlador como si fuera un mini-piano con 8 notas musicales. Se usara el Puerto B como entrada, así que se deben activar la resistencias pull-up (internas del micro controlador). La señal es una onda cuadrada que sale por el pin 0 del Puerto A hacia una bocina de 8 ohms. Se usan retardos para representar los unos y ceros de la señal. Las frecuencias son de la 5 octava de las notas musicales.
CIRCUITO:
Este es el circuito utilizado para esta proyecto. En el PIC16F84A, 8 botones van a sus respectivas entradas en el PORTB, sin resistencias, porque, por medio del código, se han activado las resistencias pull-up internas. Por los otros extremos de éstos, están conectados a tierra. El MCLR está conectado a voltaje. La salida del Pin RA0 va hacia una resistencia de 10kOhms y de ahí a un transistor 2N2222. Un extremo va a tierra y el otro va a una bocina de 8Ohms, el otro pin de la bocina va conectado a voltaje. A los pines 15 y 16 va conectado el cristal de cuarzo de 4Mhz junto con 2 capacitores de 22pF.
MATERIAL:
-Microcontrolador PIC16F84A
-8 micro-switches de 2 terminales
-1 bocina de 8Ohms
-1 resistencia de 1KOhm
-1 transistor de metal 2N2222
-Cristal de cuarzo de 4 MHz
-2 capacitores de 22 pF
-Alambres
-Protoboard
-Fuente y sus cables
CÓDIGO DEL PROGRAMA:
https://mega.co.nz/#!IR0m2IxC!_7pjUpz1iiRUe5thIuR-8ZUBkdxv-15_MAp6Lk15k6o
CONCLUSIÓN:
Reforcé lo que había aprendido sobre las instrucciones de salto y de los
retardos. Para hacer una señal, necesitamos hacer retardos, no utilizamos la
frecuencia más que para hacer cálculos del tiempo. Las instrucciones de CALL
siempre deben llevar un RETURN para evitar el STACK OVERFLOW que se presenta al
utilizar muchos GOTO.
TEORIA SOBRE
RESISTENCIAS PULL-UP Y FRECUENCIAS DE AUDIO
Una forma usual de producir pulsos es mediante pulsadores que necesitan
de sus resistencias correspondientes de pull-up. El PIC16F84A permite
configurar una resistencia de pull-up interna en cada una de las líneas del PuertoB,
ahorrando estas necesarias resistencias externas se utilizan cuando se utilizan
pulsadores u otros dispositivos externos de lectura. Para configurar esta
resistencia hay que utilizar el bit NOT_RBPU del registro OPTION:
- /RBPU, (resistor Port B pull-up enable bit) Habilitación de las
resistencias pull-up del Puerto B
-/RBPU=0. Habilita las
resistencias del PULL-UP del Puerto B
-/RBPU=1. Deshabilita
las resistencias de Pull-Up del Puerto B.
Por tanto, para activar las resistencias de Pull-Up del Puerto B basta
con resetear el bit NOT_RBPU del registro OPTION utilizando la instrucción:
bcf
OPTION_REG,NOT_RBPU.
Las resistencias pull up y pull down no son más que resistencias
dispuestas en una configuración determinada. Dicha configuración determina si
la resistencia es de pull up o pull down. Este tipo de configuración establece
un estado lógico a la entrada de un circuito lógico cuando dicho circuito está
en reposo, siendo para pull up un estado lógico alto y para pull down bajo. De
esta forma, se evita falsos estados producidos por ruido eléctrico si dejáramos
una entrada con un valor indeterminado.
En la configuración pull up, cuando el pulsador está en reposo, Vout
será prácticamente Vcc pudiéndose considerar como nivel lógico alto. Ahora
bien, cuando se pulsa un switch conectado a tierra, se deriva toda la corriente
a masa, por tanto Vout será 0v, valor lógico bajo. Esto mismo ocurre con la
configuración pull down pero a la inversa. Cuando el circuito esta en reposo,
la caída de tensión en la resistencia conectada a tierra es prácticamente 0v
que es la misma tensión de Vout. En ese momento tendremos un nivel lógico bajo.
Al pulsar el switch conectado a vcc, la caída de tensión en la resistencia
conectada a tierra ahora será Vcc, Vout será un nivel lógico alto.
Generalmente, se suele usar un valor de 10K para estas
resistencias.
La frecuencia del sonido hace referencia a la cantidad de veces que
vibra el aire que transmite ese sonido en un segundo. La unidad de medida de la
frecuencia son los Hertzios (Hz). La medición de la onda puede comenzarse en
cualquier punto de la misma.
Para que el ser humano pueda oír un determinado sonido su frecuencia debe estar comprendida entre los 20 y los 20 000 Hz.
Para que el ser humano pueda oír un determinado sonido su frecuencia debe estar comprendida entre los 20 y los 20 000 Hz.
La frecuencia del sonido está relacionada con la altura de la oscilación
de la onda sonora. La altura del sonido es perceptible sólo si la frecuencia de
su oscilación es la misma en un intervalo de tiempo mínimo. Los sonidos agudos
tienen una altura más elevada y mayor frecuencia que los sonidos graves. La
frecuencia del sonido de los tonos agudos oscila entre los 2000 y los
4000 Hz mientras los graves van desde los 125 a los 250 Hz. Los
tonos medios tienen una frecuencia de oscilación entre 500 a 1000 Hz.
6 comentarios:
Hola Ivan!! Muy interesante. Será posible lograr los 12 notas de una octava?
Mmm, no estoy muy seguro se ve un tanto limitado por las salidas de micro, pero talvez se pudieran conseguir o ya cuando menos 10 u 11.
Saludos y perdon por la demora
buen dia ivan, como hace para incluir la libreria sonido.inc, o donde la encuentro?
Me sale que tiene errores el código
como debe funcionar en el proteus
No conozco del todo proteus, y es que me sale un error al momento de ejecutar sobre que me no puede leer el archivo HEX, podrias orientarme?
Publicar un comentario