Páginas: [1] 2 3 4   Ir para o fundo
  Imprimir  
Autor Tópico: Sirene de 4 toques  (Lida 2352 vezes)
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« em: Outubro 20, 2007, 01:16:23 »

Este tópico tem como seguimento a informação pedida neste tópico:

http://www.electronicapt.com/forum/index.php/topic,702.15.html

Assim e no decorrer desta semana tentei desenvolver um projecto o mais simples que possível tal como o mais versátil que possível.
Veio concluir, que se fossemos desenvolver o projecto como eu tinha em mente, iríamos perder montes de tempo e alguns recursos, como não era o que se pretendia então fiz uma abordagem mais simples, tanto em software como em hardware.
Assim o projecto ficou formado por um PIC 16F84A (porque será???), um cristal de 4 MHz e 2 condensadores de 27pF, que formam o andar de clock.
Para alem disso teremos 4 botões de pressão (normalmente abertos), 4 resistências de 4700 homs e quatro condensadores de 47nF, este grupo irá formar então o interface entre o utilizador e o PIC.
Teremos também, um relé de 5V, que é atacado por um transístor 2N2222, e uma resistência que ataca este ultimo.
Para alem desta panóplia de componentes teremos então um grupo que é opcional, formado por 4 resistências de 470 homs e 4 leds, que têm como função indicar qual o botão premido.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #1 em: Outubro 20, 2007, 01:51:19 »

Bem, para quem estiver interessado em testar o código em cc5x, aqui está o que eu me encontro agora a testar...

#pragma chip PIC16F84A
#pragma config |=0x3FF2

/*definição de variaveis*/
uns8 x, flag, tempo, contagem, var_1, var_2, var_3, botao_1A, botao_2A, botao_3A, botao_4A;

/*definição do que faz cada pata*/
#pragma bit botao_1 @ PORTB.0   /* 2 toques de 2s tanto a H como a L */
#pragma bit botao_2 @ PORTB.1   /* 3 toques de 2s tanto a H como a L */
#pragma bit botao_3 @ PORTB.2   /* 4 toques de 2s tanto a H como a L*/
#pragma bit botao_4 @ PORTB.3   /* 1 toque de 15s */
#pragma bit sirene @ PORTB.4   /* saida para a sirene */
#pragma bit led_1 @ PORTA.0
#pragma bit led_2 @ PORTA.1
#pragma bit led_3 @ PORTA.2
#pragma bit led_4 @ PORTA.3
#pragma bit flag_botao_1 @ flag.0
#pragma bit flag_botao_2 @ flag.1
#pragma bit flag_botao_3 @ flag.2
#pragma bit flag_botao_4 @ flag.3


/*inicio do programa*/

void delay(void)
{
   var_1=10;
   while (var_1 >0)
   {
      var_2 =165;
      while (var_2>0)
      {
         var_2--;
      
      }
      var_1--;
   }
}

void delay2 (char delay_2)
{
   char delay_2_b;
   while (delay_2>0)
   {
      delay_2_b=100;
      while (delay_2_b>0)
      {
         delay();
         delay_2_b--;
      }
      delay_2--;
   }
}
void ToquesSirene (char toques)
{
   while (toques>0)
   {
      sirene =1;
      delay2(2);
      sirene=0;
      delay2(2);
      toques--;
   }
   led_1=led_2=led_3=0;
}
void sirene15 (void)
{
   sirene = 1;
   delay2 (15);
   sirene = 0;
   led_4 = 0;
}
void botoneira(void)
{
   uns8 teste=3;
   botao_1A=botao_2A=botao_3A=botao_4A=0;
   led_1=led_2=led_3=led_4=0;
   while (teste>0)
   {
      if (botao_1 == 0)
      {
         flag_botao_1 = 1;
         botao_1A++;
      }
      if (botao_2 == 0 )
      {
         flag_botao_2 = 1;
         botao_2A++;
      }
      if (botao_3 == 0)
      {
         flag_botao_3 = 1;
         botao_3A++;
      }
      if (botao_4 == 0)
      {
         flag_botao_4 = 1;
         botao_4A++;
      }
      delay();
      teste--;
   }
   
   if (botao_1A==3 && flag_botao_1==1)
   {
      led_1=1;
      ToquesSirene(2);
   }
   if (botao_2A==3 && flag_botao_2==1)
   {
      led_2=1;
      ToquesSirene(3);
   }   
   if (botao_3A==3 && flag_botao_3==1)
   {
      led_3=1;
      ToquesSirene(4);
   }
   if (botao_4A==3 && flag_botao_4==1)
   {
      led_4=1;
      sirene15();
   }
}
void main(void)
{
   PORTB = 0;
   TRISB = 0b00001111;
   PORTA = 0;
   TRISA = 0b11110000;
   OPTION = 0b00000000;
   INTCON = 0b00000000;
   x = 0;
   while (x == 0)
   {
      botoneira();
   }
}
   
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #2 em: Outubro 20, 2007, 23:41:00 »

Bem como o prometido é devido aqui está o esquema...



O software já foi colocado ontem e está a bolir, pelo menos eu não lhe detectei erros.
Bem mas adiante o ficheiro hex encontra-se em baixo.

:1000000085280A309400940803190F28A53095001C
:10001000950803190D289503082894030328080060
:100020008E008E0803191E2864308F008F08031974
:100030001C2801208F0316288E03112808008D002C
:100040008D0803192C288312061602301020061280
:10005000023010208D032028831205118510051011
:100060000800831206160F301020061285110800B2
:1000700003308C009A019901980197018312851130
:100080000511851005108C0803195D2883120618C8
:100090004B281114970A8312861850289114980A35
:1000A0008312061955281115990A831286195A28A0
:1000B00091159A0A01208C0343281708033A031D5F
:1000C0006728111C67288312051402301F201808A6
:1000D000033A031D7128911C712883128514033083
:1000E0001F201908033A031D7B28111D7B2883124A
:1000F000051504301F201A08033A031D8428911D9A
:1001000084288312851531280800831286010F3058
:100110008316860083128501F030831685008101E5
:100120008B0190019008031D9728382092286300C6
:02013000852820
:02400E00F23F7F
:00000001FF

Agradecia éra se possivel, alguem tenta-se testar este software na pratica, pois pode ter algum bug que eu não detectei, e como eu de momento não tenho nenhum PIC16F84A, não posso testar o circuito na pratica.
 Sem mais, agradecia um retorno do pessoal.
Obrigado.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #3 em: Outubro 21, 2007, 11:54:59 »

Não estou acessando o esquema para poder testar o código.
José Flor
Registado

JDrEd
Administrador Geral
Chip
*****
Offline Offline

Mensagens: 538


« Responder #4 em: Outubro 21, 2007, 18:12:06 »

Não estou acessando o esquema para poder testar o código.
José Flor

Exacto o link do esquema vai dar ao site do imageshaks, depois o resinba há-de corrigir isso Contente

Abraço
Registado
_Lone_Wolf_
Transistor
**
Offline Offline

Mensagens: 39


« Responder #5 em: Outubro 22, 2007, 20:04:57 »

Imagem

problem solved
Registado
Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #6 em: Outubro 22, 2007, 21:00:24 »

acho k o ppl n se keixa da imagem, mas sim d o resinba n ter facultado o ficheiro para se testar o circuito...pk ate a imagem do post é perceptivel  Lingua

N é de alguem ter de fazer toda a papinha...mas se ja ha uma "papa" feita, pk n a partilhar? Lingua

..mas o circuito tb n é tao penoso de se copiar, gente! Lingua

O bombeiro-man é k n voltou a dizer nada...eu inda pus aviso no outro post n fosse ele perceber k o assunto tivesse ficado eskecido! (cada um ajuda co pode! Grin)



Cumps!
Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #7 em: Outubro 22, 2007, 22:08:13 »

Bem para já obrigado ao pessoal, por ser tão prestável...
especialmente ao _Lone_Wolf_, por ter disponibilizado a imagem a quem não consegue ver, ao hugo por ter avisado quem iniciou este problema (desculpa que me esqueci do nome). E José Flor, vê se consegues testar  o circuito para ver se ele se comporta como deve ser, só mais uma coisa  os botões tem que ser premidos um de cada vez, e durante um período nunca inferior a 30ms, enquanto um alarme estivar activo mais nenhum irá tocar.
Penso que está tudo, reportem, se há algum falhanço.
Obrigado.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #8 em: Outubro 22, 2007, 23:34:49 »

Bem para já obrigado ao pessoal, por ser tão prestável...
especialmente ao _Lone_Wolf_, por ter disponibilizado a imagem a quem não consegue ver, ao hugo por ter avisado quem iniciou este problema (desculpa que me esqueci do nome). E José Flor, vê se consegues testar  o circuito para ver se ele se comporta como deve ser, só mais uma coisa  os botões tem que ser premidos um de cada vez, e durante um período nunca inferior a 30ms, enquanto um alarme estivar activo mais nenhum irá tocar.
Penso que está tudo, reportem, se há algum falhanço.
Obrigado.


Raul Golçalves (raul_tavares) e ja teve cá ontem... Labios fechados  ...deve andar na compra dos componentes!  Lingua

faço tb aki a ponte pró outro topico  Lingua


Aki o resinba pode ser mto prestável, mas só complica as coisas!  Lingua Wink ...n, mas tem razao em ter aberto um topico pra facilitar a pesquisa e melhor partilhar o projecto c o ppl!


Abr
Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
resinba
Moderador Global
Cristal
*****
Offline Offline

Mensagens: 449


« Responder #9 em: Outubro 22, 2007, 23:57:52 »

AVISO HÁ NAVEGAÇÃO

Pessoal as resistencias que vão de R6 a R9 não são de 1K como diz o esquema, mas sim de 470Homs, fica aqui o aviso e desculpem qualquer coisinha.
Registado

Por favor, alterem o meu email no msn pois tenho outro email dedicado aos foruns, e vou bloquear todos os que se encontram no antigo email.
raul_tavares
Fusivel
*
Offline Offline

Mensagens: 12


« Responder #10 em: Outubro 23, 2007, 11:14:25 »

Bom Dia

agradeço já em nome dos bombeiros voluntarios de carnaxide a ajuda que foi dada
os meus parabens.
ainda não tinha tido opurtonidade de agradeçer o trabalho desemvolvido pelo resinba e outros membros mas principalmente ele que abraçou este meu pedido e desemvolveu um belo projecto , que para nós era impossivel sem a vossa ajuda, neste momento e como já tinha dito antes, de electronica precebo muito pouco ou quase nada e estou a tentar arranjar perante amigos alguem que possa dar seguimento ao projecto , a sua elaboração, estou a tentar perceber quais os componentes que devo comprar, para mim é um pouco dificil perceber essa linguagem , mas o mais dificil já foi feito por voçes, agora é só seguir em frente


o meu muito obrigado
Registado
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #11 em: Outubro 23, 2007, 13:20:20 »

Bom trabalho para os bombeiros voluntários feito por electrónicos voluntários. Parabéns.
Só agora estou pegando o esquema mo meu colégio eu não acesso tudo na internet, muita coisa fica bloqueada, amanhã trabalho, depois montarei o esquema.
Quanto ás resistências, elas podem ser de 220 a 1K depende dos LEDs e do brilho pretendido.
Existe esse código em assembler?
José Flor
Registado

Hugu
Chip
*****
Offline Offline

Mensagens: 543



« Responder #12 em: Outubro 23, 2007, 18:55:18 »

Bom Dia

agradeço já em nome dos bombeiros voluntarios de carnaxide a ajuda que foi dada
os meus parabens.
ainda não tinha tido opurtonidade de agradeçer o trabalho desemvolvido pelo resinba e outros membros mas principalmente ele que abraçou este meu pedido e desemvolveu um belo projecto , que para nós era impossivel sem a vossa ajuda, neste momento e como já tinha dito antes, de electronica precebo muito pouco ou quase nada e estou a tentar arranjar perante amigos alguem que possa dar seguimento ao projecto , a sua elaboração, estou a tentar perceber quais os componentes que devo comprar, para mim é um pouco dificil perceber essa linguagem , mas o mais dificil já foi feito por voçes, agora é só seguir em frente


o meu muito obrigado


Sem querer tirar ou ganhar protagonismos, apenas ajudar no k posso (ajudar hj para amanha ser ajudado), posso deixar a lista de peças do respectivo esquema do resinba, e então é o seguinte:

Resistencias:
R1 ao R4 = 4,7 K ohms
R5 = 10 K
R6 ao R9 = 470 ohms
R10 = 4,7 k ohms

Condensadores:
C1 ao C4 = 47 nF
C5 = 1 microF (condensador electrolítico)
C6 e C7 = 27 pF
C8 = 100 microF
C9 = 10 microF (tb condensador electrolítico)

Led's: D4, D3, D2, D5 (suposição: 5mm, vermelhos)

Cristal de quartzo:
XTAL1 = 4 MHz

Interruptores de pressão normalmente abertos:
S1 ao S4

Diodos:
D1 e D6 = 1N4001

Transistor:
Q1 = 2N2222A

Relé 5V - ?? Amperes:
RLY1

Regulador de potencia:
U2 = 7805

Tomada/adaptador de alimentaçao: J1

Cérebro do circuito:
PIC = 116F84A (para tal é preciso um gravador de pic's para se poder carregar o programa k o resinba tb deixou..)


Por isso caro Raul, é so copiar a listinha dos componentes e chegar numa loja da especialidade k eles aviam isso sem problemas..



Abr!
p.s.: desculpem se ha kk engano ou lapso da minha parte
« Última modificação: Novembro 07, 2007, 23:29:48 por Hugu » Registado

Keyboard not found. Press any key to continue.
------
AVALIAÇÃO
VENDO
COMPRO
raul_tavares
Fusivel
*
Offline Offline

Mensagens: 12


« Responder #13 em: Outubro 24, 2007, 11:17:03 »

obrigado pela vossa ajuda
já estou na copiar Wink
Registado
José Flor
José António Flor de Sousa
Chip
*****
Offline Offline

Mensagens: 1 054


OzFlor - José Flor


WWW
« Responder #14 em: Outubro 25, 2007, 03:49:24 »

resinba,
Fiz a montagem e não funcionou.
José Flor
« Última modificação: Outubro 26, 2007, 02:53:55 por José Flor » Registado

Páginas: [1] 2 3 4   Ir para o topo
  Imprimir  
 
Ir para: