Ir ao conteúdo
  • Cadastre-se

Tutorial : Introdução ao uso de PIC´s em BASIC com o PIC Simulator IDE - Parte 1/2


Posts recomendados

Paulo,

Sou novato aqui, estive namorando este forum ja algum tempo ate que criar coragem de me cadastrar.

E a primeira vez que participo de um forum.

Me desculpem se não estiver participando da forma correta, sou tecnico em eletronica auto-didata , ja construi varios projetos ligados a area do audio ,mas sempre tive vontade de aprender uma linguagem de programaçao para usar pics ,mas nao sabia por onde começar, ate que tomei conhecimento do tutorial do Sr. Paulo ,que me fez ficar muito interesado em aprender Basic, ja estou lendo e gostando muito ,espero que consiga aprender, pois ja nao sou mais um garotinho.

E meu maior interesse é exatamete construir um sitema de som com controles digitais programado por mim.

ja contrui alguns controles de volume com pics e poteciometro digital , so que programado por outros, queria fazer um sistema personalizado, por isso tambem estou aguardado a tercera parte do tutorial , so por curiosidade Paulo você vai usar os pga2310 ou pga2311 da Texas no seu projeto ?

Um abraço e até breve!

jfeliciano

Link para o comentário
Compartilhar em outros sites

Oi JFELICIANO, bem vindo ao fórum !

Fico muito feliz que o tutorial está sendo útil para voce, acredite, ele foi escrito exatamente visando pessoas que como voce conhecem eletrônica básica e com pouco conhecimento em microcontroladores e sua programação.

Quanto ao fato de voce não ser mais um garotinho .... eu também sou meio velhinho para essas coisas, mês que vem faço 50 anos.... ou seja, a idade não é um empecilho quando falamos de programar em Basic, pois fica muito intuitivo !

E voce já sabe como se usam os pots digitais, em termos de circuitos, na verdade se voce ler e praticar os exemplos do tutorial, com apenas uma breve explicação voce já estará usando os Pots sem nenhum problema !

Eu trabalhei com som profissional alguns anos também, portanto vamos acabar trocando experiências aqui !

Não precisa ter medo da nossa turma, ninguém morde ( ainda... ) !!!

O meu projeto é um pré-amplificador, usando um circuito seletor de entradas digital de baixíssima distorção e crostalk entre entradas quase inexistente ( > 85 dB !!! ), usando um amp-op e duas chaves analógicas CD4066 em cada uma das entradas..

Este circuito é um clássico da ELEKTOR holandesa, e até hoje ainda não ví nada melhor do que ele. ( na verdade, só usando relés !!! )

Como controle de tom , vou usar um circuito Baxandall , também clássico, com transistores BC549C e com controle de graves e de agudos, com baixíssima distorção , usando aqui os potenciômetors digitais.

E finalmente um circuito de ganho e equilíbrio, usando também os potenciometros digitais.

Tudo isso deve resultar em um circuito de baixíssima distorção ( 0,002 % ), e excelente linearidade.

Nada impede de usar algum desses TDA's da vida que aceitam controle digital para tudo, mas eles tem distorção 10X mais alta e um nível de ruído bem maior.

Quanto a esses PGA's ..... eu ví alguns circuitos na Elektor inglesa com eles, achei muita complicação para pouca coisa, prefiro o design clássico, incrementado pelos pots digitais !

Além do que, a finalidade é , além de me divertir fazendo, colocar no tutorial também para que outros também possam fazer outros projetos semelhantes!

Pelo que vejo, voce gosta de som, aqui neste fórum temos muitos "tarados" por integrar microprocessadores e som , eu incluso.... voce vai se dar bem aqui, ok ?

Paulo

Link para o comentário
Compartilhar em outros sites

:DOlá Professor Paulo, tudo bem:D

Aluno enrolado é bucha:hehehe:kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk

Continuo perdido, não achei a solução. Quando n = 3 PORTA.0 = 1 e quando n = 5 PORTA.1 = 1, tudo bem mas porque PORTA.0 vai a zero ? Alternando os valores de n as condições anteriores se alteram e somente uma porta fica ativa, a correspondente ao n atual. Eu deveria ter PORTA.0 = 1 E PORTA.1 = 1.

Select Case n

Case 3

PORTA.0 = 1

WaitMs 100

Goto inicio

Case 4

PORTA.0 = 0

WaitMs 100

Goto inicio

Case 5

PORTA.1 = 1

WaitMs 100

Goto inicio

Case 6

PORTA.1 = 0

WaitMs 100

Goto inicio

Case 7

PORTA.2 = 1

WaitMs 100

Goto inicio

Case 8

PORTA.2 = 0

WaitMs 100

Goto inicio

EndSelect

Goto inicio

Um abraço,

Enio.

Link para o comentário
Compartilhar em outros sites

Ola Paulo tudo beleza!

Obrigado pela recepçao e incentivos

Minha idade nao esta muito fora da sua, "4.5" , acho que vai dar pra trocar "figurinhas"

Ja instalei o PSI aqui no pc e também o Proteus, que so agora estou conhecendo também, ja fiz minha primeira captura de desenho e também a pci.

Até então eu usava o (TANGO DOS), Mas ja gostei muito do proteus ja andei brincado com o simulador, muito legal.

Ja que voce me avisou dos "tarados de plantao" vou providenciar também um "cuecão de couro" hahahahahah, e quanto pesoal que ainda não morde tenho minhas duvidas,e se a carne for de primeira????RSRSRSRS

Como sugestão para o proximo tutorial seria legal alguma coisa com "ROTARY ENCODERS" e também comunicaçao SPI.

Gostaria de deixar aqui algums links que encotrei na NET de projetos de pre amplificadores e controles de volumes Digitais.

Para o pesoal que ainda nao encontrou e gostaria de aprofundar no assunto ou "atolar de vez".

http://www.electro-dan.co.uk/preamp/construction.html

http://www.dh3ben.de/html/electronics/pga2311_preamp.shtml

http://www-users.rwth-aachen.de/Stefan.Dreyer/mk_SA500/mk_sa_500.html

http://bygselvhifi.dk/51volcontrol.htm

http://www.littlefishbicycles.com/preamp/

http://www.rotgradpsi.de/mc/amp51/amp51puree.html

http://www.mhennessy.f9.co.uk/preamp/index.htm

Este ultimo inclusive cheguei a fabricar quase todo o projeto eletrônico, so que o codigo era um amigo que estava escrevendo para mim usando linguagem ( C ) mas infelizmente ele mudou para outro estado ai a coisa empacou e o projeto foi pra gaveta.

Quem sabe agora com o uso do basic eu possa retoma-lo, mas tenho os desenhos das pcis e se alguem se interessar posso compartilhar, so pedir.

abraço

jfeliciano

Link para o comentário
Compartilhar em outros sites

Projetos de amps digital como esses usam os conhecidos PGAs da texas estou errado?

Eu mesmo montei um prezinho desses usando um PGA e controle e seleção de canais com um MCU PIC dafamilia 18F.

A unica coisa que fiz de diferente nesse projeto foi condicionar o sinail digitalmente (fazer o PIC trabalhar como DSP) apliquei um filtro FIR passa - faixa para eliminar interferencias e dar uma certa pureza ao sinal

ao contrario do que muitos audiofilos pensam esse projeto apesar de digital ficou com uma excelente qualidade de audio consegui até enganar dois audiofilos hehehe.

Quero ir mais longe com audio, pretendo fazer um amplificador classe -D de baixissima distorção e de potência elevada para um modulo de som que quero por em meu carro, o projeto esta meio parado até por eu estar me dedicando aos AVR.

Enfim acho que terei com quem compartilhar experiencias, contem comigo e se alguem tiver interesse na implementação do filtro digtal FIR é so falar.

abs.

Link para o comentário
Compartilhar em outros sites

Tchecara,

Demorei quse meia hora prá achar esse maldito erro .... olha só :

Faltou o comando ALLDIGITAL !!!!

Coloca ele logo após a linha do " Define CLOCK_FREQUENCY = 4 " , e recompila !

Pronto, um problema a menos !

Jfeliciano,

Legal os links !!!

Ah, e a roupa deve segurar sim, hahahahahh !

Uma coisa tenho de falar ... esses PGA's que são controles de volume, tem alguns "parecidos" que custam uma ninharia nos USA !!!! Dá para comprar 3 deles pelo preço de um único POT digital duplo I2C .... acho que vou aderir na sua, comprar alguns desses CI's e fazer o tutorial com eles ! Neste caso a qualidade ainda vai ser muito boa, embora os PGA sejam indicados para um Hi-Fi de verdade !

Olha só :

PT2253A Electronic Volume Controller - US$ 0,60

PT2258 6-Channel Electronic Volume Controller - US$ 0,60 também !!!!

Felipe_eletronic,

Pois é, eu sei que voce adora isso heheheh, acho que agora vai começar a sair algo do papel, não é ?

Olha, tem alguns CI's de potência de nova geração tipo classe D e aquela classe que a Sony inventou ( acho que é H ), que são relativamente baratos lá nos USA, acho que com eles podemos deixar aos microcontroladores apenas a tarefa de controlar mesmo, sem nenhuma interferência no áudio. Bom, essa é a minha ideia, claro que adicionando o meu sonho, que é mostrar o espectro em tempo real com 10 frequências , usando DFT com um PIC ou AVR.... só que teria de ser em Assembler ( uiiiiiiii ) !

Paulo

Link para o comentário
Compartilhar em outros sites

Heheheh , espero que eu consiga sempre ter o tempo para ajudar a todos que precisam !

Agora, vou deixar muita gente aqui babando, olha só isso :

Que beleza, não é ?

O primeiro mostrado ( tela verde ) custa menos de R$ 100,00 na China...

O segundo mostrado ( nano, tela colorida ) custa menos de R$ 200,00 na China também !!!!!

Paulo

Link para o comentário
Compartilhar em outros sites

so isso, se for o caso então compensa importar xcerto?

Cara da até agua na boca, vou importar um,

EDIT.: Boas, da pra comprar com o precinho de la, fiz os calculos aqui, e tenho uns conhecidos no chinaaa, vou comprar um assim que tiver em estouque, se tudo der certin eu posto um tutorial de como adquirir essa lindeza.

para hobbystas isso ai é uma mao na roda.

abs.

Link para o comentário
Compartilhar em outros sites

Ola Enio

Fique tranquilo com a concorencia.

Esta conconrencia aqui e otima, ela so vai somar e nao dividir

Vai dar pra todo mundo se divertir.

abraço

jfeliciano

Ola Paulo,

você vez um cometario em outra citaçao sobre um analizador de espectro da QUASAR.

Este eu nao tive o prazer de conhencer, mas tive a honra de construir um da revista ELEKTOR a ums 15 anos atrás, com 30 faixas e visor com 330eds e muuuutos filtros, ficou uma obra prima.

ainda esta funcionado redondinho!!!

abraço

jfeliciano

Link para o comentário
Compartilhar em outros sites

Dai Pessoal,

Como é bom conviver com esta juventude cheia de garra com vontade de aprender e ensinar é isso ai Jfeliciano vamos enriquercer esse ambiente saudável e fraterno.

Um abraço,

Enio.

A propósito esse aparelhinho não terá na versão made Paraguai? Seria uma boa apesar que o custo esta de bom tamanho.

Link para o comentário
Compartilhar em outros sites

Falando ainda do DSO Nano (é o nome dele) mandei um e-mail para uma loja que fica nos STATES, usei meu e-mail corporativo para deixar a coisa mais atrativa, boa noticia eles tem em estoque e até onde ja pesquisei leva em torno de 3 semanas para chegar no Brasil, o unico problema sera o imposto de importação mas ainda sim vai sair muito mais em conta do que se alguma loja importar e vender ele por aqui.

Essa semana ainda prosseguirei com a compra e importação e postarei em um tópico so para isso, afinal para hobbystas e o pessoal do PIC um gift desses é uma mao na roda da ate pra trabalhar com audio.

Forte abraço.

Link para o comentário
Compartilhar em outros sites

Eu não sei se é o Firefox que não deixa eu ver os vídeos que eu postei do youtube, mas vou colocar apenas os links dos dois aparelhos que eu achei muiiito legal !

http://www.youtube.com/watch?v=H4N7EwLfHKk&feature=related

http://www.youtube.com/watch?v=L-lwDoEee2I&feature=related

Só queria poder pagar o preço que aparece nos USA ...... heheheh !

Eu prefiro comprar de alguém que me dê garantia aqui no Brasil !

Sei que vai custar mais do que fazer a importação simplificada, mas prefiro ter alguma garantia no produto aqui no Brasil.... já tive algumas surpresas com essas coisas, mas claro que cada um tem uma opinião. Mas sei que vai custar bem menos do que um osciloscópio comum, já dá para tirar um barato !

Quanto ao QRT5500 da Quasar..... o display dele e a maneira que movimentava, mantendo os picos por um pequeno tempo, era muito bonito !!! Foi o aparelho de visual mais bonito que eu já ví !

Mas ainda vou conseguir fazer esse aparelho por software, um dia ainda sai !

Paulo

Link para o comentário
Compartilhar em outros sites

Senhores....

Necessito isolar eletricamente um sistema de comandos PC/PIC que usa a RS232. Como é grande o número de comandos(48) torna-se inviável usar acoplador ótico em cada uma das saidas. Existe algum circuito exemplo usando acopladores óticos na entrada PIC fazendo a conversão dos sinais RS232/TTL sem ter de recorrer a uma segunda fonte isolada da primeira? Qualquer sugestão será bem vinda...

Abraços a todos

IAS

Link para o comentário
Compartilhar em outros sites

Amigo Tchecara;

A minha intenção é substituir o famoso MAX232 (conversor de níveis RS232/TTL) por acopladores óticos já que o MAX232 converte os níveis de tensão +15 e -15V presentes nas portas COM do PC em níveis TTL, porém não provê isolamento elétrico e como as saídas do PIC vão acionar relés colocados dentro do quadro de distribuição de energia elétrica a 30/40m de distância através de par telefônico comum, existe o risco de um desses fios que conduzem 12V,conectados a bobina dos relés possa entrar em curto circuito com o fase e sendo o 0V do PC na maioria dos casos aterrado já viu que kaka vai dar....a utilização de infravermelho seria uma solução assim como o uso de acopladores óticos também... caso o amigo disponha de algum circuito onde são utilizados infravermelho na porta COM e puder disponibilizar...fico agradecido.

IAS

Link para o comentário
Compartilhar em outros sites

Amigo Ias,

Copiei alguns artigos da eltec pode ser que te ajude com alguma ideia. Segue link

http://www.enterupload.com/ghk446n9cpso/circuitos_diversos.doc.html

Dá uma olhada aqui no forum pag 11 / #165 que eu postei alguns links com projetos interessantes, talvéz encontre alguma sugestão lá.

Um abraço,

Enio.

Link para o comentário
Compartilhar em outros sites

Oi Nivaldo, obrigado !!!!

Se eu me lembro bem, na primeira parte do tutorial, na instalação do programa, deve ter a dica para o Windows Vista e Windows 7.

Mas é simples :

Quando instalar o programa, e qualquer outro executável relativo a ele (!), instale como ADMINISTRADOR.

Depois, quando estiver tudo pronto, vá no ícone do PIC SIMULATOR IDE, e marque ele em MODO DE COMPATIBILIDADE WINDOWS XP SP2 ou SP3 ok ?

É assim que eu rodo o meu aqui em casa.

Um abraço !

Paulo

Link para o comentário
Compartilhar em outros sites

Bom dia Paulo!

Como vai tudo bem?

Professor gostaria que desse uma olhada no seguinte:

MESMO PROJETO

Estou trabalhando na parte da gravação do n. do telefone na memória do PIC.

A cada numero discado tenho que zerar o banco de dados.

Tive que colocar um tempo de retardo para evitar repiques.

Com valor 200 ele fica razoável para o repique interno do sistema porém, tenho problemas de repique nas teclas então, tive que aumentar e ficou um pouco desconfortável porque tenho que manter uma velocidade de teclagem de acordo.

Um abraço,

Enio.

Select Case dados

Case 1

Gosub grava

Case 2

Gosub grava

Case 3

Gosub grava

Case 4

Gosub grava

Case 5

Gosub grava

Case 6

Gosub grava

Case 7

Gosub grava

Case 8

Gosub grava

Case 9

Gosub grava

Case 10

Gosub grava

EndSelect

WaitMs 800 'evita repique interno e das teclas do teclado

Goto inicio ====> faz nova leitura dos dados

End

grava:

r = r + 1

Write r, dados

FreqOut PORTA.6, 600, 100 ===> sinaliza a cada número gravado

limpadados: ====> limpa banco de dados

Gosub virasaida

d0 = 1

d1 = 1

d2 = 1

d3 = 1

Gosub escreve

Return

=============================EM TEMPO======================

PROFESSOR dei melhoria na apresentação

===> Agora acho que ficou melhor mas o problema do retardo para evitar o repic continua

gravanopic:

For j = 1 To 10

If dados = j Then

Goto grava

Endif

Next j

Goto inicio

End___________________________________________________

grava:

r = r + 1

Write r, dados

FreqOut PORTA.6, 600, 100 ==> dá um bip a cada numero GRAVADO

limpadados:

Gosub virasaida

d0 = 1

d1 = 1

d2 = 1

d3 = 1

Gosub escreve

WaitMs 800 === >evita repique

Goto inicio

Link para o comentário
Compartilhar em outros sites

Amigo TcheCara...

Antes de mais nada o meu muito obrigado pela sua atenção. Vasculhando a net, encontrei varias maneiras e formas de substituir o MAX232, seja utilizando transistores, portas NAND, portas NOR ou ainda inversores ou ainda o par também específico 75XXX, nenhuma delas prevê o isolamento elétrico entre o DTE e o DCE, encontrei também uma monografia de mestrado da UFMG descrevendo o uso da porta COM e afirmando que para se utilizar a comunicação RS232 é indispensável que exista um terra comum entre os dois sistemas - mesmo assim montei os opto-acopladores e fiz testes aqui: consegui estabelecer a comunicação entre o PC e o PIC, porém todos os caracteres saem/chegam errados. Poderá até ser o uso de optos inadequados (baixa veleocidade de comutação) ou algum outro detalhe, porém no momento não tenho condições de afirmar. O que posso afirmar é que o mesmo PIC com o mesmo programa gravado estabelece comunicação bi-direcional sem erros utilizando o MAX232. Quanto ao material que você disponibilizou é uma tonelada hahaha....haja tempo para analisar um a um - alguns com descritivo em linguas completamente desconhecida para mim.

PS: Se houver algo em que eu possa ajudar....é só sinalizar daí.

Abraços...

Itamar

Link para o comentário
Compartilhar em outros sites

Tchecara,

Fala aí meu,,,, ainda com esse projeto ???? Arre !!!!! heheheh

Dá uma olhada aqui :

http://forum.clubedohardware.com.br/showpost.php?p=3815389&postcount=2

http://forum.clubedohardware.com.br/showpost.php?p=3850352&postcount=53

São trechos de código para resolver esses problemas com teclas que voce tem, que se chamam Debounce ...

Dá uma lida, e veja que temos de esperar por uns 50 mseg antes de voltar a ler qualquer botão, ok ?

Implemente essa técnica no seu programa !

IAS,

Cuidado com esses opto-acopladores, pois como voce tem de passar dados digitais por eles com uma velocidade de transição de 0 para 1 e de 1 para 0, eles acabam "arredondando" as formas de ondas, e os circuitos decodificam errado os dados.

Faz um teste, abaixe o Baud Rate para 300 e veja o que acontece.

Quanto à monografia que voce falou, o fato de voce usar optoacopladores não invalida a transmissão de dados, apenas está isolando galvânicamente os dois circuitos, para evitar juntar os terras !!!! Tem muitas horas onde juntar os terras pode torrar nossos circuitos !

Não tem nada errado nisto, mas o circuito com opto tem alguns truques para poder trabalhar direito a velocidades altas ( acima de 1200 já causa problemas ! ) ok ?

Vou pegar um esquema que eu tenho e te passar para voce fazer um teste.

Um abraço !

Paulo

Link para o comentário
Compartilhar em outros sites

Tiagod,

Depende de quanto voce quer gastar .... os que eu indico são estes :

http://produto.mercadolivre.com.br/MLB-127203484-programador-gravador-pic-icd2-usb-usa-mplab-c-soquete-zif-_JM

http://produto.mercadolivre.com.br/MLB-125979631-pk2-usb-gravadorprogramador-de-microcontroladores-pic-_JM

Ambos seguem o padrão do PICKIT2 da Microchip, e sempre tem atualização de firmware da própria Microchip !

Ou seja, são bem poderosos, tem gravação ICSP , soquete ZIF, e atendem uma gama enorme de modelos de PIC, e funcionam apenas ligados na porta USB de qualquer PC.

Particularmente, gostei mais do segundo ... ( preço x benefício !!! )

Paulo

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!