Ir ao conteúdo
  • Cadastre-se

Raphael Nazário

Membro Júnior
  • Posts

    7
  • Cadastrado em

  • Última visita

Reputação

0
  1. Pois é Isrick, to tentando de tudo aqui, não tá indo. Mas obrigado de qualquer forma.
  2. Olá pessoal, estou tentando comunicar o blender com o arduino, via python. o programa da erro na hora de importar a biblioteca bge --->import bge Não encontrei a solução. Podem me ajudar? Estou seguindo esse tutorial: https://blenderartists.org/forum/showthread.php?236135-Arduino-controls-Blender-object-in-real-time
  3. Bommu, muito obrigado pela ajuda e por ter achado a explicação! Muito obrigado mesmo. Então é isso mesmo, tenho realmente que aterrar o pino 10! Independente do proteus estar funcionando ou não. Novamente, Grato pela Fineza. Abç adicionado 1 minuto depois Valeu mesmo!
  4. Coloquei como saída, apanas o RB0 como entrada. Lembrando que no simulado está correto. Apenas no Físico que tenho que aterrar o Rb4 para que funcione. segue o código completo: int i=0,j=0,k=0, l=0; // Variáveis incrementais dos contadores int vetor[10]; // Declaração do vetor que armazena a sequencia das entradas void temp1() { contagem = 0; while (contagem <= 1000) { } } void temp2() { contagem = 0; while (contagem <= 500) { } } void limpavetor() { i=0; j=0; k=0; l=0; for (l=0;l<=9;l++) { vetor[l] = 0; } } void interrupt() // Função de interrupção { if(INTCON.TMR0IF ==1) { contagem++; //para cada interrpção do TMR0 incrementa a variável contagem TMR0 = 0; INTCON.TMR0IF = 0; //limpa o overflow. } if(INTCON.INTF == 1) // Verificação de nível lógico alto da porta RB0(flag INTF) { limpavetor(); portb.rb6 = 1; delay_ms(1000); portb.rb6 = 0; INTCON.INTF = 0; } } void record() { limpavetor(); while (porta.ra4 != 1) { if(porta.RA1== 1 ) { while(porta.RA1==1) { } vetor= 10; i=i+1; temp2(); //delay_ms(500); } if(porta.RA2== 1 ) { while(porta.RA2 == 1) { } vetor= 20; i=i+1; temp2(); //delay_ms(500); } if(porta.RA3 == 1) { while(porta.RA3 == 1) { } vetor=30; i=i+1; temp2(); //delay_ms(500); } } } void play() { portb.rb5 = 1; temp1(); portb.rb5=0; temp1(); for(j = 0;j <= 9;j++) { if(vetor[j] == 10) { portb.rb1=1; temp1(); portb.rb1=0; temp1(); } if(vetor[j] == 20) { portb.rb2=1; temp1(); portb.rb2=0; temp1(); } if(vetor[j] == 30) { portb.rb3=1; temp1(); portb.rb3=0; temp1(); } } limpavetor(); } void main() { TRISA= 1; PORTA=0; TRISB = 0B00000001; PORTB = 0x00; CMCON=7; //comparadores Desativados INTCON.GIE = 1; INTCON.PEIE = 1; INTCON.INTE = 1; INTCON.TMR0IE = 1; OPTION_REG.INTEDG = 1; OPTION_REG = 0b10000001; TMR0 = 0; while(1) { record(); play(); } }
  5. Bom, no proteus tá de acordo, porém no físico aterrei o pino 10 (RB4), para que funcionasse. Gostaria de ver o código completo ?
  6. Boa noite a todos. Estou realizando um projeto com o pic16f628a e na simulação (no proteus) funciona de acordo com o esperado. Porém, ao montar o circuito físico, notei que a porta 10 do pic precisou ser aterrada para que funcionasse de acordo com o esperado. Não sei explicar o porque desta situação. Alguém pode me ajudar? Desde já sou grato! Peço perdão pela desorganização, ainda estou comentando o código. Abraços! Segue a função principal: void main() { TRISA= 1; PORTA=0; TRISB = 0B00000001; PORTB = 0x00; CMCON=7; //comparadores Desativados INTCON.GIE = 1; INTCON.PEIE = 1; INTCON.INTE = 1; INTCON.TMR0IE = 1; OPTION_REG.INTEDG = 1; OPTION_REG = 0b10000001; TMR0 = 0; while(1) { record(); play(); } }

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...