collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas  (Lida 22385 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
« Responder #45 em: 27 de Setembro de 2012, 00:24 »
Há algumas plaquinhas que são um ATmega e pouco mais, como por exemplo o EDuino-B que criei exactamente porque achava que deixar um "arduino inteiro" era um desperdício em alguns projectos, e deve ser a mais simples delas todas (não tem regulador de 5V, mas isso é baratíssimo e fácil de fazer com um 7805): EDuino (Inglês). Uma placa deste tipo pode ser usada para tornar um projecto mais permanente (e sem más ligações); como referi existem outras até mesmo aqui pelo fórum, umas com módulos de comunicação RF, etc. Se houver alguma eletrónica extra, esta pode ser montada numa placa perfurada e depois conectada à placa com o ATmega através de fios soldados ou fichas. Se a plaquinha "*duino" tiver headers (pinos) e com espaçamentos múltiplos de ~2,54mm (a distância entre 2 pinos duma breadboard), estes podem até ser soldados directamente (ou encaixados com fichas) numa placa perfurada que conterá os restantes componentes necessários ao vosso projecto. Convém começar com uma placa *duino que já tenha o máximo de "periféricos" que o projecto utilize (por exemplo, se vão usar módulos de RF, não vão começar com um EDuino; o melhor é começar com um rfDUINO que já está preparado para levar esses módulos).

Estes microcontroladores, AVR e PIC e outros, são super simples de programar "bare-bones", ou seja, ali "do zero" em C puro ou mesmo Assembly. Não há hardware nenhum para inicializar, ao contrário de outros chips mais complexos (cuja inicialização até "mete medo" :) ). Para programar um AVR em Assembly basta o AVRStudio. O AVRStudio tem uma cena espectacular, que não faz tudo mas que é uma ajuda brutal, que é um simulador; o simulador é um programa que imita o comportamento do AVR (qualquer dos chips AVR8) e "executa" o vosso programa, permitindo-vos verificar se ele funciona antes sequer de o gravarem no chip (dentro de alguns limites)!

Para quem não está interessado em "saber assim tanto", podem programar em C, e aqui o já referido WinAVR cobre todas as necessidades no caso do AVR (acho que também até tem um simulador). "WinAVR" é o nome que se dá a um conjunto de programas e outros conjuntos que são necessários para programar os AVR em C, desde um editor de texto orientado a pessoas que programam até utilitários para gravar o código nos chips passando pelos programas que convertem o texto em C em ficheiros de números que são a linguagem ("código máquina" é o seu nome genérico) que o chip entende. O AVRStudio também é capaz de simular um programa escrito em C/C++ (funcionalidade que eu uso extensivamente; quando gravo um projecto novo num chip pela 1ª vez, já sei que pelo menos 90% do código está a funcionar).

Para os AVR está aqui um tutorial que escrevi para um modelo mais pequeno (os "tiny"), mas que é facilmente adaptável para os mega, bastando indicar ao compilador qual é o modelo de AVR que se está a usar (em vez do attiny26 usado no tutorial) e usando os pinos de I/O disponíveis no modelo que se quer usar (a consultar na datasheet): Micro Tutorial AVR (Português). Este tutorial usa o WinAVR e mostra o mínimo necessário para programar um AVR em C.
« Última modificação: 27 de Setembro de 2012, 00:40 por Njay »

Offline DLM

  • Mini Robot
  • *
  • Mensagens: 115
Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
« Responder #46 em: 28 de Setembro de 2012, 00:23 »
Obrigado pelos esclarecimentos Njay  ;) mas ainda não estou 100% esclarecido, apesar de ainda não ter lido os links que citaste, por falta de tempo, mas vou fazê-lo e se achares que as perguntas estão lá respondidas não precisas de responder outra vez claro.

O EDuino que falas é equivalente aos PIC programmers?

Outra questão é se posso programar um Arduino Uno em C em vez de usar o programa deles? Como? Com outro programa ou o mesmo dá?

E se isso for possível imaginemos que faço um termómetro com o tal Arduino Uno que me envia a temperatura para um lcd (tudo em C) e agora quero tornar isto permanente, como faço? Compro um atmega (qual/quais?) e como carrego o atmega com o programa? Uso o tal EDuino?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
« Responder #47 em: 28 de Setembro de 2012, 14:28 »
O EDuino que falas é equivalente aos PIC programmers?
Não, o EDuino é como um breaduino mas numa placa de PCB.

Outra questão é se posso programar um Arduino Uno em C em vez de usar o programa deles? Como? Com outro programa ou o mesmo dá?
Podes, utilizando o WinAVR (que já vem incluido no ambiente de desenvolvimento do Arduino, portanto se já o tens, não precisas de descarregar mais nada da net). O processo é o mesmo que está descrito no Micro Tutorial AVR cujo link deixei no post anterior, excepto que o nome do chip e do programador têm que ser mudados.

E se isso for possível imaginemos que faço um termómetro com o tal Arduino Uno que me envia a temperatura para um lcd (tudo em C) e agora quero tornar isto permanente, como faço? Compro um atmega (qual/quais?) e como carrego o atmega com o programa? Uso o tal EDuino?
Podes usar um EDuino ou outras placas simples que há por aí, como por exemplo o "micro-mega" (acho que é este o nome). Para carregar um sketch nestes "arduinos simplificados" precisas de ter um cabo FTDI ou usar um projecto que há por aí que transforma um Arduino "normal" num programador (penso que já falaram nisso neste tópico, o senso se não estou em erro). Os chips compativeis com o ambiente de programação do Arduino são grosso modo estes, que variam essencialmente no espaço disponível para guardar sketchs (do que tem menos espaço para o que tem mais):

ATmega8
ATmega168
ATmega328

« Última modificação: 28 de Setembro de 2012, 14:29 por Njay »

Offline DLM

  • Mini Robot
  • *
  • Mensagens: 115
Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
« Responder #48 em: 28 de Setembro de 2012, 20:27 »
Podes usar um EDuino ou outras placas simples que há por aí, como por exemplo o "micro-mega" (acho que é este o nome). Para carregar um sketch nestes "arduinos simplificados" precisas de ter um cabo FTDI ou usar um projecto que há por aí que transforma um Arduino "normal" num programador (penso que já falaram nisso neste tópico, o senso se não estou em erro). Os chips compativeis com o ambiente de programação do Arduino são grosso modo estes, que variam essencialmente no espaço disponível para guardar sketchs (do que tem menos espaço para o que tem mais):

ATmega8
ATmega168
ATmega328
Ou seja para ver se já percebi todo o processo. Desenvolvo e testo o meu programa no Arduino Uno e chegou a hora de o passar para o atmega. Sigo o teu tutorial mas só tenho de carregar o programa que escrevi para o atmega, é isso?

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
« Responder #49 em: 28 de Setembro de 2012, 20:58 »
Se queres/podes desenvolver o sketch todo no Arduino, então não precisas de nada do que está no tutorial. O ATmega (chip) pode ser desencaixado do Arduino e portanto é só passá-lo para o EDuino ou outra board do género e comprar outro ATmega com bootloader para colocar no Arduino.