Ir ao conteúdo

Duvidas Sobre a IDE do Arduino


Visitante

Posts recomendados

Postado

Ola Pessoal.

Estou bolando um projeto em que preciso me comunicar com um hardware especifico, e existe uma biblioteca deste hardware para o Arduíno, o que eu quero saber é: caso eu desenvolva meu programa na IDE do Arduíno, este mesmo programa vai funcionar em outro AVR (sem o bootloader) ou um programa para Arduíno (neste caso é o UNO) "precisa" de algum componente especifico que fica no bootloader.

Minha ideia é desenvolver o programa na IDE do Arduíno e depois pegar o HEX e gravar em outros +ou- 20 ATMega328 um para cada equipamento, ai eu usaria o próprio Arduíno como laboratório de teste e para gravar os outros ATMega.

Estava pesando em comprar este clone:

http://dx.com/pt/p/uno-r3-development-board-microcontroller-mega328p-atmega16u2-compat-for-arduino-blue-black-215600

Alguém ai já usou? Sabe se é bom?

Obrigado pela ajuda...

Luiz Gustavo

Postado

Oi Luiz,

Quanto ao produto, sim, é uma cópia perfeita, pode comprar sem erro, mas esse dx.com costuma demorar bastante para chegar aqui no Brasil. Eu prefiro comprar no Ebay mesmo, chega entre uns 25 a 50 dias; já as compras que fiz no DX.COM demoraram mais de 70 dias todas elas ....

Quanto ao seu programa :

O que voce fizer no ambiente do Arduíno, precisa sim do Bootloader. voce até pode gravar apenas no chip Atmega328, mas ainda assim legalmente estará sujeito às normas do Arduíno, que proíbem o uso comercial.

Mas creio que não é difícil re-escrever o seu programa em linguagem C, para poder gerar o hexa e gravar, sem restrições comerciais. E sem ter de primeiro gravar um bootloader e depois transferir um programa.

Existem bibliotecas aos montes para isso..... creio que mesmo para o seu hardware voce vai encontrar bibliotecas prontas em C mesmo.

Paulo

Postado

Ola Aphawk.

MUITO obrigado pelas informações, ajudou muito... Você conhece algum outro bom compilador que compile para Arduino(AVR) ou trabalhe direto com o KIT, que você possa me recomendar?

Reescrever o programa em C creio que não sera difícil, o Processing é a cara e o focinho do C (com uns leves traços do JAVA.. HAHAHA), o problema é que vou precisar refazer a parte relativa a biblioteca.

A biblioteca em questão é a de RFID SPI, preciso ler umas TAG's de 13,56Mhz que vão conter uns "dados" previamente gravados . Não encontrei a dita cuja biblioteca para PIC e na "ânsia" de ver logo os resultados acabei me rendendo a "moleza" do Arduíno(rsrsrs).

Mais uma vez, abrigado por tudo Aphawk, e tenha um bom dia.

Grato Luiz Gustavo.

Postado

Olha, infelizmente não entendo patavina nenhuma de C, então não posso lhe ajudar nesse sentido. Se dependesse de mim, eu mudava o nome de C para Complicated .... kkkkkk

Mas pesquisei sobre o chip que você vai usar, que deve ser um RFM XXXXX, não tem nenhuma dificuldade em conversar com ele.

Eu hoje só programo com o Bascom ( Basic ), e gero o .hex e gravo e pronto !

O Arduíno é a minha plataforma de hardware, mas não de software !

Pelo Bascom, eu compilo o programa, e envio para o Arduíno e já vejo tudo funcionando imediatamente usando o monitor serial, como se eu estivesse na IDE do Arduíno ! Tudo dentro do próprio Bascom.

Olhei nos fóruns do Bascom, e existem alguns exemplos de uso em vários programas. Pode ser bem instrutivo para você dar uma lida neles, afinal o Basic é a linguagem de interpretação mais linear de todas que eu ví até hoje, você lê e já sabe o que tem de fazer na mesma hora !

Boa diversão !

Paulo

Postado

Ola Aphawk...

HAHAHAHA.... Desculpa eu não me lembrei que você programava Basic... Ja estudei superficialmente o Basic, achei uma linguagem interessante, vou dar uma olhada nesse Bascom, talvez até acabe por utilizar ele mesmo. Linguagem C eu levo de boa (até certo nível), mas é bom dar uma variada, lembro que apanhei bastante quando comecei com o Java (para android) justamente por estar habituado ao C.

Quanto ao RFID, o problema é que as TAG's são de 13,56Mhz e possuem memoria de 1 a 8K, se as TAG's fossem de 125Khz (apenas o ID de 12 dígitos) nem precisava de biblioteca, pois o driver seria simples de se escrever, mas nos cartões com memoria é necessário haver uma conversação entre o uC e o Leitor (protocolo SPI ou I²C, pois a uart vou utilizar para outra coisa!), já que é necessário informar o Bloco de memoria a qual você quer ler (cada bloco é um conjunto de 16 posições de memoria, cada posição é um registrador de 8 bits), ainda vou gastar um bom tempo fazendo esses dois se entenderem... HAHAHAH...

Obrigado por tudo Aphawk....

A)Luiz Gustavo.

Postado

Hehehe é... a idade chega para todos.....

Seguinte, esqueçe isso de rfid ser complicado, porque não é complicado não, olha os programas feitos e você vai perceber que é simples. Tanto faz ser I2c, SPI, é só uma conversinha simples, e no meu caso o Bascom trata isso fácil.

Uma coisa para você pensar... aonde que você vai guardar uma leitura de memória de 16K em um Arduíno ??????????? Haja Ram ..... ou você vai ter de usar algumas memórias EEprom I2C para armazenar isso tudo.....

Se for apenas pegar pedaços específicos, é só dimensionar uma matriz na Ram do Arduíno por exemplo e guardar nela as informações que te interessam.

Se quiser dar uma olhada no Bascom, que tem versão free para executáveis até 4K, tem o tópico destacado aqui :

http://forum.clubedohardware.com.br/showpost.php?p=5553520&postcount=1

Dá uma olhada nos últimos posts, e veja o programa que o Intruder6 colocou lá..... 1500 linhas.... ocupou cerca de 16% do Arduíno grandão que ele usou.

Paulo

Postado

Ola aphawk.

Só uma pequena observação, cada bloco é de 16 Bytes (16 posições de 8 bits cada)... XD

dei uma revirada no datasheet do MFRC552, realmente não é complicado, mas é muita coisa para manejar... O jeito é juntar todos esses dados e usar para fazer sua própria biblioteca.

Por exemplo, quando houver um cartão sendo lido pelo RC522, se não me engano ele dispara um pulso no IRQ, este pulso eu posso usar para acionar uma interrupção que vai enviar um byte pela SPI, o Bit0 (LSB) desse byte é sempre zero, do bit 1 ao bit 6 é o endereço, e bit 7 é o MSB que deve ser 1, indicando que eu quero ler, com isso ele vai me retornar o valor gravado no endereço que eu pedi, que eu devo salvar dentro de uma matriz do tipo char (8bits) de "n" elementos, sendo cada byte correspondente a um elemento da matriz ... Se estiver certo, só com isso da para trabalhar legal... Vou tentar escrever meu próprio driver, juntando com isso que eu ja tenho e mais a analise, escrita e configuração dos 59 registradores que MFRC522 possui... Vou conseguir acessar todas as funcionalidades desse R/W RFID....

Mais uma vez... Obrigado por tudo....XD

Grato Luiz Gustavo.

  • Coordenador
Postado

Caso o autor necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Arquivado

Este tópico foi arquivado e está fechado para 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!