Ir ao conteúdo
  • Cadastre-se

aphawk

Membro Pleno
  • Posts

    8.277
  • Cadastrado em

  • Última visita

Tudo que aphawk postou

  1. Oiluj, Faltou trocar também o TRISD por TRISB , ok ? Não vejo nenhuma outra diferença, deve funcionar ! Paulo
  2. Caramba, Faller, não tinha percebido que a impedância de carga era de 0,5 ohms .... porisso que voce disse 95A ..... a coisa ficou ainda pior, pois se essa é a corrente média na carga, os picos podem ser ainda maiores ! Fico imaginando uma fonte dessas, 65+65 por 100A, são 13.000 watts .... mais do que 2 chuveiros juntos ! Já pensou a fiação da casa ?????? Haja diodo E capacitor eletrolítico na fonte para manter isso ! Com certeza, esse amplificador não fornece toda essa potência, procure por um outro cujas especificações sejam mais realistas ! Valeu pessoal ! Paulo
  3. Heheheh exatamente , muitas vezes as coisas não são vistas por nós da maneira correta, não é mesmo ? Eu tive um professor de programação na faculdade chamado Rui Campos, o cara era fera, e foi o fundador da famosa Microtec, um dos primeiros fabricantes de PCs do Brasil. Ele sempre dizia para a a gente : Quando a programação parece muito difícil é porque voce tomou o caminho errado para resolver, tente dividir o problema em partes menores, fica bem mais fácil de resolver cada parte ! Esse é um conceito que eu faço até hoje, tente sempre manter isso em sua mente quando resolver fazer um programa, ok ? Agora acho que vai ..... acho que como eu tem muita gente querendo ver a sua solução para aprender, assim que voce terminar poste o código para a turma ! Valeu meu amigo ! Paulo
  4. Revelino, O FALLER está certo.... não fiz os cálculos , mas de cara já sei que seriam necessários no mínimo uns 40 ampéres, se tivesse um rendimento de 100% ( que não existe... ) . Supondo um rendimento máximo da ordem de 65%, eu chutaria uns 60 Amperes .... mas a dificuldade é a mesma se fosse 95 !!!! Mas ainda duvido que com só 8 transistores de potência seja possível obter tudo isto, são cerca de 575 Watts por transistor ( isso só de áudio ), ou mais de 800W totais se levarmos em conta o rendimento. Ou seja, 225 Watts são dissipados em forma de calor ! Pode ser que eu esteja errado, pois faz muito tempo que trabalhei com isto, mas gostaria de saber COMO um transistor de no máximo 250 watts consegue dissipar 225 Watts se olhando a curva SOA ele aguenta no máximo 3A com 70 volts ... Para mim, seriam necessários pelo menos umas 20 vezes mais transistores !!! Agora, olhando bem o esquema, está informado que são 9600W PMPO .... em RMS seriam umas 8 vezes menor. Na minha opinião, esse esquema forneceria uns 600 Watts RMS, usando a curva SOA dos MJ15003 e 15004 . Alguém com conhecimento REAL pode informar melhor a todos nós ? Paulo
  5. Tchecara, Acho que voce não entendeu o que eu falei sobre tratar apenas 2 letras.... é muito fácil voce fazer o shift de cada letra, pegando todos os bytes dela. E o seu display sempre vai mostrar no máximo 2 letras ao mesmo tempo, sendo partes da primeira e partes da segunda. Portanto, divida o problema em dois !!!!! Fazer o shift do caracter INTEIRO usando as matrizes em Basic é bem simples, certo ? Assim voce sempre vai saber qual é a letra que está na matriz, e qual é a letra que VAI estar também na matriz. Vamos dar o nome dessa matriz de MENSAGEM, que contém todas as letras da mensagem ( ou melhor todos os 5 BYTES correspondentes para cada letra, todos em sequência ) . Traduzindo o que eu falei acima, voce sempre sabe quais são as letras MENSAGEM(n) e MENSAGEM (n+1), que são sempre as duas letras que estão sendo mostradas no display. Agora, crie uma matriz menor, com todos os 10 bytes a serem mostrados dessas 2 letras. Chame de MOSTRADOR . Teremos, por exemplo , 10 elementos nessa matriz, supondo que seu display mostra 5 colunas de cada letra. Quando voce fizer os shifts dessa matriz MOSTRADOR, verifique se o todos os dados da primeira letra já foram mostrados ( a cada 5 shifts corresponde uma letra ), então nesse instante voce tem na matriz MOSTRADOR apenas os dados da segunda letra, correto ? Neste instante, vce faz o shift da matriz MENSAGEM, pega a próxima letra dela ( os 5 bytes da letra ) , e armazena na matriz MOSTRADOR, na posição ORIGINAL da segunda letra, pois a posição da primeira letra já estará ocupada,correto ? Assim, suas duas matrizes funcionam desta maneira, a matriz MOSTRADOR faz 5 shifts, e só neste instante a matriz MENSAGEM faz um novo shift, daí teremos mais 5 shifts de MOSTRADOR, e assim por diante. Em tempo : quando acima eu falo um shift de letra, na verdade significam 5 shifts , um para cada byte da letra, ok ? Caramba, me parece tão fácil isso , e o código também fica bem simples. Lembre-se da máxima romana : dividir para conquistar ! Se depois disso voce não conseguir fazer, vai perder o diploma !!!!! Um abraço ! Paulo
  6. Nossa mãe do céu ...... hahahahah quem vê essa última explicação desiste na hora ...... Felipe, ele quer apenas deslocar os padrões dos bits, simulando a "passagem" das letras através da matriz LED dele, entendeu ? Tchecara : Uma dica : declare uma matriz, guarde seus bytes nela, e movimente os bytes de uma posição para outra da matriz, sempre em sequência, descartando o primeiro e avancando todos os outros. é algo como isto aqui : for n= 0 to 6 temp = matriz(n+1) matriz(n)=temp next n Isto desloca todos os bytes da direita para a esquerda ( maior para o menor) Mas pelo que eu percebo, voce algumas vezes precisa mostrar uma parte de um dado e uma parte de outro dado, portanto voce sempre vai ter de ter 2 dados a serem mostrados, e quando um sai totalmente da matriz de LEDS, um outro deve ser pego e colocado ao final daquele que está sendo mostrado. Por exemplo, se o elemento n estiver no display, e houver um deslocamento, voce tem de deslocar o elemento n primeiro para a esquerda, e pegar o elemento n+1 e mostrar a primeira parte dele. Sempre voce deve ter uma variavel chamado MOSTRAR, que voce tem de montar na mão a partir dos elementos n e n+1 , conforme os deslocamentos vão acontecendo. Não é difícl fazer isto, Tchê, se voce seguir a lógica acima. Mas confesso que em Assembler fica mais intuitivo devido à facilidade dos Shifts ou Rotates. Um abraço a todos ! Paulo
  7. Valeu, Tchecara, obrigado pela sua iniciativa em disponibilizar o código para ajudar os iniciantes ! Deixo aqui uma ressalva : esse tempo de 2 milisegundos está fora das normas de acesso a memórias do tipo I2C, pelo menos em caso de acesso aleatório. O correto seria deixar pelo menos 5 milisegundos entre acessos à memórias do tipo I2C. Se realmente essa troca de dados fosse feita entre 2 PICs, a 9600 Bauds, ocorreria troca de informações em eum tempo bem menor do que 5 milisegundos, e isto iria causar problemas quanto a confiabilidade dos dados gravados. Se realmente for necessário a conversa nessa velocidade, entre 2 PIC's, sugiro o uso de um buffer circular, para dar tempo aos dados serem gravados. Ou a implementação do protocolo XON / XOFF, onde seria usado um byte a ser enviado, que controlaria o fluxo de transmissão, assim a cada dado recebido o receptor envia um XOFF para parar a transmissão, gravar o dado na memória I2C, esperar os tais 5 milisegundos, e só então seria enviado um XON, que seria interpretado pelo transmissor como uma "permissão concedida" para enviar um novo byte. Digo isto porque existem casos em que esse programa , do jeito que está escrito, realmente funciona, porque o PC está enviando os dados conforme são digitados ( tempo MUITO maiores do que 5 milisegundos ), e casos onde não funcionaria. Mesmo assim, agradeço muito ao amigo TCHECARA, pela sua dedicação em fazer o programa, testar e publicar aqui !!!! Se todos fizessem isso, muito mais usuários estariam aprendendo e usando os Pics. Já ví alguns usuários do Fórum falarem que fizeram isto e aquilo, que iam disponibilizar o projeto, mas logo se "esquecem" , e fica só na promessa... Agradeço de coração, em nome de muitos usuários que com certeza irão te agradecer, mesmo que em pensamento, pela sua ajuda ! Um abraço ! Paulo
  8. Fiz um relógio digital com alarme, com 4 dígitos LED e um AVR, sem usar nenhum RTC separado, usei o próprio RTC do Counter2 do AVR. Ficou legal, porque é um projeto que usa 2 timers diferentes com suas interrupções, um para fazer os displays multiplexados, e o outro gera a base de tempo com um único cristal de 32768 Khz. Tudo programado só com Bascom, vou incluir no tutorial este fim de semana. Quem já fez o download, faça um download novo a partir de segunda-feira, ok ? Paulo
  9. Opa, IAS, valeu meu amigo, o que importa é que voce já tem experiência do BASIC com PIC´s, fica muito mais fácil usar os AVR´s com o Bascom ! E voce vai perceber que o BASCOM é o sonho de qualquer programador, possui funções de strings super-completas, trabalha com números reais e fracionários, tem funções matemáticas de tudo o que você precisar, enfim, eu que me acostumei com o Basic do PSI, que é bem limitado, me sinto no paraíso quando uso o Bascom ! Manda bala e depois me fala ok ? Um abraço. Paulo
  10. HAHAHAHAHHA quanto ao avatar, prá ser real tinha de tirar o cabelo dele hihihihihih !!!! Veja no tutorial, tem um projeto de relógio, nele tem a comunicação I2C com o chip de relógio, que nada mais é do que uma memória serial I2C meio metida a besta hihihihi .... e também tem o programa de comunicação RS232C. No PC, use o Hyperterminal, tá prontinho, a inteligência tem de ficar do lado do PIC ok ? Paulo
  11. Calma, pessoal, caramba, só não tem jeito para a morte ( e para os políticos ... ) , com software e memória dá para fazer qualquer coisa ! Deixem de ser pessimistas : 1 - Tchecara, compra uma memória serial I2C com uns 16K e pronto, seu problema acabou, por menos de R$ 10,00 ! 2 - Agora, a briga é a seguinte : As frases a serem mostradas ficam armazenadas na eprom serial, ok ? E, olha só , o acesso aos dados dessa memória também é sequencial..... olha a ideia - - Um programa para receber as frases, via serial RS232C, de um computador, e já vai armazenando cada um dos caracteres, trocando pela sua sequência de bytes ! Assim, quando o programa for acessar os dados da memória, ele já recebe cada byte da maneira que ele tem de ser mostrado, ok ? - Um programa que busca os dados armazenados da memória serial I2C, um a um, e vai armazenando na memória principal do PIC e mostrando eles conforme necessário. Como temos bastante memória livre, dá para ficar manipulando os dados em Basic mesmo, inclusive simulando o tal do shift em Basic mesmo. Lembro que os dados já estarão armazenados no formato de bits, próprio para ir sendo enviado ao display. Tá vendo como é fácil ? Aliás, uma coisinha para vocês ficarem pensando..... um AVR ATMEGA16 tem 16K de memória Flash, e 1K de RAM, e 512 bytes de Eeprom , e custa quase o mesmo de um PIC 16f877a .... e o Basic do BASCOM faz milagres com strings ..... heheheh estou cutucando a onça !!!!! Um abraço ! Paulo
  12. Opa, bons usos , test man, espero que ache ele legal, aliás, fica aqui um pedido que faço a todos que estejam lendo, se gostarem do tutorial, por favor, dêem uma nota a este tópico..... no tutorial que eu fiz de PIC, tem centenas de acessos, mas ninguém deu uma única nota para ele ....... heheheh po o ego agradece muito !!!!!! Abraços a todos ! Paulo
  13. Só para manter o tópico atualizado ... Achei um bug do Bascom ..... declarei uma variável do tipo WORD ( pode ir de 0 até 65535 ), e fiz um loop usando o FOR - NEXT com ela, indo de 0 até 9999 , e o loop abortava quando o valor da variável chegava a 236 .... não conseguí achar o motivo, e só resolveu o problema quando eu declarei a variável como Long . Aliás, esse bug foi justamente no exemplo do tutorial sobre um contador de 0 até 9999 com 4 displays de 7 segmentos. Repare que eu tive de declarar ela como Long ! Fica aqui o aviso, pois é um daqueles bugs difíceis de se achar, pois tive de ficar acompanhando a contagem para perceber o bug ! Paulo
  14. Caramba .... Tchecara ...... voce é o meu Karma terrestre hahahahahahah! Olha, entendi o que voce quer, mas acho que a sua estrutura está errada. Vou reproduzir aqui o que acho que deve funcionar : Letra B =======matriz 7 linhas X 5 colunas Linha1=30 Linha2=9 Linha3=9 Linha4=14 Linha5=9 Linha6=9 Linha7=30 seleciona: For k = 1 To 7 Select Case letra Case a dig = LookUp(4, 10, 17, 17, 31, 17, 17), k Case b ---bytes da letra b dig = LookUp(30, 9, 9, 14, 9, 9, 30), k case ....... EndSelect linha(k) = dig Next k Na minha visão do programa, este trecho é uma sub-rotina, que deve ser chamada apenas para montar a matriz linha() com as linhas correspondentes à uma determinada letra. Mas como voce vai fazer o Shift ??? voce teria de ter uma outra matriz, com a próxima letra, e ficar fazendo o deslocamento de valores ( shift ) , usando as duas matrizes. Mas isso também não vai dar certo.... o correto é voce fazer uma tabela enorme, com todas as linhas de cada uma das letras e números possíveis, baseados no valor ASCII crescente, assim fica fácil pesquisar elas, e localizar a sequência de linhas . Eu montaria vários ponteiros, para ser mais exato seriam 7 ponteiros, um para cada linha, e eles iriam se deslocando todos ao mesmo tempo, para ir mostrando as linhas passando pelo display. É mais fácil voce deslocar os ponteiros, do que ficar copiando as linhas para ficar mostrando. Agora, cá entre nós, essa ideia de usar um shift register para o deslocamento..... isso funciona bem quando é para acender um display de 7 segmentos, acabamos perdendo tempo precioso nas rotinas de shift .... voce poderia fazer isso, usando uma das portas de um 16f877a para as linhas, e uma outra porta para as colunas, assim fica fácil trabalhar com um display de 64 pontos ( 8 x 8 ) , sem precisar perder tempo com os shifts. Aliás, é assim que eu ví alguns projetos, usando AVR's. O truque é usar a interrupção do timer para ficar acendendo apenas uma coluna de cada vez, a cada 1/240 de segundo. Assim voce monta uma máquina de estado, e , por exemplo, a cada 1/8 de segundo voce faz o shift das colunas. Isso, com uma rotina de vários ponteiros se deslocando, sincronizados com as interrupts, ficaria lindo de se ver ! Mas , essa tarefa deixo como um exercício de FS para o meu dileto aluno Tchecara !!!!! E ve se dá um tempo prá mim né , afinal ainda estou terminando a parte 2 do tutorial de programação de AVR's em Basic, fico sem cabeça para pensar em programas para PIC do PSI ao mesmo tempo !!!!!! Um abraço a todos ! Paulo
  15. Felipe, o problema é que a Phillips também faz muito componente que usa o SMBUS, que é um subset do I2C. E ela chama isso de I2C ! Muda o timeout, o clock speed, e os níveis de tensão. Segue este link que mostra as diferenças : http://www.maxim-ic.com/app-notes/index.mvp/id/476 Como os AVR's podem trabalhar com tensões mais baixas ( modelos com sufixo v ), os níveis de tensão são resolvidos fácilmente, mas as diferenças de timing ( o PSI usa 400 Khz de clock no I2C, ou seja, segue o modelo FAST do I2C, mas isso atende apenas às memórias seriais, outros componentes não aceitam essa velocidade, suportam apenas 100 Khz no máximo. ) são bem complicadas, eu tive de refazer um monte de código para falar com o maldito chip a 10 Khz ...... Fora que existem chips onde temos de conversar sem o Ack / Nak ( e o PSI só faz Ack .... ) ! Mas se serve como consolo, o Bascom tem uma função que deve resolver isso, tem o Config I2CDELAY, que permite chegar a um clock desde os 10 Khz até os 400 Khz ! E tem todo o subset de comandos I2C, inclusive com ou sem Ack / Nak ! Dá uma olhada no manual, é bem explicativo ok ? Paulo
  16. Felipe e Cácio, Obrigado a vocês, meus amigos, a área dos AVR's também é bem nova para mim, e peço a ajuda de vocês, como sempre, para qualquer dúvida dos usuários iniciantes ! Aliás, gostaria que vocês dessem uma boa olhada no tutorial, como eu escreví ele a toque de caixa, podem existir alguns erros que eu não tenha revisto. Estou começando amanhã a escrever a segunda parte, espero terminar logo ! Um abraço a vocês, amigos ! Paulo Opa -> Felipe, se voce quis dizer o AVR Simulator Ide, os programas que eu gerei no Bascom, que utilizam o Timer0, não conseguí fazer a simulação..... mas os que não envolveram interrupções do Timer, funcionaram direitinho !
  17. Opa ... parece que tem um cara dos ASM's "infiltrado" aqui no tópico !!!!! Poxa, Felipe, assim vai acabar a minha matéria por falta de alunos KKKKKKKK! Não vou discutir de novo Basic x ASM, mas acho que o que está acontecendo aqui é mais um daqueles problemas simples .... já que os Shifts e os Shifts-and-rotate são mais difíceis de serem feitos em Basic, porque não colocar essas funções que são muito fácilmente implementadas no Assembler ( creio que duas ou 3 instruções bastam, certo Mestre Felipe ? ) como sub-rotinas do Basic ?????? Já fiz isso com rotinasbem mais complexas, e funcionou direitinho, tinha 8 funções para conversar com uma maldita memória serial, que só mesmo em Assembler pois o I2C do PSI não era compatível com ela ! Às vezes, apenas o Basic não resolve, então, temos de "apelar" ( com todo o respeito, viu Felipe ! ) para o Assembler para ser usado pelo Basic ! Mudando de assunto um pouco .... agora que vou ficar doido de vez, acabei de publicar um tutorial semelhante para os AVR's usando o Bascom.... tirar dúvidas dos dois ao mesmo tempo vai ser fogo.... Pablors, A comunicação é do tipo I2C, mas existe um terceiro sinal, o Dlen, que voce vai ter de tratar fora do I2C.... o problema é que a Phillips é campeã de circuitos I2C que utilizam clock de baixíssima velocidade, e voce não consegue isto com o PSI.... O correto seria voce mesmo implementar o protocolo de baixa velocidade, em Basic mesmo, mas não é fácil, ok ? Paulo
  18. Pessoal, segue um novo tutorial, baseado na linguagem BASIC do Bascom, e no uso de programadores ICSP, para quem quiser usar os processadores AVR's em seus projetos. Como é a primeira versão, podem existir erros de escrita, ou até mesmo algum conceito que eu tenha entendido de uma maneira pode estar errado, mas basta me avisarem, que eu corrijo o tutorial, ok ? Os programas e circuitos do tutorial foram todos montados e testados. E gostaria de enviar um agradecimento ao nosso amigo SOSCHIP, pois ele, mais do que todos os outros deste Fórum, é quem mais batalhou para incentivar o uso dos AVR's, e até mesmo foi por indicação dele que eu iniciei a usar o programa Bascom em meus projetos. SOSCHIP, obrigado, meu amigo ! Segue o link para o tutorial : http://www.4shared.com/office/WHtIxI3t/TUTORIAL_PROGRAMAO_AVR_EM_BASI.html Paulo EDIT: Dúvidas sobre este Tutorial, Retire-as no tópico abaixo: http://forum.clubedohardware.com.br/tutorial-programacao-basic/790825
  19. Pessoal, segue um novo tutorial, baseado na linguagem BASIC do Bascom, e no uso de programadores ICSP, para quem quiser usar os processadores AVR's em seus projetos. Como é a primeira versão, podem existir erros de escrita, ou até mesmo algum conceito que eu tenha entendido de uma maneira pode estar errado, mas basta me avisarem, que eu corrijo o tutorial, ok ? Os programas e circuitos do tutorial foram todos montados e testados. E gostaria de enviar um agradecimento ao nosso amigo SOSCHIP, pois ele, mais do que todos os outros deste Fórum, é quem mais batalhou para incentivar o uso dos AVR's, e até mesmo foi por indicação dele que eu iniciei a usar o programa Bascom em meus projetos. SOSCHIP, obrigado, meu amigo ! Segue o link para o tutorial : http://www.4shared.com/file/251546552/110b26b/INTRODUO_AO_USO_DE_AVR_-_PARTE.html Paulo
  20. Tchecara, Coloca também o esquema eletrônico, fica complicado advinhar o hardware apenas pelo software ( :D:D ) ! Paulo
  21. Tchecara, Me parece que voce tem de ligar o sinal de clock gerado pelo seu programa no pino 12, e o dado a ser "shiftado" ( nossa...... ) ligue no pino 14. Se não funcionar, ligue também o pino 11 junto com o pino 12 ao sinal de clock. O datasheet me parece meio confuso sobre isso, mas uma dessas maneiras com certeza vai funcionar, ok ? Ah, pino 10 no +5V, e o pino 13 ao terra, senão nada vai funcionar.... Paulo
  22. Tchecara, Já que a sua matriz é 7 X 8, eu criaria uma tabela com os bytes equivalentes para cada símbolo. Para não ter muiiito trabalho, pode usar 7 bytes para armazenar o estado dos teus 56 leds, usando 7 diferentes chamadas para aquela famosa instrução LOOKUP() do Basic. Por exemplo, montar 7 tabelas tipo LOOKUP, sendo que cada uma delas devolve um byte ( 8 bits = 8 leds ) , chamar uma de cada vez em sequência e fazendo o shift register para deslocar até a posição correta, entendeu ? Fica simples dessa maneira. Isso é fácil se voce não quiser deslocar a letra ao longo da matriz. Se quiser deslocar a letra, tipo ela vai entrando pela esquerda e saindo pela direita, o correto é temporizar os shifts, para fazer o efeito. Vai dar um pouco mais de trabalho, mas o efeito fica muito bonito ! Agora, existem várias soluções de software para isso, se pegar 3 programadores diferentes para fazer o programa, com certeza vai ter 3 soluções diferentes, pois depende mesmo da criatividade de cada um. Manda bala e depois fala pro pessoal aqui, postando tanto o hardware como o software, para ajudar mais a quem está aprendendo, ok ? Um abraço ! Paulo
  23. Tchecara, Matou a questão ! Quando usamos simuladortes, tipo PSI, Proteus, ou qualquer outro semelhante, o que obteremos sempre será o funcionamento do hardware, mas nunca obteremos a VELOCIDADE REAL do processamento, entendeu ? Existe uma grande chance de voce montar o protótipo e ele funcionar certinho ! IAS, Gostei do seu programa hehehehehehh !!! Eu sou adepto das coisas que funcionam, não importa como ...... continuo fiel ao meu lema : NÃO IMPORTA A COR DO GATO, DESDE QUE COMA RATOS !!!!! Ou seja, o que importa são RESULTADOS ! Seja feio, deselegante, enorme, .... se funcionar direito tá aprovado ! Quanto à interface serial opto-isolada, fico muito contente que tenha funcionado e dado os resultados esperados. Ah, e quanto à montagens de matriz de Leds : Comprei uma revista Elektor nacional, um número especial sobre microcontroladores, tem um excelente projeto de um cubo de leds, com 125 ( 5 x 5 x 5 ) leds, usando um ATMEGA comum, e pelo esquema, nada impede de ser feito com um PIC 16F877A.... detalhe : sem nenhum shift-register .... Vale a pena darem uma olhada. E também tem um projeto muito legal de um Pendulo que se movimenta, recebendo impulsos e freadas de um microcontrolador, com apenas UMA só bobina que tanto serve de sensor como serve de impulsor..... o projeto é muito elegante, e vale a pena montar algo semelhante com um PIC 16F877A, usando o mesmo princípio, com certeza é algo que vai compensar o trabalho de software ! Um abraço a todos ! Paulo
  24. Pessoal, desculpem minha ausência, mas como apareceu uma chance legal de fazer uma pequena viagem, resolví aproveitar, e me desliguei por completo de tudo o que é Internet .... mas valeu a pena, estou com carga 100% ! Primeio, agradeço ao Felipe_Eletronic, valeu meu amigo, pelas dicas que voce tem dado ao pessoal ! Vou responder aos vários posts, um de cada vez. OILUJ, No tutorial tem um exemplo prontinho de como fazer a leitura e mostrar a tensão com uma casa decimal. O exemplo usa displays de 7 segmentos, mas adaptar para o LCD é muito mais fácil. Veja as dicas comentadas sobre a conversão de valores lidos pelo ADC e a maneira de calcular os valores decimais, pois lembre-se de que o PSI só trabalha com números INTEIROS, e o maior NÚMERO que ele pode trabalhar é 65535. Muitas vezes na simulação as contas funcionam direitinho, mas quando voce usa o código compilado, as coisas dão errado justamente por causa dos tamanhos dos números envolvidos nos cálculos. E quanto ao seu relógio, lembre-se do que eu falei para voce num post passado. Defina CERTINHO como voce quer que as teclas funcionem, bem detalhado, e a partir daí podemos te ajudar, ok ? IAS, Existem MUITOS exemplos de isolação ótica RS-232C na internet. Mas lembre-se de que a maioria não aceita comunicação em alta velocidade, tipo 4800 ou mais. Faça em 1200 Bauds que vai funcionar. Se eu não me engano, eu postei algo a respeito disso no Fórum geral. Agrício, Oi meu amigo, eu ainda não terminei a terceira parte simplesmente por falta de alguns potenciômetros digitais.... e como também estou terminando um tutorial semelhante para a linha da ATMEL ( AVR's ) usando o Bascom, ainda vai demorar um pouquinho para terminar, ok ? Quanto à sua pergunta sobre potenciômetros digitais, não tem nenhum segredo em programar eles, basta voce pegar o datasheet e ver quais são os comandos. A única dificuldade é o tipo de interface, que pode complicar um pouco. Se voce utilizar I2C, basta ver como eu programei o chip RTC no tutorial, em termos gerais é muito parecido. Ah, em tempo.... o procedimento não muda se voce usar oscilador interno ou externo, ok ? Mas recomendo que no caso de oscilador interno, nunca zere o valor do registro de calibração de fábrica, pois ele é usado para garantir alguma precisão do clock ( mesmo assim, não espere precisão melhor do que 5% ..... ) . James Freire e Carlosgn, Bem vindo ao fórum, pessoal, se vocês procurarem em sites do tipo 4SHARED vão encontrar as ferramentas completas ok ? Recomendo que leiam BASTANTE o tutorial, sem pular nenhuma parte, pois tem muitas dicas que são explicadas conforme os programas são apresentados, um de cada vez. No mais, um abraço para todos, e vamos em frente ! Paulo
  25. Tiagod, Eu faria tudo do zero, e o que o Tche falou é o mais correto, eu também tenho aqui Windows XP e Windows 7.... Crie uma partição com uns 20 Gb , por exemplo, e deixe o resto do hd sem criar nada. Aí, voce instala o Windows XP. Depois, peque o Windows 7, e na hora de instalar, crie uma nova partição no espaço vazio, e pronto, ao terminar voce terá o gerenciador de boot instalado. Toda vez que ligar, vai aparecer um menú com as duas instalações, voce escolhe qual vai rodar, ok ? Eu faço isso exatamente para garantir que alguns programas rodem sempre. Por exemplo, tenho alguns jogos que não rodam no Windows 7 de jeito nenhum..... Savant_rj, segue o código, modifiquei ele para poder aumentar e diminuir os brilhos através de 6 portas, e controla 3 leds, basta dar um rápido toque ao terra nos pinos de entrada e verá os brilhos aumentarem ou diminuírem. Ah, controla 16 níveis de brilho ok ? PROCESSADOR : ATMEGA8 LINGUAGEM : BASIC BASCOM Veja que o truque é feito na interrupção do Timer, ok ?Um abraço ! Paulo

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!