Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

07/11/2009 #1


Sonido Buzzer Usando PIC con Lenguaje C
Hola uso el compilar CCS C y quiero enviar un sonido a un Buzzer, anteriormente usaba lenguaje Basic y era sumamente sencillo el codigo era

sound 0,(10,1) ... Donde el Cero indica el pin por el que saldra la señal de sonido

Pero no se el codigo para sacar sonido usando Lenguaje C... Alguien por alli que sepa como se hace

Saludos!!!

Gracias
07/11/2009 #2

Avatar de iDan

Ejemplo de libreria Sound Library en MikroC
Hey que tal... bueno la verdad amigo no sabria decirte como hacerlo en CCS C pero yo utilizo MikroC que es casi lo mismo y en este programa existe una libreria llamada Sound Library que manda distintos sonidos ya sea para un buzzer o una pequeña bocina pudiendo hacer si quieres hasta una melodia... mira te mando un ejemplo de un piano con PIC16F887 en MikroC (tal vez te sirva de algo):

Código:
void main ()
{
TRISB=0xFE;
Sound_Init(&PORTB,0);
while (1)
{
if(PORTB.F7==1)
Sound_Play(988,200);    /*Check Point*/
while(PORTB&0x80) ;
if(PORTB.F6==1)
Sound_Play(880,200);    /*1er numero: Freq en Hz... 2do numero: duracion en ms*/
while(PORTB&0x40) ;
if(PORTB.F5==1)
Sound_Play(784,200);
while (PORTB&0x20) ;
if(PORTB.F4==1)
Sound_Play(698,200);
while(PORTB&0x10) ;
if (PORTB.F3==1)
Sound_Play(659,200);
while (PORTB&8) ;
if (PORTB.F2==1)
Sound_Play(587,200);
while (PORTB&4) ;
if (PORTB.F1==1)
Sound_Play(523,200);
while (PORTB&2) ;
}
}
Tal vez en el programa CCS C este una libreria parecida a la que te menciono pero si te urge hacer lo que dices puedes hacerlo con MikroC... cualquier cosa me puedes preguntar.

Saludos ideacs
07/11/2009 #3


Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Gracias iDan =) es similar a lo que hacia en Basic voy a checar si se puede

Saludos !!!
23/12/2009 #4

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Estoy aprendiendo mikroc.
y algo tan sencillo, me quedo grande..
necesito enviar un mensaje al lcd,,pero letra por letra,,debe desplazarse
hasta cierta posicion,,detenerse y despues aparecer la otra en la misma secuencia
hasta completar la palabra
esto es lo que tengo..pero despalzo todo el mensaje y ademas como le coloco espacios
entre frases esto ,' ', me da error
Te agradesco iDan por tu ayuda

char*mensaje[]= {'h','o','l','a','p','i','c','s','\0'};

void main(void)
{ TRISD = 0;

Lcd_Config(&PORTD,0,2,1,7,6,5,4);

Lcd_Out(1, 6, mensaje);

while(1)
{
Lcd_Cmd(LCD_SHIFT_RIGHT);
Delay_ms(200);
}
}
23/12/2009 #5

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Colombia?? un saludo inmenso amigo!!
Bueno ps yo tambien aun estoy aprendiendo sobre LCD asi que te puedo ayudar
en lo poco que se OK?? Mira sinceramente no se como es que quieres hacer tu
desplazamiento pero por lo que vi en tu programa hice yo un pequeño programa
identico al tuyo con el PIC 16F84A:

char mensaje[8]={'M','i','k','r','o',' ','C','\0'};
void main(void)
{
TRISB=0;
Lcd_Init(&PORTB);
Lcd_Cmd(Lcd_Clear);
Lcd_Cmd(Lcd_CURSOR_OFF);
while(1)
{
Lcd_Out(1,16,mensaje);
Lcd_Cmd(LCD_SHIFT_RIGHT);
Delay_ms(200);
}
}

Ahora yo te pregunto:

Que PIC utilizas?
Creo que ya comprendi que desplazamiento quieres conseguir!


Saludos DIGICAM!!
23/12/2009 #6

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
IDan,,
Amigo es un 873..
Mira, la idea es, que cada letra se desplace desde la primera posicion.
ej..0x80 hasta 0x88, si la palabra es "hola" la A=0X88,LA L=0X87,LA O=0X86, LA,L=0X85,,
una por una, espero ser claro,,si no me avisas,,,_
23/12/2009 #7

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola DIGICAM

Te realice un programa con el PIC16F84 y con tu idea de desplazamiento que me acabas de indicar (como yo la entendi) asi que te adjunto el circuito hecho en Proteus y el programa en Mikro C, pruebalo y me cuentas si esa era tu idea de desplazamiento porfavor!!


PD ya solo para que tu lo modifiques para el PIC que usas


Saludos!!
Archivos Adjuntos
Tipo de Archivo: zip Programa y circuito.zip (32,2 KB (Kilobytes), 552 visitas)
23/12/2009 #8

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Asi era exactamente que lo necesitaba. te cuento que yo no abria
podido sin tu ayuda, hasta ahora estoy comenzando
Tratare de entenderlo..cualquier cosa te aviso..
GRACIAS AMIGO,,
23/12/2009 #9

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Ok amigo, no quise comentar el programa ya que perderia forma pero si tienes
alguna duda sobre este me avisas y yo con mucho gusto te ayudo!! no hay de
que amigo... para eso estamos aqui !! estas comenzado en todo lo
que es Mikro C?? hey que grado cursas??
24/12/2009 #10

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
No..soy de la vieja data, acostumbrado al asembler,,
Cuando los pic apenas incursionaban en el mercado..
Lo poco que aprendi sobre c++. no lo puse muy en practica.
por que como te digo el asembler era lo mejor, de la epoca.
Y como el entendimiento se va con los años,ahora estoy un poco duro.Pero igual
quiero aprender..Oye,,tienes literatura sobre este tema de mikroc.
me gustaria para complementar..
y si, te pido el favor, comentes las variables y cual es su funcion..las que declaraste como: int p=-1,x,y;. A por cierto, para pasarloa pic873 tube que cambiar la p por una
int a=-1,x,y; con la letra p me daba error al compilar ,,,
Agradesco tu ayuda..
24/12/2009 #11

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola DIGICAM


Bueno yo tambien estoy aprendiendo Assembler ya que me llamo mucho la atencion
y lo que mas me gusta es que te hace pensar mas a nivel del PIC, pero aun soy algo
novato !! int p=-1,x,y; o int a=-1,x,y; como tu lo pusiste, a veces el
compilador tiene lo que se llaman "palabras reservadas" si no me equivoco asi que me imagino que se originaria el error desde alli!! y el funcionamiento de estas variales es:

variable "p": Nos ayuda como tabulador para nuestro cursor del LCD, "p" al entrar al primer for de nuestro programa le suma 1 asi que dejara que nuestra primera letra que es la M pueda colocarse en nuestra primera casilla, al salir de los for y entrar de nuevo vuelve a sumarle para colocar el tabulador en nuestra siguiente casilla para dejar intacta la casilla anterior que tiene ya la letra M.


variable "x": Nos ayuda para dirigir o colocar nuestro cursor del LCD, al entrar en el primer for sus condicionales no contienen esta variable y tampoco esta en la parte del programa de este primero, pero al entrar en el segundo for, sus condicionales ya le dan un valor y una propiedad (colocar el cursor), desplazando asi el cursor desde el lado derecho del LCD hasta el lado izquierdo donde el tabulador "p" se lo permita; tambien si te das cuenta, por ejemplo: encontramos las lineas en el programa: Lcd_Out(1,x,mensaje[y]); y Lcd_Out(1,x+1,mensaje[5]);, la primera de estas cumple en colocar la letra que nos indica "y" por cada casilla para crear el efecto de deslizarse hasta llegar al tope del tabulador, y la segunda linea cumple colocando un espacio en blanco por cada casilla que ha pasado nuestra letra y nunca colocandose sobre esta para asi borrar su rastro.



variable "y": Nos ayuda a escojer la letra de nuestro arreglo, al entrar al primer for sus condicionales le dan valor y una propiedad (escojer).


Bueno amigo esto es lo que se podria decir el funcionamiento de estas variables en nuestro programa, si tienes alguna otra pregunta no dudes en decirme y yo te ayudo en lo que me sea posible OK??


Saludos!!
26/12/2009 #12

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Gracis iDan.
Quiero seguir en contacto contigo,para este proposito de aprender MikroC.
Si necesitas algo de asembler, con gusto te colaboro..
Hasta pronto!!
21/04/2010 #13


Respuesta: Ejemplo de libreria Sound Library en MikroC
oyes amigo vi tu programa y lo vi interesante y quisiera saqber si me pudieras publicar el programa simulado
21/04/2010 #14

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola FRIDO??


Dime quieres un video del programa simulado?? porque en el archivo que adjunte arriba esta el programa simulado en Proteus...
21/04/2010 #15

Avatar de COSMICO

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola iDan como estas, espero bien.
Hace rato no posteaba aqui, te comento que me fue muy bien con lo del mensaje
y hasta lo pase a ccs. ¿Tu sabes como generar este codigo 01100011 a una velocidad de 20kbps por un pin del micro.
Agradesco tu ayuda.
22/04/2010 #16

Avatar de iDan

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola COSMICO


Hehe, tanto tiempo sin verte postear por aqui ... veo que quieres
enviar ese dato de forma serial verdad?? mira no se si entendi bien pero tal
vez te serviria si le hecharas un vistazo a la libreria de MikroC: OneWire Library
tiene velocidades de transmision de hasta 16kbps... no se si te sirva de mucho...
me cuentas como te fue asi logro ver como ayudarte en lo que pueda...


Saludos
23/10/2010 #17


Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
hola dan me gustaria contactarme contigo en privado ya que vi que te tomaste la molestia de responder a quien te solicito apoyo por eso me atrevi a escribirte estoy tratando de aprender mikroc y lenguaje c para desarrollar proyectos electronicos con pics en proteus y he visto que eres muy entendido en este tema la verdad que trato de aprender asi ya que no cuento con los recursos economicos para pagar mis estudios he buscado por todo internet a ver si alguien me enseña pero siempre encuentro respuestas que no me ayudan ojala puedas apoyarme en mi inquietud un abrazo ogonbat......
25/10/2010 #18


Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
idan dijo: Ver Mensaje
hola frido??


Dime quieres un video del programa simulado?? Porque en el archivo que adjunte arriba esta el programa simulado en proteus...
buenas de nuevo, dejame checarlo, grax, saludos
despues te aviso si fue realmente lo que queria saber va.
25/10/2010 #19

Avatar de rascueso

Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
Hola IDan algún dia que estés al dope no te armas un programita para hacer una alarmita que haga pi pi pi pi ---pausa---- pi pi pi pi ---pausa. Siempre quise conseguir un circuito que emita un sonido agradable con un buzzer pero nunca lo logre. No tengo conocimientos de programación pero me la rebusco para programar un pic.
La función de la alarmita seria para usarla en distintas aplicaciones ej. Para no dejar las luces prendidas del auto y giladas asi. saludosss
25/10/2010 #20


Respuesta: Sonido Buzzer Usando PIC con Lenguaje C
hola DAN este es mi correo : Mejor leo las Normas de Participación@forosdeelectronica.com ogonbat.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.