Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.

Pesquisar na Comunidade

Mostrando resultados para as tags ''PIC''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Categorias

  • Armazenamento
  • Áudio
  • Energia
  • Entrada
  • Feiras e Eventos
  • Gabinetes
  • Memória
  • Museu
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Rádio CdH
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Blog

Categorias

  • Armazenamento
  • Áudio
  • Câmeras
  • Computadores
  • Consoles
  • Eletrônicos
  • Energia
  • Entrada
  • Gabinetes
  • Impressão
  • Jogos
  • Memória
  • Placas-mãe
  • Portáteis
  • Processadores
  • Programas
  • Redes
  • Refrigeração
  • Smartphones
  • Tablets
  • Vídeo
  • Outros

Categorias

  • Livros disponíveis
  • Livros esgotados

Categorias

  • Cursos

Fóruns

  • Mensagens do Clube do Hardware
    • Regras gerais
    • Boletins do Clube do Hardware
    • Notícias da administração
  • Hardware
    • Recomendações de computadores
    • Placas de vídeo
    • Placas-mãe e chipsets
    • Processadores
    • Problemas de gargalo e desempenho
    • Memórias
    • Armazenamento
    • Refrigeração e superaquecimento
    • Fontes e energia
    • Gabinetes e casemods
    • Placas de som e áudio on-board
    • Periféricos
    • Mac
    • Overclock
    • Hardware - outros
  • Computação móvel
    • Notebooks
    • Tablets
    • Smartphones e apps
  • Redes e Internet
    • Redes e Internet
    • Hospedagem de sites e registro de domínios
  • Segurança da informação
    • Remoção de malware
    • Dúvidas sobre invasões e infecções
    • Programas de proteção
  • Programação e desenvolvimento
    • Java
    • C/C#/C++
    • Pascal/Delphi
    • .NET
    • Bancos de dados
    • Programação web
    • Programação - iniciantes
    • Programação de microcontroladores
    • Programação - outros
  • Software
    • Jogos
    • Pacotes de escritório
    • Computação distribuída (Folding@Home, Bitcoin etc.)
    • Virtualização
    • Design, animação e tratamento de imagens
    • Edição de áudio e vídeo
    • Programas
  • Sistemas Operacionais
    • Recomendação de sistemas operacionais
    • Windows
    • GNU/Linux, BSD, Unix-like e software livre
    • Mac OS
  • Eletrônicos
    • Equipamentos de som, home theaters e gravadores de mesa
    • Televisores e projetores
    • Câmeras e filmadoras
    • Players portáteis
    • Consoles (videogames)
    • GPS
    • Telefonia fixa
    • Eletrônica
    • Retrocomputação
  • Outros
    • Recomendações de serviços e lojas
    • Preços e promoções
    • Notícias
    • Bolsa de empregos, certificações e mercado de trabalho
    • "Causos"
    • Encontros de usuários
    • Feira do Rolo
  • Clube do Hardware
    • Comentários, elogios, críticas e sugestões sobre o Clube do Hardware
    • Comentários de artigos
    • Fórum para testes de funcionalidades

Categorias

  • Hardware
  • Redes
  • Eletrônica
  • Sistemas operacionais

Encontrado 45 registros

  1. Pessoal,este projeto esta me dando de inicio queda de cabelo,estou pensando em capturar o sinal do sensor hall e entroduzir na entrada AD do micro controlador , sendo este sinal capturado , a densidade de fluxo magnetico em (B) , o que falta agora é, como eu irei capturar a intensidade de campo magnetico em (H)?para programar a curva de magnetização BxH um é densidade é o outro é intensidade!
  2. PIC Automação com ESP 8266

    Olá! Eu programei um microcontrolador pic 16f628a pra receber comandos de um módulo Bluetooth hc 05, via tx rx, pra acionar 8 leds, com caracteres do alfabeto ex:'A' liga led 1 e 'a' desliga. Agora que substituir o módulo Bluetooth por um módulo Wifi ESP 01, pra receber comandos pela internet, via cloud mqtt por exemplo, e reenviar via tx e rx para o PIC, gostaria de usar a mesma programação q já está no micro controlador só programar o ESP 01 pra conversar com o PIC. Eis a questão como fazer isso? Existe muitos tutoriais na internet sobre automação com ESP 01, mas utilizando-sefos poucos pinos pinos do módulo ou com Arduino
  3. Olá pessoal. Estou com problemas para ler dados que são escritos numa eeprom externa. Utilizo o mikroc e para simular, utilizo o proteus. O pic é o 16F877A. Se alguém puder me ajudar, fico muito grato!! A seguir está o programa. unsigned char segundos = 0; unsigned char minutos = 0; unsigned char horas = 0; unsigned long int i = 0; unsigned char count = 0; unsigned char recebe; unsigned long contagem = 0; unsigned long int j; void interrupt() { //if(INTCON.TMR0IF) { contagem++; //para cada interrpção do TMR0 incrementa a variável contagem TMR0 = 0; INTCON.TMR0IF = 0; //limpa o overflow. } } void main(){ { TRISB0_bit = 1; TRISD = 0x00; PORTD = 0b00000000; INTCON.GIE = 1; //habilita interrupção global; INTCON.PEIE = 1; //habilita interrupção dos perifericos; INTCON.TMR0IE = 1; //habilita interrupção do TMR0; TMR0 = 0; // TIMER0 inicia com o valor 0; OPTION_REG = 0b10000001; // Modo Temporizador, prescaler 1:4; I2C1_Init(100000); UART1_Init(73); delay_ms(100); TXSTA.CSRC = 0; TXSTA.TX9 = 0; TXSTA.TXEN = 1; TXSTA.SYNC = 0; TXSTA.BRGH = 0; TXSTA.TRMT = 0; TXSTA.TX9D = 0; RCSTA.SPEN = 1; RCSTA.RX9 = 0; RCSTA.SREN = 0; RCSTA.CREN = 1; RCSTA.ADDEN = 0; RCSTA.FERR = 0; RCSTA.OERR = 0; RCSTA.RX9D = 0; //Configuração da velocidade de transmissão SPBRG = 6; while(1){ if(Button(&PORTB, 0, 0, 1)){ //Quando aperto o botão, um contador é incrementado count++; PORTD.RD7 = 1; delay_ms(200); } else PORTD.RD7 = 0; if(contagem == 40) //quando a contagem = 40, tempo = 40 * 0,125s = 5s { I2C1_Start(); //Essa parte recebe as horas, minutos e segundos do RTC I2C1_Wr(11010000); I2C1_Wr(0x00); I2C1_Repeated_Start(); I2C1_Wr(11010001); segundos = I2C1_Rd(1); minutos = I2C1_Rd(1); horas = I2C1_Rd(0); I2C1_Stop(); delay_ms(20); I2C1_Start(); //Nesta parte, escrevo os dados de segundos na eeprom externa I2C1_Wr(0b10100000); I2C1_Wr(i); I2C1_Wr(segundos); //delay_ms(20); I2C1_Stop(); I2C1_Start(); //Aqui escrevo os minutos na eeprom I2C1_Wr(0b10100000); I2C1_Wr(i+1); I2C1_Wr(minutos); //delay_ms(20); I2C1_Stop(); I2C1_Start(); //Aqui escrevo os segundos I2C1_Wr(0b10100000); I2C1_Wr(i+2); I2C1_Wr(horas); //delay_ms(20); I2C1_Stop(); I2C1_Start(); //Aqui escrevo a quantidade de vezes que eu apertei o botão I2C1_Wr(0b10100000); I2C1_Wr(i+3); I2C1_Wr(count); //delay_ms(20); I2C1_Stop(); i=i++; count = 0; contagem = 0; } if(Button(&PORTC, 0, 0, 1)){ //Quando aperto esse botão, leio as informações da eeprom e envio via serial for(j=0;j<4;j++){ delay_ms(20); I2C1_Init(100000); I2C1_Start(); I2C1_Wr(0b10100000); I2C1_Wr(j); I2C1_Repeated_Start(); I2C1_Wr(0b10100001); recebe = I2C1_Rd(0); delay_ms(20); I2C1_Stop(); UART1_Write(recebe); TXREG = recebe; while(PIR1.TXIF == 0); PIR1.TXIF = 0; delay_ms(20); } } } } }
  4. Eu estou com um módulo Wifi esp 01, mas estou querendo utilizar ele junto com um microcontrolador pic 16f628a que já está programado para receber comandos pra acender alguns leds de um módulo Bluetooth hc 05 que está funcionando, mas quero substituir pelo esp 01para receber comandos pela Internet via cloud mqtt ou outra forma. A pergunta é como faço isso? Fazer o esp 8266 receber comando e enviar para o pic via rx e tx?
  5. Olá a todos, Estou a seguir esta playlist: E pretendo fazer com que o PORTB do pic16f690 altere entre 1 e 15 valores, para assim acender os leds. Como ele faz no vídeo. Acontece que não consegui colocar o PORTB a fazer isso. Por isso comecei a testar algumas soluções à medida que fui pesquisando na net. Para já tenho este trecho de código: void main() { ANSEL = 0; ANSELH = 0; TRISB = 0b00000000; PORTB = 0; TRISC = 0b00000000; PORTC = 0b00000000; while(1){ // Pinos do PortB //PORTB++; // PORTB = PORTB + 1; - Quanto todos tiverem em 1 volta a ser 0; PORTB.RB7 = 1; delay_ms(1000); PORTB.RB7 = 0; /* RB4_bit = 1; delay_ms(2000); RB4_bit = 0; */ // Pinos do PortC RC0_bit = 1; delay_ms(1000); RC0_bit = 0; delay_ms(1000); PORTC++; delay_ms(5000); } } Estive a ler no datasheet sobre o ANSEL e ANSELH mas não percebi bem. Segundo alguns posts que encontrei na net, em inglês, devo configurar o ANSEL e ANSELH porque estou a lidar com um port onde tenho saída ou entradas analógicas. Para que consiga trabalhar com esses pinos em modo digital tenho que configurar estas duas configurações. Resumindo, estou à deriva nesta parte da matéria. Todas as luzes serão bem vindas. Por onde aconselham recomeçar? Obrigado
  6. Boa tarde, estou utilizando as três interrupções externas de um pic 18F4550 em um projeto e estou tendo problemas com a INT2. Percebi que o PIC estava detectando interrupções externas sem que as mesmas existissem. Com o osciloscópio percebi que no pino RB2 (o mesmo da INT2) estava apresentando um sinal com forma de onda alternada de baixa amplitude, uns 500 mV. A partir daí passei a acreditar que este sinal "saindo" deste pino estava causando a detecção de borda indevida. Como estou utilizando um kit didático de uma empresa que usa um bootloader para fazer a gravação via USB, pensei que o bootloader poderia estar causando o problema. Então comprei um pickit 3 para fazer a gravação e o problema persistiu. *** Aproveitando a oportunidade, não tenho muita experiencia com gravadoras, mas sei que o processo de gravação é bem crítico e também tive problemas com isso. Quando gravo um programa simples, como piscar um led, funciona perfeitamente, mas quando gravo meu programa, que é bem mais complexo, muitas vezes o microcontrolador não funciona, e em outras funciona até eu ligar a parte analógica do circuito, ai ele trava ou funciona de forma estranha.
  7. preciso de contador up down, um click sobe e outro click desce contagem, rele que ativa quando sobe, e desativa quando desce contagem, e que armazena a contagem na eeprom de um pic 16f628 apos desligar ou falta de energia diagrama e hex, alguem se habilita? aguardo!
  8. Olá, a todos! Estou com duas placas desse CI LC7932 que já é obsoleto da Sanyo. Porém esse CI possui muitos recursos interessantes. Eu gostaria que alguém conseguisse fazer uma programação para PIC usando esse CI. Deixo em baixo todos os arquivos de projetos que encontrei usando esse CI e também um vídeo que fiz demonstrando o seu funcionamento individual. Lembrando que eles podem trabalhar em série também. Vídeo: Todos os arquivos referentes ao LC7932: Sei apenas o básico de programação de MCUs. Gostaria de aprender multiplexação com esses CIs. Abraços Equipe Meca Insigths
  9. Olá, gostaria de saber como configurar o Watchdog do pic 18F4550 no CCS, preciso que o watchdog funcione em certo tempo enquanto robô esteja andando, caso ele passar o tempo, e o encoder não tiver contado o numero de voltas, ele para, da um reset e executa o resto do programa e possa repetir isso muitas vezes dentro da programação. desde já agradeço.
  10. PIC Condição verdadeira do IF em C para PIC.

    A função if a seguir: if(data & 0b0000001) clear_bit(portb,3); else set_bit(portb,3); Na condição (data & 0b0000001) ela verdadeira quando data é igual ao byte 0b0000001?
  11. Boa noite amigos faço projetos de eletrônica mas ainda da forma convencional e cada vez mais Vejo a grande necessidade de utilizar microcontroladores eu tentei estudar a programação mas confesso que eu não tenho cabeça para essas coisas então gostaria de saber se alguém poderia oferecer esse serviço. eu me cadastrei neste site para ver se consigo resolver o meu problema não sei se posso colocar algum contato de qualquer forma gostaria que vocês me retornassem por aqui mesmo no momento
  12. Estou com um problema que está dificultando minha vida, até porque estou precisando depurar um firmware que controla um enlace de rádio. Utilizo o PICkit3 em conjunto com o MPLAB 8.42 e compilador CCS. Com esta combinação consigo depurar sem dificuldades qualquer PIC16 e até mesmo um PIC18F26J50, assim como acionar o PICkit como programador em qualquer situação. Minha dificuldade atual é conseguir ativar a depuração com o PIC18F14K50, até com ele o modo programador funciona sem restrição. Vamos aos fatos. Iniciando o depurador recebo a seguinte mensagem na janela output do MPLAB, mesmo alimentando o circuito com 3.3V, embora não utilize o tal AC164114 a que se refere a mensagem: To prevent device damage, the Programming Adapter product (AC164114) is mandatory when using any Microchip Programmer with PIC18F13K50 or PIC18F14K50 parts (except the PIC18F14K50 Processor Extension Pak emulation header) and the target Vdd is above 3.6 volts. Target Device ID (00004760) does not match expected Device ID (000047a0). Após compilar e gravar o hexa, recebo o seguinte erro ao tentar debugar: Running... PK3Err0040: The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding. Segundo o datasheet (http://ww1.microchip.com/downloads/en/DeviceDoc/40001350F.pdf), no registro 24-6 da página 286, o fuse BKBUG deve estar zerado (o que não é o padrão), o que talvez não esteja acontecendo, mas não estou encontrando caminho para me certificar de que ele esteja em 0. Mesmo procurando como utilizá-lo via #FUSES não encontrei uma saída. Pelo que já encontrei, é uma característica que ocorre com PIC18's de até 20 pinos. Agradeço a ajuda de vocês para conseguir habilitar essa depuração.
  13. Boa Noite, Estou fazendo um trabalho para meu curso, presciso configurar o tempo correto de mudança da luz do semáforo. Fiz um arquivo no protheus para usar o codigo mas o tempo do PIC nao bate. Detalhe tenho que fazer sem usar a Variavel __Delay_ms tem como configurar o Clock do Pic para um valor fixo, por exemplo 8Mhz?? Obrigado desde já. * File: semaforo.c #pragma config PBADEN = OFF // RB0:RB4 I/O Digital #pragma config OSC = HS #pragma config WDT = OFF // Watchdog Timer disable #pragma config LVP = OFF // ICSP. Low Power Programing disable #pragma config DEBUG = OFF #include <xc.h> void TEMPO (unsigned short long T,unsigned short long T2){ T2 = 0; while (T2 < T){ T2++; } } void main (void){ TRISD = 0b00000000; // configurado todas portas como saidas int x; x=2; while (x==2){ RD2 = 0; //Acende Verde A RD3 = 0; //Acende Vermelho B TEMPO (200000,0); //20s RD2 = 1; //Apaga Verde A RD1 = 0; //Acende Amarelo A TEMPO (50000,0); //5s RD1 = 1; //Apaga Amarrelo A RD0 = 0; //Acende Vermelho A TEMPO (30000,0); //3s RD3 = 1; //Apaga Vermelho B RD5 = 0; //Acende Verde B TEMPO (100000,0); //10s RD5 = 1; //Apaga Verde B RD4 = 0; //Acende Amarelo B TEMPO (50000,0); //5s RD4 = 1; //Apaga Amarelo B RD3 = 0; //Acende Vermelho B TEMPO (30000,0); //3 RD0 = 1; //Apaga Vermelho A } } Semafaro.rar
  14. Boa Noite, Estou fazendo um trabalho para meu curso, presciso configurar o tempo correto de mudança da luz do semáforo. Fiz um arquivo no protheus para usar o codigo mas o tempo do PIC nao bate. Detalhe tenho que fazer sem usar a Variavel __Delay_ms tem como configurar o Clock do Pic para um valor fixo, por exemplo 8Mhz?? Obrigado desde já. * File: semaforo.c #pragma config PBADEN = OFF // RB0:RB4 I/O Digital #pragma config OSC = HS #pragma config WDT = OFF // Watchdog Timer disable #pragma config LVP = OFF // ICSP. Low Power Programing disable #pragma config DEBUG = OFF #include <xc.h> void TEMPO (unsigned short long T,unsigned short long T2){ T2 = 0; while (T2 < T){ T2++; } } void main (void){ TRISD = 0b00000000; // configurado todas portas como saidas int x; x=2; while (x==2){ RD2 = 0; //Acende Verde A RD3 = 0; //Acende Vermelho B TEMPO (200000,0); //20s RD2 = 1; //Apaga Verde A RD1 = 0; //Acende Amarelo A TEMPO (50000,0); //5s RD1 = 1; //Apaga Amarrelo A RD0 = 0; //Acende Vermelho A TEMPO (30000,0); //3s RD3 = 1; //Apaga Vermelho B RD5 = 0; //Acende Verde B TEMPO (100000,0); //10s RD5 = 1; //Apaga Verde B RD4 = 0; //Acende Amarelo B TEMPO (50000,0); //5s RD4 = 1; //Apaga Amarelo B RD3 = 0; //Acende Vermelho B TEMPO (30000,0); //3 RD0 = 1; //Apaga Vermelho A } } Semafaro.rar
  15. Boa Noite, Estou fazendo um trabalho para meu curso, presciso configurar o tempo correto de mudança da luz do semáforo. Fiz um arquivo no protheus para usar o codigo mas o tempo do PIC nao bate. Detalhe tenho que fazer sem usar a Variavel __Delay_ms tem como configurar o Clock do Pic para um valor fixo, por exemplo 8Mhz?? Obrigado desde já. * File: semaforo.c #pragma config PBADEN = OFF // RB0:RB4 I/O Digital #pragma config OSC = HS #pragma config WDT = OFF // Watchdog Timer disable #pragma config LVP = OFF // ICSP. Low Power Programing disable #pragma config DEBUG = OFF #include <xc.h> void TEMPO (unsigned short long T,unsigned short long T2){ T2 = 0; while (T2 < T){ T2++; } } void main (void){ TRISD = 0b00000000; // configurado todas portas como saidas int x; x=2; while (x==2){ RD2 = 0; //Acende Verde A RD3 = 0; //Acende Vermelho B TEMPO (200000,0); //20s RD2 = 1; //Apaga Verde A RD1 = 0; //Acende Amarelo A TEMPO (50000,0); //5s RD1 = 1; //Apaga Amarrelo A RD0 = 0; //Acende Vermelho A TEMPO (30000,0); //3s RD3 = 1; //Apaga Vermelho B RD5 = 0; //Acende Verde B TEMPO (100000,0); //10s RD5 = 1; //Apaga Verde B RD4 = 0; //Acende Amarelo B TEMPO (50000,0); //5s RD4 = 1; //Apaga Amarelo B RD3 = 0; //Acende Vermelho B TEMPO (30000,0); //3 RD0 = 1; //Apaga Vermelho A } } Semafaro.rar
  16. Boa tarde. Estou fazendo um projeto de fim de ano para o curso de Eletrônica, que é basicamente um portão microcontrolado pelo PIC16F883 juntamente com Bluetooth, onde o projeto se compoe por um sensor infravermelho de segurança, porém não estou conseguindo incluir na programação do MikroC o bluetooth, estou com muita dificuldade, se alguém puder me ajudar fico muito agradecido.
  17. Boa Tarde. Tenho um exercício da escola onde tenho que girar um servo motor ligado na porta RB7 do pic através de um potenciômetro conectado na porta AN0. Eu consigo fazer o pic ler o potenciômetro mas não consigo pegar o valor e setar ele como o valor de ciclo pro servo. Alguem pode me ajudar?
  18. Bom dia gente ! Tudo bem com vocês? Eu preciso de uma forcinha com um projeto, podem me ajudar? Por favor ! Seguinte, eu tenho que fazer um projeto de um elevador, há dois andares, dois botões e dois sensores. As condições estão mostradas nas figuras, eu só preciso escrever um código em Assembly para esse projeto, mas não sei como começar, estou apenas iniciando meus estudos em Assembly. Alguém pode me dar uma dica? Algum exemplo? Ou algo do tipo?
  19. Bom dia pessoal. Estou tentando debugar um programa desenvolvido no compilador mikroc no Proteus 8 para um PIC12F615, utilizando o arquivo .cof gerado pelo compilador mikroc. Porém quando tento fazer a debugação no Proteus aparece uma janela com uma mensagem de erro conforme arquivo em anexo. Alguém poderia me orientar a resolver o problema? Grato
  20. Estou com dificuldade para colocar essa linha de código no proteus ela um pouco extensa e uma maquina de suco onde contém três suco com sabores diferentes onde contém limpeza automática da máquina após a entrada de cada suco, sendo que cada suco deve conter água gelada e o pó para preparo, com botão para escolha com ou sem açucar e um indicador de falta de insumos, indicador de pronto, sensor de copo e sensor de temperatura sendo sensores digitais. Como o código e um pouco extenso vou enviar o link do arquivo .asm: https://www.mediafire.com/file/9aimz6spycx8nvx/maquina_de_suco (1).asm Eu só preciso da imagem no proteus não precisa o arquivo para download caso queira deixa o download tbem não tem problema.
  21. Olá pessoal, meu professor passou a seguinte atividade, e estou com dúvida em iniciar: Elabore um programa a ser executado em um PIC16F628A, considerando que: • No PORTB do microcontrolador estão ligados dois Decodificadores BCD para 7 segmentos. De forma que os pinos RB3 até RB0 controlam um Display que exibe um dígito menos significativo, enquanto os pinos RB7 a RB4 controlam o Display que exibe o dígito mais significativo; • No PORTA do microcontrolador estão ligadas duas chaves nos pinos RA0 e RA2. A chave do pino RA0 é do tipo “contato momentâneo” e controla a função de RESET. A chave conectada ao pino RA2 é do tipo “duas posições” e controla a função START/STOP do sistema; O Sistema deve implementar um contador hexadecimal (00 a FFh) com os requisitos: • Tal contador conta de forma crescente e contínua; • A chave START/STOP comanda a parada e início de contagem; • A chave RESET zera o valor de contagem e o mantem zerado enquanto pressionada; • A chave RESET tem prioridade sobre a START/STOP;
  22. Estou querendo utilizar o modulo comparador do PIC16F630. Tendo uma tensão de referência externa (RA1) e uma variante em RA2. Quero ler o resultado deste sinal em meu programa, sem utilizar interrupção. Estou programando em C, utilizando Mplab. Não estou conseguindo configurar. Alguém pode me ajudar? Obrigado!
  23. boom galera vocês tem me ajudado muito então muito obrigado mesmo. mais me embolei em outra programação estou querendo fazer um misturador mais no caso com "LEDS" então eu queria aprender a fazer um botão desligar o LED A e ligar o LEB B e nisso no display o LED A estava on ele ficaria off e o LED B on no display. RESUMINDO : Aperto o botão RB7 que no caso seria "Válvula 1 " ai liga o "LED A" e aparece no display "VL1 ON" Dps de apertado , aperto o botão RB6 "Válvula 2 " ai liga o "LED B" e desliga o "LED A " E aparece no display . "VL1 OFF" e "VL2 ON" simples. mais no meu caso isso ta difícil. a minha programação \/ boom ai esta ! se alguém conseguir me ajudar estarei muito agradecido vllw
  24. Pessoal, estou com um problema na programação de um dispositivo que detecta quedas de tensão da rede acima de 4%. Eu preciso que a programação calcule as quedas de 4% a 7%, ligando um led verde se está abaixo de 4%, um led amarelo se está entre 4% e 7% e um led vermelho acima de 7%. Segue abaixo o que consegui fazer até agora. //armazenamento das tensões int tensao1 = 0x00; int tensao2 = 0x00; // declara as variáveis int a, b, x, y; void volts() { if (tensao1==0)//tensao1 igual a zero { tensao1 = ADC_Read(0); } //Lê canal AN0 apenas uma vez e transfere seu valor para tensao1 else if (tensão==1)//tensão1 diferente de 0 { tensao2 = ADC_Read (0);//Lê o canal AN0 delay_ms(100);//atualiza a cada 100ms } }//end função volts void main() { ANSEL = 0x01;// AN0 como entrada analogica ADCON0 = 0x01;// seleciona a entrada AN0 ADCON1 = 0x0E; CMCON0 = 0x07;//desliga os comparadores //configura PORTA TRISA = 0xFF;// AN0 entrada PORTA = 0x00;// PORTA em nvl baixo //configura PORTC TRISC = 0xFF;// PORTC como saída PORTC = 0x00;// PORTC em nvl baixo a = (tensao1*(4/100));//4% da tensão nominal b = (tensao1*(7/100));//7% da tensão nominal x = tensao1-a;//tensão nominal-4% y = tensao1-b;//tensão nominal-7% if (tensao2>x)// se a queda estiver menor que 4%, liga o led verde { RA1_bit = 1;//led verde ligado RA2_bit = 0;//led amarelo desligado RC0_bit = 0;//interrupção desligada } else if (tensao2>y && tensao2<=x)// se a queda estiver entre 4% e 7%, liga o led amarelo { RA2_bit = 1;//led amarelo ligado RA1_bit = 0;//led verde desligado RC0_bit = 0;//interrupção desligada } else (tensao2<y);// se a queda for maior que 7%, liga o circuito de interrupção e o led vermelho { RC0_bit = 0;//interrupção ligada RA1_bit = 0;//led verde desligado RA2_bit = 0;//led amarelo desligado } }// end função principal
  25. Olá, pessoal! Estou com um problema e quero a ajuda de vocês! APRESENTAÇÃO Estou projetando uma central de alarme com o PIC16f887. O funcionamento é relativamente simples: Através de um sensor de presença uma sirene é acionada em 10 segundos caso o usuário não digite a senha correta em um teclado numérico. MATERIAIS PIC16f887 Display LCD 16x2 Teclado Númerico Sensor de Presença Sirene REQUISITOS Linguagem: Assembly (asm) PROBLEMA Preciso exibir algumas mensagens no display LCD como por exemplo: "Digite a senha", "Senha incorreta", "Alarme desativado"... Mas não faço ideia de como trabalhar com um display utilizando a linguagem Assembly Em C existem algumas bibliotecas que facilitam, mas em assembly complica. Se alguém puder me ajudar ficaria muito grato! Agradeço desde já!

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×