Ir ao conteúdo
  • Cadastre-se

jfeliciano

Membro Pleno
  • Posts

    162
  • Cadastrado em

  • Última visita

Tudo que jfeliciano postou

  1. Ola pessoal, De uma olhada com este pesssol ai: http://www.naokometalurgica.com.br/produtos-padronizados.php Parece que eles fazem peças pra pequenas quantidades, e o preço nao e muito salgado Abraço jfeliciano
  2. Ola, Paulo E obrigado mais uma fez por sua atençao. Vou dar uma olhada no link que voce indicou. Mas o codigo do jeito que esta eu testei ele na pratica me pareceu que fuciona certo, incremetado e decremetado , eu so limetei acontagem em "0" e em "50" porque o encoder que eu estou usando vai de "0" ate 255" e ai quando chega no final,se continuar a girar ele recomeça a contagem de forma inversa , ex. se ja chegou em "255" ele começa em "0" e vise-versa, sendo que o certo e parar a contagem, no inicio ou no final. Mas o que eu observei que o problema acontece quando chega no laço "waile wend". por que se nao movementar o encoder ele fica travado ai,e nao da pra fazer mais nada com o resto do progragama, eu nao soube resolver isto. Nao entendi o lace da tabelinha que voce disse. "tem de olhar numa tabelinha para saber se o movimento foi no sentido horário ou no anti-horário !". Vou fazer as modificaçoes sugeridas pra ver como fica. Ate breve Um abraço jfeliciano
  3. Ola Paulo, Depois do ultimo contato, as coisas por aqui deu uma pequena evoluida. Ate que em fim aprendi a usar os shift registers, e consegui resolver aqueles "casos" dos 74hc595 e dos ucn5821, agora esta funcionando os leds juntamente com os reles, ja tenho um "seletor de entradas". Agora ja estou me aventurando com o rotarys encoders. Depois de muita pesquisas na rede, consegui encontrar um pequeno codigo para encoders em basic de um outro compilador, com pequenas modificaçoes consegui fazer funcionar no PSI. Mas ai surgiu um problema,quando uso somente a rotina do encoder funciona de forma aceitavel, mas quando junto ela com o resto do programa, depedendo da posiçao que o encoder parar trava o resto do programa, so sai desta condição se movimentar o dito cujo, vou postar o codigo pra voce dar uma olhada e se puder me dar mais uma de suas preciosas ajuda. Abraço jfeliciano "codigo para rotary encoders" AllDigital 'ADCON1 = 0x0e TRISB = 11111111b TRISD = 0x00 'TRISC = 0x00 PORTB = 0 PORTD = 0 Symbol enc1 = PORTB.3 'PINO 1 DO ENCODER Symbol enc2 = PORTB.4 'PINO 3DO ENCODER Dim counter As Byte counter = 0 Define LCD_LINES = 2 Define LCD_CHARS = 20 Define LCD_BITS = 8 Define LCD_DREG = PORTD Define LCD_DBIT = 4 Define LCD_RSREG = PORTC Define LCD_RSBIT = 5 Define LCD_RWREG = PORTC Define LCD_RWBIT = 6 Define LCD_EREG = PORTC Define LCD_EBIT = 7 Define LCD_READ_BUSY_FLAG = 1 Lcdinit 0 '-------------------------------------------------- Lcdcmdout LcdClear Lcdout " USANDO UM ENCODER " WaitMs 1000 Goto lcd 'INICIO LEITURA DO ENCODER '---------------------------------------------------- encoder: If enc1 = 0 Then counter = counter + 1 If counter > 50 Then counter = 50 Goto lcd Endif If enc2 = 0 Then counter = counter - 1 If counter < 0 Or counter > 50 Then counter = 0 Goto lcd Endif Goto encoder 'loop '-------------------------------------- lcd: Lcdcmdout LcdClear Lcdout "VOLUME ", #counter While enc1 = 0 Or enc2 = 0 WaitMs 10 Wend Goto encoder 'FIM LEITURA DO ECONDER
  4. PAULO, Pega leve com os projetos ai, se nao vai fundir a cuca, e a turma ainda vai precisar muito de voce. kakakakakaka Fiz os teste aqui com a nova versão e foi tranquilo. E que sou muito ansioso, ai ja viu!!!!! Mas quanto ao meu "novo" caso fique tranquilo, isto ja dura mais de cinco anos , posso esperar mais alguns. Enquanto isso vou quebrando a cabeça aqui, e boa sorte ai com os AVRs. E se não for segredo de "Estado" mostra ai depois pra turma. Mas alguem ai que estiver acompanhando a 'novela' quiser ajudar fique a vontade,ficarei muito grato Abraço jfeliciano
  5. Beleza Paulo, com certeza gostei sim, e quebrar a cabeça ensina muito, mas tem um custo alto, menos cabela na cabeça, olha que ja nao tenho muitos. kakakakakaka Eu ate imaginei uma stuaçao parecida , mas nao consegui colocar em pratica. Vou fazer os teste aqui e depois posto os resultados. Mais uma coisa, posso aplicar este mesmo codigo pro UCN5821? Como o projeto tem 1 74HC595 mais 2 UCN5821 com os "DATAS" ligados em serie,basta fazer "VTEMP" 8x3? isto vai de zero ate 23? Até breve jfeliciano
  6. Ola Paulo, Tenho quebrado a cabeça aqui pra tentar achar uma sulução pra fazer fucionar o 7hc595 sem o pino do RESET, mas ate agora nada! Modifiquei aquele codigo ,ate prece que ia funcionar mas dependendo da ordem que aperta as teclas ate vai, mas depois vira uma bagunça. acho que tem que fazer uma formula pra simular um "reset" onde sempre retorne a contagem pro 0. vou colocar o codigo aqui pra voce dar uma olhada e ver se e possivel. Desde ja um abraço jfeliciano 'Controle de volume 5.1 e Seletor de Entradas' Define CONF_WORD = 0x3f31 Define CLOCK_FREQUENCY = 4 AllDigital ADCON1 = 0x0e TRISB = 00000011b TRISD = 0x00 TRISC = 0x00 PORTC = 0 PORTB = 0 PORTD = 0 'Symbol enc = PORTB.0 'B0 E B1 PINOS DO ENCODER 'Symbol enc = PORTB.1 'B0 E B1 PINOS DO ENCODER 'Symbol mr = PORTC.3 'RESET PIN 10 (MR) 74HC595 Symbol ds = PORTC.0 'DATA PIN 14 (DS) 74HC595 Symbol stcp = PORTC.1 'LATCH PIN 12 (ST_CP) 74HC595 Symbol shcp = PORTC.2 'CLOCK PIN 11 (SH_CP)74HC595 Dim acled As Byte Dim vtemp As Byte Dim an0 As Word Dim ledaceso As Byte Define LCD_LINES = 2 Define LCD_CHARS = 20 Define LCD_BITS = 4 Define LCD_DREG = PORTD Define LCD_DBIT = 4 Define LCD_RSREG = PORTD Define LCD_RSBIT = 2 Define LCD_RWREG = PORTD Define LCD_RWBIT = 1 Define LCD_EREG = PORTD Define LCD_EBIT = 3 Define LCD_READ_BUSY_FLAG = 1 Lcdinit 0 Goto dvd2 loop: Adcin 0, an0 If an0 < 45 Then Goto loop 'If an0 < 55 Then Goto'STBY (51) If an0 < 120 Then Goto dvd2 '(109) If an0 < 188 Then Goto dvd5 '(171) If an0 < 259 Then Goto cd '(236) If an0 < 319 Then Goto sat '(292) 'IF AN0 < 386 THEN GOT '(351) 'IF AN0 <451 THEN GOTO '(410) 'IF AN0 < 517 THEN GOTO '(470) 'IF AN0 <579 THEN GOTO '(527) 'IF AN0 < 650 THEN GOTO '(591) 'IF AN0 < 713 THEN GOTO "(649) If an0 > 1000 Then Goto loop '------------------------------ dvd2: ledaceso = 0 Gosub sn74hc595 Lcdcmdout LcdLine1Clear Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Clear Lcdcmdout LcdLine2Home Lcdout " Source: ", "DVD2.0" Goto loop '------------------------------ dvd5: ledaceso = 1 Gosub sn74hc595 Lcdcmdout LcdLine1Clear Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Clear Lcdcmdout LcdLine2Home Lcdout " Source: ", "DVD5.1" Goto loop '----------------------------- cd: ledaceso = 2 Gosub sn74hc595 Lcdcmdout LcdLine1Clear Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Clear Lcdcmdout LcdLine2Home Lcdout " Source: ", "CD" Goto loop '----------------------------- sat: ledaceso = 3 Gosub sn74hc595 Lcdcmdout LcdLine1Clear Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Clear Lcdcmdout LcdLine2Home Lcdout " Source: ", "SAT" Goto loop End sn74hc595: If ledaceso = 0 Then acled = 0 If ledaceso = 1 Then acled = 1 If ledaceso = 2 Then acled = 2 If ledaceso = 3 Then acled = 3 ds = 1 WaitMs 1 For vtemp = 0 To acled shcp = 0 'CLOCK WaitMs 1 shcp = 1 'CLOCK WaitMs 1 If ds = 1 Then ds = 0 'DATA Next vtemp WaitMs 1 stcp = 0 'LATCH WaitMs 2 stcp = 1 'LATCH WaitMs 1 Return
  7. Ola pesoal, Neste site ai tem um projeto de uma bobinadeira artesanal pra trafo toroidal. http://waterfuelcell.org/phpBB2/viewtopic.php?t=1034 Estou tentando fazer uma igual, ainda esta na fase do prototipo,se alguem se interesar podemos trocar experiencias. abraços jfeliciano
  8. Ola, Paulo Nao estou conseguindo fazer a quela modificaçao no programa pra usar o 74hc595 sem o rest, sera que tem como voce fazer uma "rotinazinha" um pouco mais detalada, pra dar mais uma forcinha aqui pro veio? Ja abusando da sua boa vontade fiz mais umas alteraçoes no desenho, deixei ele um pouco mais completo, inclui mais 2 74HC595, que é pra simular os Ucn5821,pois nao vou conseguir desenha-lo pra usar no modo "simulavel" no proteus, e tambem fiz um aranjo pra simular um ROTARY ENCODER. Quanto tiver um tempo da uma olhadinha pra ver se voce aprova!!!! Se tiver mais alguma ideia manda ai!!!! Enquanto isso vou remontar "bagaça" e repor uns componetes "roubados" e gravar o pic pra testar aquele lance no LCD , com 4 ou 8 bits, pois nao consegui resolver, no proteus com 4 bits, nao roda nem a pau. Há, voce viu ai as fotos da 'bagaça"? Abraço jfeliciano
  9. Ola, Paulo Deu até pra sentir o cheiro da muqueca, kakakakaka Os componente pra "bagaça' nao vai ser problema , ja tenho todos, incluindo o UCN 5821 que comprei na Farnell já tem um tempão. So vou substituir os amp op, o display e o encoder original do projeto ,este dois ultimos custam uma pequena fortuna, o resto ta mão. Sera que o UCN criando no proteus vai dar pra usar nas simulaçoes? E o pessoal ai sinta-se a vontade pra opinar,so nao esperem muito de min, pois se tratando de programaçao ainda sou inciante de aprendiz ok!! vejam ai as fotos das "bagaças" Abraço a todos jfeliciano Ola Rodrigo, Sinta-se a vontade!!! Este projeto e um sonho antigo de montar meu própio "home cinema". O hardware do projeto em si e tanquilo,ja tenho tudo pronto, o problema mesmo é o software, pois só agora estou começando a aprender progamaçao. Qanto ao chaveamento eletrônico nao sou muito fã, gosto mesmo e do tudo ou nada "reles" este CIs. costumam gerar muita interferencia entre os canais . E este TDA7439 tem um irmão que é TDA7313, nao sei dizer se pior ou melhor , mas e bem versatil , da pra fazer um projeto bem "enxuto" tambem. abraço jfeliciano
  10. Beleza, Paulo Anotei todas as sugestoes, vou comprar uns pots digital, mesmo que nao use neste projeto, mas servira pra outros "brinquedos". Porque ja tenho alguns pgas, nao justifica abadona-los nesta altura do campeonato né!! Mas a parte equalizador ja tinha pensado nisto ,é provavel que vou aderir esta ideia O resto vou tentar manter mais parecido com a ideia original, ate porque ja tenho tudo pronto. Agora a parte do 74hc595 vou tentar mudar, é que o controle dos reles usa um driver serial no mesmo barramento um (UCN5821), nao tem ele na livraria do proteus, acho que vou ter cria-lo! Sera que este "cara" morde? "UCN5821" Ai acredito ser bom manter a ideia original pra nao complicar muito a parte do hardware. Depois vou tentar colacar umas fotos da "jaca" toda aqui !!!!!!! Quanto a pescaria so posso ficar com "inveja" kakakakakak Boa pescaria , divirta-se vai com Deus. Ate breve jfeliciano
  11. Paulo, Já esta funcionando a caisa por aqui,foi so compilar e partir pro abraço. Foi só alegria, so nao soltei fogos por que nao tinha!!!!!! kakakakakakakaka Parecia pintinho no lixo!!! Depois da "onça morta" da até coragem pra tirar o coro!!!!!!!!! Agora é passar para o proximo passo, e melhorar o visual das apresentaçoes das "Telas" e acresentar os reles e mais alguma "coisinha". Tem uma tecla que e pra colocar o pic pra "Dormir" (STANDBY), mas não tenho a menor ideia de como isto e feito. Há! e como e que se faz a conta pra compensar a tolerancia dos componentes na leitura do ADC? Se tiver mais sugestoes pode mandar. Veja ai como ficou o codigo. Muitissimo Obrigado!!!!!!!! Ate breve jfeliciano 'Controle de volume 5.1 e Seletor de Entradas' Define CONF_WORD = 0x3f31 Define CLOCK_FREQUENCY = 4 AllDigital ADCON1 = 0x0e TRISB = 0x00 TRISD = 0x00 TRISC = 0x00 PORTB = 0 PORTD = 0 Symbol mr = PORTC.0 'RESET PIN 10 (MR) 74HC595 Symbol stcp = PORTC.1 'CLOCK PIN 12 (ST_CP) 74HC595 Symbol shcp = PORTC.2 'LATCH PIN 11 (SH_CP)74HC595 Symbol ds = PORTC.3 'DATA PIN 14 (DS) 74HC595 Dim acled As Byte Dim vtemp As Byte Dim an0 As Word Define LCD_BITS = 8 Define LCD_DREG = PORTD Define LCD_DBIT = 4 Define LCD_RSREG = PORTB Define LCD_RSBIT = 0 Define LCD_RWREG = PORTB Define LCD_RWBIT = 1 Define LCD_EREG = PORTB Define LCD_EBIT = 2 Define LCD_READ_BUSY_FLAG = 1 Lcdinit 0 shcp = 0 stcp = 0 mr = 0 WaitMs 1 mr = 1 Goto dvd2 loop: Adcin 0, an0 If an0 < 60 Then Goto loop If an0 < 143 Then Goto dvd2 If an0 < 206 Then Goto dvd5 If an0 < 250 Then Goto cd If an0 < 350 Then Goto sat If an0 > 1000 Then Goto loop dvd2: acled = 1 Gosub sn74hc595 Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "DVD2.0 " WaitMs 50 Goto loop cd: acled = 3 Gosub sn74hc595 Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "CD " WaitMs 50 Goto loop sat: acled = 4 Gosub sn74hc595 Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "SAT " WaitMs 50 Goto loop dvd5: acled = 2 Gosub sn74hc595 Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "DVD5.1 " Goto loop End sn74hc595: mr = 0 WaitMs 1 mr = 1 ds = 1 For vtemp = 1 To acled shcp = 1 WaitMs 1 shcp = 0 If ds = 1 Then ds = 0 Next vtemp stcp = 1 WaitMs 1 stcp = 0 Return
  12. OK, Paulo Na verdade nao tenho pinos sobrando no pic,e que eu nao fiz todo o desenho. Porque se colocar tudo vou acabar desistindo no meio do caminho,tem leras de coisa pra acrecentar, montes de reles ,pgas23xx , encoder, sensor de cont. remoto etc. E que eu coloquei a carroça na frente dos burros , construi primeiro todo o hardware,pra depois aprender a "programar" kakakakaka!!!!!. E que um amigo ia fazer o codigo, mas ai ele foi embora e eu fiquei a ver navios, digo " placas e mais placas na gaveta " então vou tentar seguir a ideia inicial que e este projeto deste link:http://www.mhennessy.f9.co.uk/preamp/schematics.htm. pra nao peder todo o serviço , vou tentar fazer pequenas adaptaçoes, como reduzir o numero de reles,chaves etc.. e usar outro ldc. Veja bem no que e que foi me meter. hummmmm!!!!!!!!! Ate breve Jfeliciano
  13. Paulo, Obrigado por mais esta força, vou fazer os testes aqui depois posto os resultados. Ficou uma pequena duvida, no post anterior voce sugeriu aterrar o pino " DS ". "Mude o seu circuito, em vez de controlar o pino DS, controle o pino /MR. Ligue o DS no terra (0) ." E neste exemplo voce esta manipulando o mesmo, e tambem acrecetou mais um pino . Queria saber se as duas opções estão corretas, e qual a diferença entre elas? Abraço Jfelicano
  14. Paulo, Obrigado pelas dicas, a parte do 74hc595 eu li varias vezes mas infelizmente eu nao consegui entender. Se nao for pedir muito seria possivel voce fazer um pequeno exemplo prático, pra ver se entra nesta minha "cabecinha oca"? Abraço Jfeliciano
  15. Leonardo, Parabéns pelo seu sucesso,e tenha muitos mais!!! Paulo, Estou aqui tentado realizar um sonho antigo que até já comentei aqui em outras mensagens. Que é terminar um projeto parado que tenho aqui de um controle de volume com seletor de entradas Acho que ainda nao estou preparado pra lidar com os programas, mas e praticando que se aprende !!! Vou tentar explicar como e o projeto pra vocês me ajudarem no que for possivel. Vou tentar fazer o programa passo a passo, pra ir pegando o jeito. Estou usando pic16f877a, ldc 16x2, 4 teclas e 4 LEDS e tambem um 74hc595. sendo que as teclas estão ligada no (ADC) do pic com um divisor de tensão, e cada tecla apertada me da uma leitura, que ate ai deu tudo certo. E os leds estão ligado no 74hc595, que depois de muita pesquisas consegui fazer funcionar, pra cada tecla apertada o display vai mostrar qual fonte de sinal foi selecionada e o led referente aquela fonte vai iluminar a tecla apertada. Mas nao estou conseguindo fazer o controle do 74hc595 pra trabalhar desta forma. segue o inicio de um "rascunho" do programa que estou tentando fazer. Gostaria muito da sua ajuda e sugestão e tambem criticas. Segue em anexo o esquema inicial, que vai ser ampliado na medida do desenvolvimento 'Controle de volume 5.1 e Seletor de Entradas' Define CONF_WORD = 0x3f31 Define CLOCK_FREQUENCY = 4 AllDigital ADCON1 = 0x0e TRISB = 0x00 TRISD = 0x00 TRISC = 0x00 Symbol data = PORTC.0 'PIN 14 74HC595 Symbol clock = PORTC.2 'PIN 11 74HC595 Symbol latch = PORTC.1 'PIN 12 74HC595 PORTC = 0 PORTB = 0 PORTD = 0 Define LCD_BITS = 8 Define LCD_DREG = PORTD Define LCD_DBIT = 4 Define LCD_RSREG = PORTB Define LCD_RSBIT = 0 Define LCD_RWREG = PORTB Define LCD_RWBIT = 1 Define LCD_EREG = PORTB Define LCD_EBIT = 2 Define LCD_READ_BUSY_FLAG = 1 Lcdinit 0 Dim clk As Byte Dim an0 As Word Goto dvd5 loop: Adcin 0, an0 '-------------LEDS For clk = 0 To 7 clock = 1 data = 0 'Q7=SEM USO clock = 0 WaitMs 1 clock = 1 data = 0 'Q6=SEM USO clock = 0 WaitMs 1 clock = 1 data = 0 'Q5=SEM USO clock = 0 WaitMs 1 clock = 1 data = 0 'Q4=SEM USO clock = 0 WaitMs 1 clock = 1 data = 0 'Q3=SAIDA P/LED>"SAT" clock = 0 WaitMs 1 clock = 0 data = 1 'Q1=SAIDA P/LED>"DVD5.1" clock = 0 WaitMs 1 clock = 1 data = 0 'Q2=SAIDA P/LED>"CD" clock = 0 WaitMs 1 clock = 1 data = 0 'Q0=SAIDA P/LED DVD2.0 WaitMs 1 clock = 0 latch = 1 latch = 0 Next clk '- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - fonte: If an0 = 295 Then Goto sat If an0 = 112 Then Goto dvd2 If an0 = 174 Then Goto dvd5 If an0 = 239 Then Goto cd If an0 = 1023 Then Goto loop dvd2: Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "DVD2.0 " WaitMs 50 Goto loop cd: Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "CD " WaitMs 50 Goto loop sat: Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "SAT " WaitMs 50 Goto loop dvd5: Lcdout " Pre-Amplifier" Lcdcmdout LcdLine2Home Lcdout "Source: ", "DVD5.1 " 'WaitMs 50 Goto loop Ate breve jfeliciano
  16. Paulo, leonardo, Obrigado Eu ja tinha a ideia da tolerancia do osc. RC, mas e que ja vi sequenciais com pic que usa oscilador RC e um poteciometro pra controlar a velocidade dos movimento das luzes. Ai estava curioso pra saber como calcular o osc. RC, e tambem como cofigurar O PSI pra usar ocilador RC. Mas pesquisei, e achei este site: http://www.sprut.de/electronic/pic/osc/#rc Esta em alemao mas acho que deu pra entender a formula. Falta saber com configurar o PSI?? Ate breve jfeliciano
  17. Leonardo, É exatamente isto! Se variar o valor de um dos componente R ou C vai varia a frequencia em MHZ. Quero saber como calcular o valor em MHZ , se varia o valor de R para max. e min. abç jfeliciano
  18. Ola, Paulo Aprovetando a deixa do Leonardo, quero fazer umas perguntas. Se for usar o oscilar RC, mas com a frequencia variavel, variando o valor de R , com um potecimetro por ex. Como fica o " Define CLOCK_FREQUENCY ? E se tem como simular isto no PSI ? E como calcular frequencia minima e maxima ? Obrigado Jfeliciano
  19. Ola pessoal Alguem poderia me dar uma ajuda com codigos que usa LCD, no PSI simula normal, mas no Proteus ISIS apresenta este erro "attempted to read after write a single nibble ". Estou usando somente 4 bits (NIBBLE) ,mas se eu mudar para 8 bits simula normal. Estou usando todos os pinos do LCD no mesmo port (ex. Port D),mas ja testei outras configuraçoes e tambem nao deu certo. Obrigado a todos jfeliciano
  20. Ola chara, Tambem estou dando os primeiros passo com os pic e o Basic. Mas este programa ai dos leds esta certinho, voce deve ter cometido algum erro de digitaçao na linha onde esta acontecendo o erro, de uma verificada ai pra ver. Se nao conseguir posta o codigo aqui pra gente ver Boa sorte jfeliciano
  21. Paulo, Tudo na paz ai? Que bom que voce ficou contente com os resultados, eu fiquei mais ainda. Nao tenhas duvidas de que seu tutorial é e será muito util ainda pra muita gente. E que venham mais e mais tutoriais como estes !!!!!!!! E pra nao perder o costume, sempre vi uma tecnica usada por varios fabricantes de equip.eletronicos que me deixava muito curioso, mas agora ja sei o que é que . Onde se usa varias teclas pra mudança de funçoes, controles de volumes etc.. usando apenas uma entrada do "Micro", que agora sei que é o "ADC" com um divisor de tensão resistivo associado a varias teclas. Mas como saber o valor certo pra cada tecla, ja que na teoria os calculos é um e na pratica tem as tolerancias dos componentes as variaçoes de temperaturas e umidades etc.. e podem ter valores ligeiramente diferentes dos calculados. Por exemplo um divisor de 5volts de 1 pra 1 teria teoricamente no centro 2,5volts , mas e se este valor for um pouco diferente ? Como fazer pra que esta pequena diferença seja reconhecida como uma leitura valida para a variavel associada a esta tecla e nao gere uma funçao errada? Isto ai é que ja estou me preparando pra "tutorial 3" Se voce puder dar uma ajudinha ai e tambem com os "potenciometros sem fim (ROTARY ENCODERS)", ja procurei alguma coisa mas em basic PSI nao encontrei nada, pode ser uma pequena rotina so pra matar a curiosidade. Obs. os PGAS 2310,2311 e 4311 estão guardadinhos so esperando o tutorial 3 sair pra começar as brincadeiras com os controles de volumes etc. uma abraço Jfeliciano
  22. Ola,Paulo Tudo na paz por ai? Aqui ta caminhado,fiz os teste com o voltimetro usando os 3 displays de 7 seg. e funcionou certinho, nem presisei mexer no TIMER0, porque estou usando um cristal de 12Mhz. Foi so ajustar os PORTS pra trabalhar na minha placa e tambem retirei a rotina da chave que da inicio da leitura. Ai foi so partir pro abraço. Pelas minhas contas ficou com o 240 veze por segundo e interrupçao de 4,16 milisegundo, se estiver errado me corrija por favor. Mas re-lendo aqui a parte de tutorial que mostra como configurar o timer0 fiquei com algumas duvidas. Por exemplo nesta parte aqui: "Mas, temos um problema : quantos ciclos de clock ocorrem a cada 12,5 mseg ??? Oras, se temos uma freqüência na entrada de 1Mhz, temos 1 milhão de ciclos em um segundo, basta multiplicar por 0,025 para sabermos quantos ciclos ocorrem. A resposta é esta : 12.500 ciclos." Nao entendi como multiplicar 1 milhão de ciclos em um segundo por 0,025 pra achar 12.500 ciclos. E nesta parte aqui : "Apenas para fazer uma conta rápida, a única maneira de dividir os 12.500 ciclos de clock para caber em 256 é ( 12.500 / 256 ) = 42,82 ou seja, temos de selecionar OBRIGATÓRIAMENTE o PRESCALER de 64, POIS É O VALOR IMEDIATAMENTE ACIMA DE 42" Fiz as contas aqui de (12.500/256)=48,82, tem algum segredo ai ou ficou errado?
  23. Paulo, Muitíssimo obrigado por esta aula particular de matematica. vai ajudar muita gente aqui. Eu nunca foi muito amigo da matematica, e ja faz um bom tempo que fugi da escola, estou bem enferrujado, mas com calma, paciencia e a ajuda de DEUS e dos colegas as coisas vão tomando forma vou ate fazer uma cartilha desta aula pra estudar,e praticar nas horas de folga !!!! Mas a cartola na managa vai ter que esperar um pouco mais, mas vou comesar com um elefante,e mas faciel de encontrar,coelhos e pombos e muito esperto. kakakakakakakaka Abraço jfeliciano
  24. Paulo, Boa noite Nao testei com display de 7 seg., mas fiz o teste com lcd ,tanto no psi como na placa de desenvolvimento funcionou certinho, o erro foi realmente 1 milivolt. Só nao entedi bem foi esta parte da matematica "leitura = (leitura * 61) / 125". como você chegou aos numeros 61 e 125? Mas o resto foi tranquilo, agora vou estudar o TIMER0 pra fazer com 7 seg. Veja ai com eu fiz o codigo aqui e me diz se e isto mesmo. Define CONF_WORD = 0x3f72 Define CLOCK_FREQUENCY = 12 AllDigital ADCON1 = 0x0e Define LCD_BITS = 8 Define LCD_DREG = PORTD Define LCD_DBIT = 0 Define LCD_RSREG = PORTE Define LCD_RSBIT = 0 Define LCD_RWREG = PORTE Define LCD_RWBIT = 1 Define LCD_EREG = PORTE Define LCD_EBIT = 2 Define LCD_READ_BUSY_FLAG = 1 Lcdinit Dim leitura As Word Dim dez As Word Dim uni As Word Dim cent As Word loop: Adcin 0, leitura leitura = (leitura * 61) / 125 cent = leitura / 100 dez = leitura - (100 * cent) dez = dez / 10 uni = leitura - (100 * cent) uni = uni - (10 * dez) Lcdcmdout LcdClear Lcdout " VOLT-METER LCD" Lcdcmdout LcdLine2Home Lcdout " VOLTS >>> " #cent, "." #dez, #uni WaitMs 250 Goto loop Muito obrigado jfelicano
  25. Paulo, Bom dia Obrigado mais uma vez pela força. Eu ja baixei aqui o datasheet do pic, mas é que meus conhecimentos tecnico e de inglês e limitado e ai complica um pouco, mas vou caminhado devagar e sempre. Mas neste intervalo tive a oportunidade de ver uma mini video aula do Curso de Programação BASIC para PIC do pessoal da "Microgenios" falado exatamente do uso e configuraçoes do adc, deu pra entender direitinho. Tai uma boa ideia, quem sabe você mesmo no futuro nao faz algo parecido , um "video tutorial". Mas a respeito da conversão da leitura do adc ,é pra fazer ensaios com um voltimetro DC de 5volts com LCD, mas pode ser tambem com display de 7 seg., 3 ou 4 digitos. Se você puder explicar os dois ficarei muito grato. E o projetinho do sequencial, quando ficar pronto vou postar aqui pra você avaliar, ok jfelicano

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!