Wagner, antes de mais quero agradecer muito todo o tempo que dedica ao ensino da electrónica. Comecei á pouco a estudar através dos seus videos a programação PIC. Comecei já a trabalhar num projecto próprio com PIC. Não consegui numa 1ª fase ligar um LCD 20x4 ao PORTA do PIC16F877A. Desconhecendo se já terá tido o mesmo problema ou não, resolvi partilhar com todos. Descobri que era o pino RA4 do uC que inviabilizava o funcionamento. Fui ao datasheet e verifiquei que este pino quando configurado como saida funciona com "Open Drain". Logo coloquei uma resistência de pull-up e o circuito passou a funcionar de imediato. Espero que não se importe de ter partilhado esta aventura com a sua audiência. Cumprimentos a todos, Rui Monteiro Portugal
Incrível...esse vídeo publicado a tantos anos e continua tão atual. Explicação e didática excelente tanto da parte eletrônica quanto da parte de software, fica fácil aprender assim...só agradecimento por um conteúdo assim...
Faço Eng. Elétrica e uma das disciplinas utilizamos PIC para criar alguns projetos, mas nenhum professor foi capaz de ensinar o que você ensinou em 20min de aula. Parabéns, me tornei um inscrito.
Hélvio Albuquerque , valeu o elogio, muito obrigado! Passe a dica do canal com todos seus colegas e amigos para nos ajudar a crescer e continuar com o trabalho! Seja bem-vindo ao WR Kits Channel!
Parabéns Wagner pelos videos, simplesmente ótimos, consegui fazer com a sua ajuda, o que não tenho conseguido fazer em sala de aula, muito dinâmica a forma de explicar, continue com seu trabalho, Obrigado tenha uma boa noite!!
renato cintra , você pode consultar o datasheet do LCD e efetuar sua inicialização manualmente, aplicando a sequência de bits sugerida para o pino Enable, RS, e os 4 bits de dados.
Wagner sensacional suas aulas. Nunca mexi com pic nem programação , mais vendo seus videos deu vontade. Parabéns!!! Poderia fazer um video para uma fonte de bancada de até 5a de corrente Tensão e corrente reguladas. Michel Crespo
censuratube , obrigado Michel! O mundo dos microcontroladores PIC é fascinante, seja bem-vindo! Pretendemos fazer o projeto de uma fonte semi profissional em breve aqui no canal, continue nos acompanhando.
Wagner muito obrigado por compartilhar seu conhecimento conosco. Gostaria se possível de sua ajuda para o seguinte: no pic16f877a quando conecto RS e EN nos pinos RE0 e RE1 respectivamente, o display não funciona (d4..d7 do display ligados aos pinos d4...d7 do pic). Os sinais no scope ficam semelhantes. No compilador CCS funciona normalmente com essa configuração. Se alguém souber como resolver isso, por gentileza responda esse comentário. Wlw!
Oi sr. Wagner, como faço pra mostrar uma variável negativa no display, uma signed. Poderia me dar uma dica, estou fazendo um projeto com ntc, e quando o valor é negativo aparece uns caracteres indesejados.
Parabéns e obrigado pelo conteúdo de qualidade! Eu queria saber se o LCD só funciona no portb, porque quando utilizo o porta por exemplo, ele não funciona mesmo eu configurando todos os parametros!! Eu gostaria de usar o rb0 pra interrup. externa e mostrar dados no lcd pelo porta.
+Valter Erreira , que bom que entendeu! Muito obrigado! Continue nos acompanhando e passe a dica do canal para todos seus amigos para nos ajudar a crescer e continuar com este projeto!
Ótima aula, mas estou tendo um problema, está igual ao seu (segui todos passos) mas estou tendo display não escreve, porque está acontecendo isto? A programação, componentes são os mesmo.
Ola Wagner, muito bom video, porem segue uma duvida. Caso eu queira trabalhar com mais de um Display LCD ( Hora escrevo em um Display, Hora em outro), como faço para tornar essa configuração do pino ES maleável, que hora o pino ES seja o pino RB0 e hora seja RB1 por exemplo. Tenho um projeto que necessitaria fazer a escolha do display que eu queira escrever. Há a possibilidade de fazer isso?
Bom dia, Gostaria de tirar uma dúvida se for possível, é normal uma função void interferir em outra função void, quando é chamado um void não saímos completamente de outro void. Agradeço a atenção. Wanderson
Wagner, boa noite! Gostaria de indicar a você, que abordasse em uma série nova de videos aulas, a IDE da microchip MPLAB X com o compilador XC8, exemplo: Tutorial - Hello World no LCD 16x2 em um PIC18
Amigo gostaria de saber qual o comando para eu mudar o que esta escrito no display com um pulso (botão).. apenas muda a escrita ao acionar um botão. . Obrigado.. muito boa as aulas.
Bom dia gustavo hiroki Gb070410 ! Obrigado! É uma ótima pergunta. Para mudar o que está escrito no display com um pressionar de botão basta escrever um laço if. Um exemplo: if(botao == 0x00) { Lcd_Out(1,1,"Botao pressionado"); delay_ms(100); } else { Lcd_Out(1,1,"Nenhum botao pressionado"); delay_ms(100); } Mas de qualquer forma você me deu uma excelente ideia. Vou publicar em muito breve uma fast lesson sobre isso. Continue acompanhando o canal. abraço
amigo estou iniciando os estudos mas estou seguindo seu exemplo mas na parte lcd_Init () da erro e nao consido passar daqui mando colpilar e apresenta este erro fiz igual o de voce teria como me ajudar obrigadp.
Ao testar no proteus a tela fica acesa mas não aparece nada mas aparece a seguinte mensagem no proteus ," hd44780 controller receives data while busy. lcd" usei o código que você me passou. Tem alguma solução?
wagner, estou usando o pic16f873a e se eu faço o que foi ensinado acima,porem, usando as saídas para o lcd do PORTA ele não funciona, só funciona se usar o PORTB, sabe me dizer o pq?? ahh e adoro as aulas, valeu estou aprendendo muito.
vinicius Assis , tem que configurar os registradores , pois no PORTA estão os módulos ADC e comparadores. Confira em nosso curso de PIC: ua-cam.com/play/PLZ8dBTV2_5HQTv6DRKZTp9L0iRReXis0q.html Obrigado pelos elogios!
Wagner, estou utilizando um display 20x4 e quando eu ligo só aparece uns quadrados e não executa o código do PIC estou utilizando um trimpot de 10k no pino de contraste e mesmo assim não aparece o programa. No proteus ele funciona direitinho , mas na prática não consigo ver os caracteres do LCD. Eu vi que no CCS vc tem que dar uns comandos via software para ele inicializar direito. No Mikro C é só usar a biblioteca do LCD?
Montei um programa de cronometro, que funcionou perfeitamente no proteus utilizando o 16F628A e oscilador interno com freq.= 4M., mclr desabilitado Na prática ,só apareceu o display iluminado sem os caracteres. Se o programa roda no proteus, deve atuar tb no mundo real. Utilizei o display 16x2 e o compilador foi o mikro c pro. Voce no seu teste utiliza um cristal de 4M.,apesar deste PIC possuir já um oscilador interno. Isto é fundamental para que o display funcione?
Saudações Wagner, como faço para concatenar strings no MikroC? Tentei o "+" e o "&" e não deram certo, exemplo:exibir no display 16x2 o conteúdo de duas variáveis: txt1 e txt2, tentei Lcd_Out (2,1, txt1 + txt2); e Lcd_Out (2,1, txt1 & txt2); e não deu certo, poderia ajudar por favor?
oi, tudo bem? estou tendo problema para enviar uma mensagem para um lcd 16x02 usando um pic 16f628a, queria saber se é porque estou usando o oscilador interno e masterclear desabilitado, ao tentar gravar o pic o gravador k150 dá uma mensagem falando good e bad e acho que refere ao oscilador. me dá umas dica para í para solucionar esse problema.
ola, boa tarde. segui todos os procedimentos, aprendi bastante coisa nessa vídeo aula, porem ao simular no ISIS não simula, aparece dois erros nos quais não consegui solucionar. (( NO POWER SUPPLY SPECIFIED FOR NET 4 IN POWER RAIL CONFIGURATION)) E (( SIMULATION FAILED DUE NETLIST COMPILER ERROR(S). poderima me ajudar? grato!
WR, fiz o projeto igual ao seu, o circuito no proteus e tambem o codigo fonte no mikroc, compila direitinho, so que na hora de funcionar no proteus; dar centenas de erro, relacionado ao lcd , chega a fechar o isis, vc sabe o que esta acontecendo? valeu muito obrigado ,excelente trabalho esse de fazer essas aulas ,desde ja agradeço...
Sim é o 8, e eu estou usando o windows 10 já atualizado e não estou usando PC mais sim um notebook; será que pode ser esse o motivo de gerar tantos erros na hora de simular no isis?
Wagner estou tentando configurar os pinos RE0 e RE2 do PIC 16F877A, para fazer comunicação com o LCD e nada acontece. (sbit LCD_RS at RE0_bit; sbit LCD_EN at RE2_bit;) Pode me ajudar como configuro TRISE como saída?
Olá Wagner, Vc sabe me dizer se tem alguma função no MikroC que pegue um valor decimal e o transforme em binário?? ou como faço para imprimir o valor em binário no lcd?? Na linguagem C, é a função itoa(dec, bin) que faz essa conversão, tentei utilizá-la no MikroC, não compilou, apresentou erros.
Boa noite wagner... fui fazer o teste do display no mikroc e quando vou compliar ele da erro no pinout settings. . Diz que nao esta especificado algo assim... o q pode ser? Fiz os mesmos passos do vídeo. E tbm queria agradecer pelo video dos botões. Vai me ajudar demaais e qnd terminar meu projeto posto um video para mostrar.. agradeço a WRKITS pela força :)
Obrigado gustavo hiroki Gb070410 ! Estamos aqui para ajudar quem precisar sempre! Quanto ao erro que está dando, difícil dizer assim. Se ele não compila, normalmente é um erro de sintaxe, pois erros de semântica apresentam warnings na compilação. De qualquer forma, pode mandar um email para nós analisarmos seu código. wrkits@wrkits.com.br abraço
Olá Wagner! Estou precisando criar um banco de dados para armazenar nomes completos. Vou usar um teclado numérico de 12 teclas. Cada tecla terá mais de um caractere, por exemplo, a tecla numérica 2 do teclado, será também A,B e C, igual é hoje nos teclados de celulares e telefones sem fio! Por enquanto, o tratamento das teclas não é importante. O que eu preciso saber é se é possível escrever um nome no LCD, por exemplo: Edson Staack, e em seguida apertar a tecla confirma e o meu nome ser armazenado em uma matriz, juntamente com o meu número da vez e a senha que também devo digitar! Estou fazendo um pequeno Relógio ponto e ele vai gravar até 30 trabalhadores. Cada um receberá um número de 01 até 30, conforme vai sendo cadastrado. Vou fazer cartões de identificação com código de barras perfurado que vai ser lido com opto acopladores! Quando o cartão for lido, ele vai mostrar meu número e nome no display e pedir minha senha. Confirmando a senha, será colocado em uma matriz onde terá a informação da hora de entrada ou saída. Mas primeiro saber como armazenar o nome completo em uma matriz! Lembrei agora que eu nem sei como fazer para escrever no LCD letra por letra na sequência! :)
Olá Wagner! Muito legal sua explicação sobre LCD, por acaso vc tem algum código feito já de um relógio mostrado no LCD? Ganhei um PIC de um amigo e gostaria de utilizar ele como relógio. Abração!
Professor Wagner estou com um problema... estou usando um mosfest com feedback de corrente , e estou usando um cálculo pro micro fazer a leitura dessa corrente, no entanto no ldc , só aparece numeros inteiro , .. 10 , 20 , 30 Amperes... Como eu faço pra aparecer até duas casas após a virgula?
Estou desenvolvendo um projeto que estava utilizando o LCD 16x2 com controlador HD44780, estava funcionando perfeitamente, porem tive que substituir pelo lcd winstar wh1602a, agora nao funciona de forma nenhuma. Fica somente a primeira linha toda acessa. Alguem teve problema semelhante?
A funcao LCD_init nao funciona utilizando os PORTs A_E. com D4, D5, D6, D7 em RA1, RA2, RA3, RA4 e RS, E em RE0, RA5 respectivamente. Sei que precisamos colocar um resistor de pull-up em RA4, mesmo assim o LCD nao inicializa, nem na simulacao do Proteus!!!. O interessante que nao encontrei uma configuracao neste formato, mas tenho uma plaquinha de desenvolvimento que a usa e roda com o programa teste que veio no PIC16F877A, mas ao jogar outro programa criado o LCD nao inicializa. Já foi também configurado ADCON1 para saidas digitais dos PORTs acima mencionados. Se alguem puder ajudar na solucao, seria interessante para todos!!!
+Anderson Rezende , sim. Você precisa configurar o registrador ADCON1. Pesquise no datasheet. Verá uma tabela para este registrador, onde precisa definir todos os pinos AN como digitais.
Caro Wagner, estou usando o PIC 16F877A com um display de 4x20 e não consigo fazer ele funcionar com esse código. Para display de 4x20 e com o 16F877A ,a configuração é diferente? Obrigado pela ajuda !
+Daniel Godoy , a configuração é a mesma utilizando a biblioteca do MikroC. Sugiro utilizar o código para 16x2 e fazer funcionar em um 20x4 inicialmente, para comprovar se há algum problema em seu hardware.
Boa tarde Wagner, estou fazendo aqui um display com 8 palavras e 8 botoes, e cada botão representa uma palavra, e quando eu abertar o botao1 a palavra1 tem que piscar, e quando eu aperar o botao 2, a palavra 2 pisca e a palavra 1 para de piscar, ta dificil porque no mikroc não tem biblioteca para fazer uma palavra piscar somente. Obrigado pelas ajudas!
Pode ser que vc esteja configurando este Bit errado nos registradores (tris, cmcon) ou ele é open drain (consultar a parte respectiva ao Port no datasheet)
Wagner, uma pergunta um pouco incomum aqui. Tudo o que você ensina no canal, foi aprendido na faculdade ou você aprendeu sozinho? Porque acabei de sair da faculdade e você dá aula de assuntos avançados, que não aprendi, só fiquei curioso.
Calebe Priester É amigo também penso assim, o problema é que na hora de procurar um emprego como engenheiro, se você não tiver um diploma, sem chance, a não ser que você tenha grana para abrir uma empresa, mas vai ter que pagar um engenheiro só para assinar seus projetos, é osso.
Eu sou bem leigo nessa parte. Quer dizer que se eu construir um amplificador de guitarra eu não poderia comercializá-lo na minha loja de música, por exemplo? Eu teria que pagar um engenheiro só para ele assinar o nome dele no MEU projeto? Quer dizer que se eu estudo por conta própria e descubro algo novo, algo que ninguém pensou ainda, eu não posso comercializar essa nova descoberta em algum produto que eu criar? O Steve Jobs fez faculdade, mas não terminou, como que ele conseguiu vender os produtos dele então?
Comercializa-lo você pode, só não pode ter seu nome no projeto, projetos que exigem normas técnicas, só podem ser assinados por profissional registrado no conselho da área, e mesmo um engenheiro formado, só pode assinar um projeto se ele tiver registro no CREA. Parece brincadeira mas é a realidade do Brasil, nossas faculdades são horríveis, formam péssimos profissionais e se você não devorar os livros, está lascado. Eu sou técnico em eletrônica, e digo que aprendi muito mais em livros do que no curso. Montei minha biblioteca virtual, com mais de 500 livros, sugiro que você faça o mesmo, e depois que dominar a área, faça uma faculdade EAD, por ser mais barata e pra você não ter que pagar alguém pra levar o nome de algo que foi você que criou. Sobre o Steve Jobs, creio que ele tinha alguém para assinar seus projetos, na própria empresa, ou talvez ele descrevesse toda a ideia do projeto para o engenheiro e o desenvolvedor, e eles construíam.
Eu faço curso técnico em eletrônica e aprendo mais sozinho do que no curso. Os professores ganham mais de 10 mil reais por mês, mas eles não tem nenhuma motivação pra ensinar. Eles não preparam nem as aulas, parece que eles estão no automático. De 40 alunos que entram, não formam nem 10 direito, sério, 30 desistem do curso no meio do caminho, tanto que vai fechar esse curso, uma pena. Eu estou interessado em fazer amplificador de guitarra e pedais de efeito, não sei se têm normas para esses tipos de projetos, é até bom pesquisar. Obrigado pelas dicas!!
nao esta dando certo o meu copiei tudo certinho olhei uns 3 dias essa aula coloco tudo certo mas mesmo assim nao compila o cidigo estou no mikroC também
Talvez você esteja com uma versão mais recente do MikroC. Você pode consultar o help (F1) para pegar as funções de LCD corretas. Vai dar certo, continue praticando que você chega lá.
Já atualizei o proteus.. Tava usando a versão demo do 8.0 atualizei para versão pro 8.0 mais obrigado pela atenção... Queria pedir a vcs também se tem um tutorial de fontes com voltímetro digital mais queria muito era com o LCD 16x2 se puderem me ajudar... Obrigado
amigo estou iniciando os estudos mas estou seguindo seu exemplo mas na parte lcd_Init () da erro e nao consido passar daqui mando colpilar e apresenta este erro fiz igual o de voce teria como me ajudar obrigadp.e o programa ultilizando display lcd com pic
Caro Wagner, estou usando o PIC 16F877A com um display de 4x20 e não consigo fazer ele funcionar com esse código. Para display de 4x20 e com o 16F877A ,a configuração é diferente? Obrigado pela ajuda !
Wagner, antes de mais quero agradecer muito todo o tempo que dedica ao ensino da electrónica.
Comecei á pouco a estudar através dos seus videos a programação PIC. Comecei já a trabalhar num projecto próprio com PIC. Não consegui numa 1ª fase ligar um LCD 20x4 ao PORTA do PIC16F877A. Desconhecendo se já terá tido o mesmo problema ou não, resolvi partilhar com todos. Descobri que era o pino RA4 do uC que inviabilizava o funcionamento. Fui ao datasheet e verifiquei que este pino quando configurado como saida funciona com "Open Drain". Logo coloquei uma resistência de pull-up e o circuito passou a funcionar de imediato.
Espero que não se importe de ter partilhado esta aventura com a sua audiência.
Cumprimentos a todos,
Rui Monteiro
Portugal
Incrível...esse vídeo publicado a tantos anos e continua tão atual. Explicação e didática excelente tanto da parte eletrônica quanto da parte de software, fica fácil aprender assim...só agradecimento por um conteúdo assim...
Faço Eng. Elétrica e uma das disciplinas utilizamos PIC para criar alguns projetos, mas nenhum professor foi capaz de ensinar o que você ensinou em 20min de aula. Parabéns, me tornei um inscrito.
Hélvio Albuquerque , valeu o elogio, muito obrigado! Passe a dica do canal com todos seus colegas e amigos para nos ajudar a crescer e continuar com o trabalho! Seja bem-vindo ao WR Kits Channel!
Parabéns Wagner pelos videos, simplesmente ótimos, consegui fazer com a sua ajuda, o que não tenho conseguido fazer em sala de aula, muito dinâmica a forma de explicar, continue com seu trabalho, Obrigado tenha uma boa noite!!
+fonsecarts fonseca , valeu os elogios meu amigo! Continue nos acompanhando e passe a dica do canal com seus colegas!
Espetacular essa aula juntamente com a aula 13 e a aula 15.
Ótima aula, Wagner. No caso, optei por usar o display LCD LM017L, bem similar ao que vc usou, mas com mais espaço para escrita.
renato cintra , você pode consultar o datasheet do LCD e efetuar sua inicialização manualmente, aplicando a sequência de bits sugerida para o pino Enable, RS, e os 4 bits de dados.
+WR Kits
Wagner você tem alguma aula ensinando a baixar e instalar o Isis Proteus e a utiliza-lo?
Obrigado.
Ótima aula, W. Rambo!!! Melhor explicado é praticamente impossível!!!
Muito obrigado Cícero!
BOA TARDE SOU DE ARACAJU SERGIPE E MONTEI UM CIRCUITO E DEU CERTO COM A SUA EXPLICACAO VLW
+fabiano conceicao , excelente! Bons projetos para você!
mt obrigado cara, em clima de tcc aki suas aulas ajuda mt!!
EXCELENTE VIDEO , SUAS AULAS SÃO BEM EXPLICADAS . POR FAVOR VE SE FAZ UM VIDEO COM TELA TFT 3,5' COM PIC , POIS SO EMCONTRO COM ARDUINO.
Aprendemos muito com você Wagner! Obrigada!
Obrigado Mayara! Nos acompanhe sempre!
Wagner sensacional suas aulas.
Nunca mexi com pic nem programação , mais vendo seus videos deu vontade.
Parabéns!!!
Poderia fazer um video para uma fonte de bancada de até 5a de corrente
Tensão e corrente reguladas.
Michel Crespo
censuratube , obrigado Michel! O mundo dos microcontroladores PIC é fascinante, seja bem-vindo! Pretendemos fazer o projeto de uma fonte semi profissional em breve aqui no canal, continue nos acompanhando.
Diferentemente do arduino a primeira linha e coluna do lcd nao inicia por 0 e sim por 1?
show de bola Wagner.
Ótima aula wagner suas aulas estão me ajudando muito.
Tarcísio Carvalho , muito obrigado, que bom que estão ajudando!
Didática excelente! Mais um inscrito, parabéns!
Muito obrigado Tassio! Seja bem-vindo ao WR Kits Channel!
Ótimo aula!!!!!!
Muito obrigado!
Wagner muito obrigado por compartilhar seu conhecimento conosco.
Gostaria se possível de sua ajuda para o seguinte: no pic16f877a quando conecto RS e EN nos pinos RE0 e RE1 respectivamente, o display não funciona (d4..d7 do display ligados aos pinos d4...d7 do pic). Os sinais no scope ficam semelhantes. No compilador CCS funciona normalmente com essa configuração. Se alguém souber como resolver isso, por gentileza responda esse comentário. Wlw!
Otmo esse mesmo programa serve para o pic16f628..
Muito bom, parabéns.
+Antonio Jorge Rodrigues , valeu obrigado!
OI, boa noite. Quando vou compilar aparece essas msgns:
26 Undeclared identifier 'Lcd_Init' in expression Aula_6-LED.c
27 Undeclared identifier 'Lcd_Cmd' in expression Aula_6-LED.c
28 Undeclared identifier 'Lcd_Cmd' in expression Aula_6-LED.c
30 Undeclared identifier 'Lcd_Out' in expression Aula_6-LED.c
35 Undeclared identifier 'Lcd_Out' in expression Aula_6-LED.c
36 Undeclared identifier 'delay' in expression Aula_6-LED.c
0 Finished (with errors): 27 jul 2016, 00:33:31 Aula_6-LED.mcppi
Pode me ajudar? fiz exatamente como foi mostrado no vídeo.
Oi sr. Wagner, como faço pra mostrar uma variável negativa no display, uma signed. Poderia me dar uma dica, estou fazendo um projeto com ntc, e quando o valor é negativo aparece uns caracteres indesejados.
Parabéns e obrigado pelo conteúdo de qualidade! Eu queria saber se o LCD só funciona no portb, porque quando utilizo o porta por exemplo, ele não funciona mesmo eu configurando todos os parametros!! Eu gostaria de usar o rb0 pra interrup. externa e mostrar dados no lcd pelo porta.
Valeu! Você pode utilizar o PORTA também para controle do LCD. Lembre-se de configurar os pinos como digitais, CMCON=7;
show !!!!
MUITO BOM ENTENDI MUITO BEM!
+Valter Erreira , que bom que entendeu! Muito obrigado! Continue nos acompanhando e passe a dica do canal para todos seus amigos para nos ajudar a crescer e continuar com este projeto!
Ótima aula, mas estou tendo um problema, está igual ao seu (segui todos passos) mas estou tendo display não escreve, porque está acontecendo isto? A programação, componentes são os mesmo.
Ola Wagner, muito bom video, porem segue uma duvida.
Caso eu queira trabalhar com mais de um Display LCD ( Hora escrevo em um Display, Hora em outro), como faço para tornar essa configuração do pino ES maleável, que hora o pino ES seja o pino RB0 e hora seja RB1 por exemplo.
Tenho um projeto que necessitaria fazer a escolha do display que eu queira escrever. Há a possibilidade de fazer isso?
boa aula parabens
suatland , valeu pelos elogios!
Bom dia, Gostaria de tirar uma dúvida se for possível, é normal uma função void interferir em outra função void, quando é chamado um void não saímos completamente de outro void.
Agradeço a atenção.
Wanderson
Teria o material desta aula, pois seria mais facil para acompanhar, tem como postar nas aulas mais antigas tipo esta e a anterior.
Wagner, boa noite! Gostaria de indicar a você, que abordasse em uma série nova de videos aulas, a IDE da microchip MPLAB X com o compilador XC8, exemplo: Tutorial - Hello World no LCD 16x2 em um PIC18
Amigo gostaria de saber qual o comando para eu mudar o que esta escrito no display com um pulso (botão).. apenas muda a escrita ao acionar um botão. . Obrigado.. muito boa as aulas.
Bom dia gustavo hiroki Gb070410 ! Obrigado! É uma ótima pergunta. Para mudar o que está escrito no display com um pressionar de botão basta escrever um laço if. Um exemplo:
if(botao == 0x00)
{
Lcd_Out(1,1,"Botao pressionado");
delay_ms(100);
}
else
{
Lcd_Out(1,1,"Nenhum botao pressionado");
delay_ms(100);
}
Mas de qualquer forma você me deu uma excelente ideia. Vou publicar em muito breve uma fast lesson sobre isso. Continue acompanhando o canal. abraço
gustavo hiroki Gb070410 , segue a vídeo aula que ensina como alterar a escrita do lcd com uso de botões. LCD INTERATIVO COM PIC | Fast Lesson #18
boa tarde, por acaso vc da aulas particulares pelo team?
amigo estou iniciando os estudos mas estou seguindo seu exemplo mas na parte lcd_Init () da erro e nao consido passar daqui mando colpilar e apresenta este erro fiz igual o de voce teria como me ajudar obrigadp.
bom dia, Gostaria que me desse uma dica quero gerar um codigo randomico e que ao voltar a meter o codigo me diga quanto tempo levou de espera.
Ao testar no proteus a tela fica acesa mas não aparece nada mas aparece a seguinte mensagem no proteus ," hd44780 controller receives data while busy. lcd" usei o código que você me passou.
Tem alguma solução?
wagner, estou usando o pic16f873a e se eu faço o que foi ensinado acima,porem, usando as saídas para o lcd do PORTA ele não funciona, só funciona se usar o PORTB, sabe me dizer o pq?? ahh e adoro as aulas, valeu estou aprendendo muito.
vinicius Assis , tem que configurar os registradores , pois no PORTA estão os módulos ADC e comparadores. Confira em nosso curso de PIC: ua-cam.com/play/PLZ8dBTV2_5HQTv6DRKZTp9L0iRReXis0q.html
Obrigado pelos elogios!
amigo ,onde baixar o programa pra o pickit3?
Wagner, estou utilizando um display 20x4 e quando eu ligo só aparece uns quadrados e não executa o código do PIC estou utilizando um trimpot de 10k no pino de contraste e mesmo assim não aparece o programa. No proteus ele funciona direitinho , mas na prática não consigo ver os caracteres do LCD. Eu vi que no CCS vc tem que dar uns comandos via software para ele inicializar direito. No Mikro C é só usar a biblioteca do LCD?
Montei um programa de cronometro, que funcionou perfeitamente no proteus utilizando o 16F628A e oscilador interno com freq.= 4M., mclr desabilitado Na prática ,só apareceu o display iluminado sem os caracteres. Se o programa roda no proteus, deve atuar tb no mundo real. Utilizei o display 16x2 e o compilador foi o mikro c pro. Voce no seu teste utiliza um cristal de 4M.,apesar deste PIC possuir já um oscilador interno. Isto é fundamental para que o display funcione?
Wagner vc teria alguma vídeo aula sobre o pic30F4011? Grato!
+Patricio paiva , por enquanto não. Trataremos desta família em aulas mais avançadas do curso de PIC.
gostaria de utilizar o microcontrolador 16F877A para LCD / ALARME E RELÓGIO
Saudações Wagner, como faço para concatenar strings no MikroC? Tentei o "+" e o "&" e não deram certo, exemplo:exibir no display 16x2 o conteúdo de duas variáveis: txt1 e txt2, tentei Lcd_Out (2,1, txt1 + txt2); e Lcd_Out (2,1, txt1 & txt2); e não deu certo, poderia ajudar por favor?
oi, tudo bem? estou tendo problema para enviar uma mensagem para um lcd 16x02 usando um pic 16f628a, queria saber se é porque estou usando o oscilador interno e masterclear desabilitado, ao tentar gravar o pic o gravador k150 dá uma mensagem falando good e bad e acho que refere ao oscilador. me dá umas dica para í para solucionar esse problema.
+HORA DA VERDADE , tem que configurar os FUSES do PIC. Desabilitar o MCLR e habilitar INTOSC.
ola, boa tarde.
segui todos os procedimentos, aprendi bastante coisa nessa vídeo aula, porem ao simular no ISIS não simula, aparece dois erros nos quais não consegui solucionar.
(( NO POWER SUPPLY SPECIFIED FOR NET 4 IN POWER RAIL CONFIGURATION))
E
(( SIMULATION FAILED DUE NETLIST COMPILER ERROR(S).
poderima me ajudar? grato!
Beleza Wr? poderia abordar uma matéria com o microcontrolador PIC e o TFT touch Screen LCD? Valeu!
beleza! Valeu a sugestão, vamos considerar sim.
Bom dia!!! Estou com uma duvida . Os comandos de um lcd que eu uso no microc são os mesmo que eu uso em ccs, mplab? Desde já eu agradeço.
+Laercio Kreusch , boa tarde. Não , os comandos são diferentes, pois as bibliotecas são diferentes.
WR, fiz o projeto igual ao seu, o circuito no proteus e tambem o codigo fonte no mikroc, compila direitinho, so que na hora de funcionar no proteus; dar centenas de erro, relacionado ao lcd , chega a fechar o isis, vc sabe o que esta acontecendo? valeu muito obrigado ,excelente trabalho esse de fazer essas aulas ,desde ja agradeço...
+Elailson Santos , obrigado pelos elogios! Se o seu Proteus for o 8, sugiro que troque para o 7.7.
Sim é o 8, e eu estou usando o windows 10 já atualizado e não estou usando PC mais sim um notebook; será que pode ser esse o motivo de gerar tantos erros na hora de simular no isis?
A propósito VC tem o proteus 7.7 nos seus videos, gostaria de baixa lo ?
Wagner estou tentando configurar os pinos RE0 e RE2 do PIC 16F877A, para fazer comunicação com o LCD e nada acontece.
(sbit LCD_RS at RE0_bit;
sbit LCD_EN at RE2_bit;)
Pode me ajudar como configuro TRISE como saída?
Gual nome do programa
Fala um velocimetro digital caseiro por favor vai me ajudar muito.
é possivel deslocar para direita/esquerda somente uma das linhas ?
+Ariel Campos , boa pergunta. Acredito que não seja possível com as bibliotecas do MikroC. Teria que pesquisar.
boa noite Wagner, primeiramente parabens pelos videos, aprendo mt com eles.
seria possivel disponibilizar o esquema do gravador do 16f628a?
Pedro Henrique , valeu pelos elogios! Utilizamos o PICKit3 para gravar PIC.
WR Kits essa placa gravadora tem pra vender no seu site?
Pedro Henrique , por enquanto não. Acredito que você deva encontrar no Mercado Livre.
ah, essa placa nao foi vc qm fez,ne?
Pedro Henrique , não. Esta você consegue comprar pronta já.
Olá Wagner,
Vc sabe me dizer se tem alguma função no MikroC que pegue um valor decimal e o transforme em binário?? ou como faço para imprimir o valor em binário no lcd??
Na linguagem C, é a função itoa(dec, bin) que faz essa conversão, tentei utilizá-la no MikroC, não compilou, apresentou erros.
+Anderson Rezende , não sei dizer. Talvez exista, seria o caso de pesquisar no help do MikroC. Pressione F1 e vá na aba índice para pesquisa.
otimo
alex oliveira , muito obrigado!
Boa noite wagner... fui fazer o teste do display no mikroc e quando vou compliar ele da erro no pinout settings. . Diz que nao esta especificado algo assim... o q pode ser? Fiz os mesmos passos do vídeo.
E tbm queria agradecer pelo video dos botões. Vai me ajudar demaais e qnd terminar meu projeto posto um video para mostrar.. agradeço a WRKITS pela força :)
Obrigado gustavo hiroki Gb070410 ! Estamos aqui para ajudar quem precisar sempre! Quanto ao erro que está dando, difícil dizer assim. Se ele não compila, normalmente é um erro de sintaxe, pois erros de semântica apresentam warnings na compilação. De qualquer forma, pode mandar um email para nós analisarmos seu código. wrkits@wrkits.com.br
abraço
Olá Wagner! Estou precisando criar um banco de dados para armazenar nomes completos. Vou usar um teclado numérico de 12 teclas. Cada tecla terá mais de um caractere, por exemplo, a tecla numérica 2 do teclado, será também A,B e C, igual é hoje nos teclados de celulares e telefones sem fio! Por enquanto, o tratamento das teclas não é importante. O que eu preciso saber é se é possível escrever um nome no LCD, por exemplo: Edson Staack, e em seguida apertar a tecla confirma e o meu nome ser armazenado em uma matriz, juntamente com o meu número da vez e a senha que também devo digitar! Estou fazendo um pequeno Relógio ponto e ele vai gravar até 30 trabalhadores. Cada um receberá um número de 01 até 30, conforme vai sendo cadastrado. Vou fazer cartões de identificação com código de barras perfurado que vai ser lido com opto acopladores! Quando o cartão for lido, ele vai mostrar meu número e nome no display e pedir minha senha. Confirmando a senha, será colocado em uma matriz onde terá a informação da hora de entrada ou saída. Mas primeiro saber como armazenar o nome completo em uma matriz! Lembrei agora que eu nem sei como fazer para escrever no LCD letra por letra na sequência! :)
Olá Wagner! Muito legal sua explicação sobre LCD, por acaso vc tem algum código feito já de um relógio mostrado no LCD? Ganhei um PIC de um amigo e gostaria de utilizar ele como relógio. Abração!
como posso testar o lcd pra saber se ele esta funcionando antes de programar o pic?
e o programa ultilizando display lcd com pic
Professor Wagner estou com um problema...
estou usando um mosfest com feedback de corrente , e estou usando um cálculo pro micro fazer a leitura dessa corrente, no entanto no ldc , só aparece numeros inteiro , .. 10 , 20 , 30 Amperes... Como eu faço pra aparecer até duas casas após a virgula?
+Alex Renan Santos , talvez este vídeo lhe ajude: ua-cam.com/video/sWosEVk8VXo/v-deo.html
Ola Wagner gostaria de aprender como fazer LCD MÉTODO LPLEX - 3 FIOS MIKRO C PRO FOR PIC Com PIC 12 F 675
Estou desenvolvendo um projeto que estava utilizando o LCD 16x2 com controlador HD44780, estava funcionando perfeitamente, porem tive que substituir pelo lcd winstar wh1602a, agora nao funciona de forma nenhuma. Fica somente a primeira linha toda acessa. Alguem teve problema semelhante?
A funcao LCD_init nao funciona utilizando os PORTs A_E. com D4, D5, D6, D7 em RA1, RA2, RA3, RA4 e RS, E em RE0, RA5 respectivamente. Sei que precisamos colocar um resistor de pull-up em RA4, mesmo assim o LCD nao inicializa, nem na simulacao do Proteus!!!. O interessante que nao encontrei uma configuracao neste formato, mas tenho uma plaquinha de desenvolvimento que a usa e roda com o programa teste que veio no PIC16F877A, mas ao jogar outro programa criado o LCD nao inicializa. Já foi também configurado ADCON1 para saidas digitais dos PORTs acima mencionados. Se alguem puder ajudar na solucao, seria interessante para todos!!!
Qual seria o melhor compilador pra c?
+Laercio Kreusch , difícil dizer. Para C ANSI pura utilizo o DEV C++
Wagner vc sabe me dizer o como faço pra configurar um lcd interligado as portas A (analogicas) do pic16f877a? o lcd só liga mas não imprime nada.....
+Anderson Rezende , sim. Você precisa configurar o registrador ADCON1. Pesquise no datasheet. Verá uma tabela para este registrador, onde precisa definir todos os pinos AN como digitais.
Mudei a conexão para RB's. ... mas de td forma obrigado.....
Caro Wagner, estou usando o PIC 16F877A com um display de 4x20 e não consigo fazer ele funcionar com esse código.
Para display de 4x20 e com o 16F877A ,a configuração é diferente?
Obrigado pela ajuda !
+Daniel Godoy , a configuração é a mesma utilizando a biblioteca do MikroC. Sugiro utilizar o código para 16x2 e fazer funcionar em um 20x4 inicialmente, para comprovar se há algum problema em seu hardware.
Wagner Como posso visualizar ao mesmo tempo no terminal virtual ?
marcos cruz neste vídeo: ua-cam.com/video/9qd1QAmp9zMS/v-deo.htmló precisar adicionar o lcd
Ac dimmer pic16f672 with trac and optocupler moc3021 with pwm
Boa noite, Wagner eu gostaria de assistir uma aula sua de microcontrolador com comunicação I2C com LCD e outra aula sopre potenciômetro digital.
Luan Rafael , certo! Abordaremos esses temas em breve no curso de microcontroladores PIC. Continue nos acompanhando.
Boa tarde Wagner, estou fazendo aqui um display com 8 palavras e 8 botoes, e cada botão representa uma palavra, e quando eu abertar o botao1 a palavra1 tem que piscar, e quando eu aperar o botao 2, a palavra 2 pisca e a palavra 1 para de piscar, ta dificil porque no mikroc não tem biblioteca para fazer uma palavra piscar somente.
Obrigado pelas ajudas!
yuri borgews , valeu, o melhor é utilizar a varredura de botões.
Gostaria de saber como soldar o lcd no pcb?
Pode utilizar barra de terminais com cabinho flat
cade o link do programa?
quando você copia o programa igualzinho e da erro na hora de compilar. O que pode ser?
Essa aula faz parte de que play list?
Clássicas de sexta.
tem como ligar o lcd atraves de pulso eletrico de 5v
alex oliveira , pode controlar o backlight através de um transistor drive. O display tem o comando Lcd_Cmd(_LCD_TUNR_OFF) ou Lcd_Cmd(_LCD_TURN_ON);
WR Kits eu gostaria de fazer um curso de microcontrolador pic com voce online.
bom dia Rambo; no compilador PIC-C este comando não funciona?!
As bibliotecas são diferentes. Deve pesquisar a biblioteca compatível.
//legal
Boa tarde! Tentei fazer o projeto mas não funcionou, o pino RB4 no proteus fica cinza, o que pode ser?
Pode ser que vc esteja configurando este Bit errado nos registradores (tris, cmcon) ou ele é open drain (consultar a parte respectiva ao Port no datasheet)
wagner ensina a fazer um arduino
Olá, usei o código e obtive o erro : 126 395 Invalid declarator expected'(' or identifier __lib_mmcfat16.h. Vc poderia me ajudar?
Qual compilador está utilizando Ellen?
Eu tô utilizando o mesmo do vídeo, o mikroC PRO. Vc acha que é problema no compilador? Eu baixei direto da internet.
Não estou conseguindo compilar o código. Está igual ao seu, mas não consigo. O que pode ser ?
Incluiu a biblioteca,no , Library Manager?
Não daria pra utilizar o clock interno do PIC, ao invés de um cristal externo pra isso ??????
sim
sabe me dizer se funciona a exibição de um relógio nesse LCD, construído com TIMER0 e prescaler, sem precisar o uso de cristal de oscilação ??????
Wagner, uma pergunta um pouco incomum aqui. Tudo o que você ensina no canal, foi aprendido na faculdade ou você aprendeu sozinho?
Porque acabei de sair da faculdade e você dá aula de assuntos avançados, que não aprendi, só fiquei curioso.
se você saiu na faculdade e não viu nada disso nem vou me preocupar em fazer uma, vou estudar por conta mesmo que é melhor lol
Calebe Priester É amigo também penso assim, o problema é que na hora de procurar um emprego como engenheiro, se você não tiver um diploma, sem chance, a não ser que você tenha grana para abrir uma empresa, mas vai ter que pagar um engenheiro só para assinar seus projetos, é osso.
Eu sou bem leigo nessa parte.
Quer dizer que se eu construir um amplificador de guitarra eu não poderia comercializá-lo na minha loja de música, por exemplo? Eu teria que pagar um engenheiro só para ele assinar o nome dele no MEU projeto? Quer dizer que se eu estudo por conta própria e descubro algo novo, algo que ninguém pensou ainda, eu não posso comercializar essa nova descoberta em algum produto que eu criar?
O Steve Jobs fez faculdade, mas não terminou, como que ele conseguiu vender os produtos dele então?
Comercializa-lo você pode, só não pode ter seu nome no projeto, projetos que exigem normas técnicas, só podem ser assinados por profissional registrado no conselho da área, e mesmo um engenheiro formado, só pode assinar um projeto se ele tiver registro no CREA.
Parece brincadeira mas é a realidade do Brasil, nossas faculdades são horríveis, formam péssimos profissionais e se você não devorar os livros, está lascado.
Eu sou técnico em eletrônica, e digo que aprendi muito mais em livros do que no curso. Montei minha biblioteca virtual, com mais de 500 livros, sugiro que você faça o mesmo, e depois que dominar a área, faça uma faculdade EAD, por ser mais barata e pra você não ter que pagar alguém pra levar o nome de algo que foi você que criou.
Sobre o Steve Jobs, creio que ele tinha alguém para assinar seus projetos, na própria empresa, ou talvez ele descrevesse toda a ideia do projeto para o engenheiro e o desenvolvedor, e eles construíam.
Eu faço curso técnico em eletrônica e aprendo mais sozinho do que no curso. Os professores ganham mais de 10 mil reais por mês, mas eles não tem nenhuma motivação pra ensinar. Eles não preparam nem as aulas, parece que eles estão no automático.
De 40 alunos que entram, não formam nem 10 direito, sério, 30 desistem do curso no meio do caminho, tanto que vai fechar esse curso, uma pena.
Eu estou interessado em fazer amplificador de guitarra e pedais de efeito, não sei se têm normas para esses tipos de projetos, é até bom pesquisar.
Obrigado pelas dicas!!
Toda vez que tento compilar da erro no lcd init.
Qual versão do MikroC está utilizando? Talvez deva alterar as funções do LCD se for um mais atual. No vídeo utilizamos a versão 4.15
@@canalwrkits versão 7.6.0
nao esta dando certo o meu copiei tudo certinho olhei uns 3 dias essa aula coloco tudo certo mas mesmo assim nao compila o cidigo estou no mikroC também
Talvez você esteja com uma versão mais recente do MikroC. Você pode consultar o help (F1) para pegar as funções de LCD corretas. Vai dar certo, continue praticando que você chega lá.
Não sei porque no meu não compila, ele da erro nas funções do display - undeclared identifier 'Lcd_Init' in expression
+Caio Godoy resolvido!! precisa selecionar o lcd em Library Manager...
+Caio Godoy , que bom que resolveu.
👀
NAO CONSIGO ATE HOJE FAZER ISSO
cara ta dando erro na simulação oque ta acontecendo o erro é real time simulation faled to start
Lucas Sssessae , qual sua versão do ISIS?
Já atualizei o proteus.. Tava usando a versão demo do 8.0 atualizei para versão pro 8.0 mais obrigado pela atenção... Queria pedir a vcs também se tem um tutorial de fontes com voltímetro digital mais queria muito era com o LCD 16x2 se puderem me ajudar... Obrigado
Esperava que Shift right deslocasse o texto para a direita e não para a esquerda que deveria ser shift left
Beleza, o conteúdo que encontrei ate o momento é totalmente voltado para o Arduino.
Eu queria saber se pode fazer o mesmo procedimento para ligar o LCD no PIC 16F877A ?
Se poder me dar uma ajuda, muito obrigado
gillson999@gmail.com
amigo estou iniciando os estudos mas estou seguindo seu exemplo mas na parte lcd_Init () da erro e nao consido passar daqui mando colpilar e apresenta este erro fiz igual o de voce teria como me ajudar obrigadp.e o programa ultilizando display lcd com pic
Caro Wagner, estou usando o PIC 16F877A com um display de 4x20 e não consigo fazer ele funcionar com esse código.
Para display de 4x20 e com o 16F877A ,a configuração é diferente?
Obrigado pela ajuda !
Incluiu a biblioteca?
Passei por isso,tem que incluir a biblioteca no Library Manager