LusoRobótica - Robótica em Português

Robótica => Iniciantes => Tópico iniciado por: tgferreira em 14 de Julho de 2012, 20:12

Título: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: tgferreira em 14 de Julho de 2012, 20:12
Boas pessoal,

Desde que me iniciei na electrónica e robótica apercebi-me que os microcontroladores são uma invenção excelente!
Servem para quase tudo! Desde pegar num botão on/off e programar para que o on seja o off e vice versa até ao mais complexo robot. Um microcontrolador de fácil acesso a todos é, por exemplo o Arduino. Das suas características, destaco:
-Para programar basta ligar um cabo USB;
-Adapta-se rapidamente a qualquer projecto, uma vez que é só encaixar os cabos nos headers.


No entanto, o Arduino tem também alguns pontos negativos, a meu ver:
-Não é muito barato;
-Não é muito prático para projectos permanentes, uma vez que se desligam os cabos com muita facilidade.


Por isso, e como tenho vários projectos que gostaria de por a andar, estou à procura de uma alternativa ao Arduino. Mas tenho montes de dúvidas:

-Como vou programar um microcontrolador se ele não tem porta USB?
-Como é que faço o pinout de um dado microcontrolador?
-Como é que adapto funções como sensores de movimentos, temperatura ou implemento Wi-fi num outro MC que não o Arduino?


Como julgo que esta é uma dúvida que está na cabeça de muita gente na minha posição, decidi criar este tópico, uma vez que talvez possa ajudar alguém no futuro.

Desde já os meus agradecimentos!
Tiago Ferreira.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: amando96 em 14 de Julho de 2012, 20:22
O arduino não é um microcontrolador, é um conjunto de várias coisas, e tendo em conta o que traz é o contrário de caro.

Tens logo micro controlador, bibliotecas para escreveres código fácil de entender, powersupply de 5v estável, programador de USB, user interface fácil de usar e uma comunidade ENORME na net em muitas linguas.

Para programares um PIC(microcontroladores da marca microchip) só o programador de USB custa mais que o arduino.

E ainda podes usar o arduino como programador de AVRs quando quiseres entrar no mundo de AVRs sem a "papinha toda feita" do arduino.

Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: metRo_ em 14 de Julho de 2012, 20:24
Um concelho: parece-me que estás a querer avançar muitos passos.

Em relação à tua duvida a mesma começa por ainda não teres percebido que o Arduino não é um micro-controlador mas sim uma placa desenvolvimento. O micro-controlador em questão é um Atmega da ATMEL. Depois, o preço, o Arduino deve o sucesso que tem ao seu baixo preço por isso ao contrário do que pensas não é caro.

Eu no teu lugar continuava com o Arduino mais algum tempo e tentava perceber como este é constituído, qual é realmente o microcontrolador que ele usa, para que servem os integrados na placa, ver os esquemas do Arduino. Depois mesmo sem sair do Arduino programar este em C usando por exemplo o AVR-GCC.

Com o tempo vais começar a perceber como funcionam as coisas. Podes acelerar esse processo abrindo o google e começares a pesquisares e leres.

De certeza que muita gente aqui está disposta ajudar mas terás que fazer perguntas mais especificas, não é que as que colocas-te não sejam e seriam muito fáceis de responder mas depois iriam surgir o dobro das perguntas se respondesse pois percebe-se pelo tópico que te faltam ainda muitas noções.

;)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: tgferreira em 14 de Julho de 2012, 20:36
Uma função exponencial de perguntas, já entendi. Ok, compreendi o que disseram, mas agora tenho outras questões sobre o Arduino. Vou questionar dando exemplos concretos:

Quero, por exemplo fazer um sistema de Alarme. Se for com Arduino, sei quase com exactidão como vou trabalhar com os sensores, mas tenho um problema um bocado esquisito: se eu quiser fazer algo permanente, para que os cabos não se desliguem sem querer. Como o posso fazer? :/

Esse é um exemplo. Outra coisa simples que queria fazer era, tal como referi no primeiro post, um botão on off, se estiver on o arduino considera off e vice versa. Mas tenho sempre o problema de não poder ligar os cabos mais permanentemente e dar 25 euros por uma placa para esta função parece-me um valor elevado.

Têm respostas a estas questões?

Obrigado!
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: metRo_ em 14 de Julho de 2012, 20:42
Quero, por exemplo fazer um sistema de Alarme. Se for com Arduino, sei quase com exactidão como vou trabalhar com os sensores, mas tenho um problema um bocado esquisito: se eu quiser fazer algo permanente, para que os cabos não se desliguem sem querer. Como o posso fazer? :/

Podes desenhar uma placa baseada no Arduino, por exemplo utilizando o eagle ou kicad, eu prefiro o kicad mas acredito que seja mais facil o eagle e que até arranjes projectos base para o eagle do Arduino. Colocas connectores como por exemplo:
(https://lusorobotica.com/proxy.php?request=http%3A%2F%2Fwww.ecomponent.it%2Fimages%2Fcategories%2Fmorsetto%2520a%2520vite.jpg&hash=a7fe36ec79e61f6a4bb2c507badba271e8842bf1)
ou soldas directamente na placa.

Esse é um exemplo. Outra coisa simples que queria fazer era, tal como referi no primeiro post, um botão on off, se estiver on o arduino considera off e vice versa. Mas tenho sempre o problema de não poder ligar os cabos mais permanentemente e dar 25 euros por uma placa para esta função parece-me um valor elevado.
Não percebi muito bem o que queres aqui mas vou tentar. Tens botões normalmente "ON" e outros normalmente "OFF", isto é no seu estado natural uns estão a ON e outros a OFF.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: iyahdub em 14 de Julho de 2012, 20:44
Facil de criar uma protoboard( ou manda fazer uima placa prototipo...nao e assim tao caro), com o mesmo sistema do arduino... os componentes custam a volta de 7 euros( se calhar nem isso) e programas no arduino e retiras o chip. Ai podes usar os conectores que desejares, e torna-los o mais permanente que conseguires e quiseres...Como dizem os Ingleses EASY PEASY

PS - OU usas um destes http://www.sparkfun.com/products/9729 (http://www.sparkfun.com/products/9729)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: msr em 14 de Julho de 2012, 23:53
Para programares um PIC(microcontroladores da marca microchip) só o programador de USB custa mais que o arduino.

Só um pequeno reparo:
Qualquer microcontrolador, independentemente do fabricante, precisa de um programador (ISCP/ISP - in system/circuit programming). AVRISP, Pickit, STLINK, etc. O que faz o microcontrolador do Arduino não precisar de um é o bootloader (serial). A maioria dos microcontroladores têm bootloaders disponíveis, não é coisa exclusiva dos Arduinos. Nos PIC existe o ds30 loader, nos MSP430 ou STM32 o bootloader vem já gravado numa ROM (em vez de ocupar espaço na memória flash/ram onde fica o programa/dados) - tudo embebido no mesmo chip.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 15 de Julho de 2012, 02:27
Mas tendo um Arduino, pode meter-lhe o sketch Arduino-ISP e fica com um programador ISP minimo, com isso agarra num atmega8 e faz um usbasp, que programa tudo da atmel que tenha USB.

É claro que micros há para todos os gostos, mas muito sinceramente ao fim do dia o que conta é o código que tem dentro, e não se é da marca A,B ou C, continuamos a ter milhares de produtos que usamos diariamente a usares processadores x51, por exemplo os Psoc da Cypress, ou os milhões de cartões SD que têm um derivado de 8051 a fazer a gestão do cartão, wear leveling e mais umas coisitas, simplesmente por ser um design mais que testado e aprovado e por existir muito código e muitas empresas têm micro-controladores em que o nucleo é um 8051..

O grande problema de falta de velocidade num programa é 99% das vezes derivado a mau e/ou péssimo código, se pensarem no que se conseguia fazer com um z80 a correr a 1Mhz ou 2.

Se tens um Arduino, passa para C puro e manda as bibliotecas do Arduino passear, tens tutorais aqui no forum precisamente sobre isso.

Como já te disseram qualquer que seja o micro-quase sempre precisas de um programador, que te permite para além de programar os chips, fazer o debug dos mesmos, mas actualmente já é comum ver micros já com bootloaders serial incluidos num ROM/flash separada da flash principal, tens como por exemplo os Psoc que até é bootloader usb, maior parte dos ARM cortex M3, e mais.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: zordlyon em 15 de Julho de 2012, 10:36
Uma coisa que não foi aqui também referido ainda...

Pesquisa aqui no fórum por "Minimalist Arduino" ou "Breaduino" e é disso que tu precisas para teres uma protoboard so com o atmega sem fios "soltos".....  ;)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Sérgio_Sena em 15 de Julho de 2012, 12:26
O Senso está lá.
Vou acrescentar mais ainda.

Esquecendo agora a parte de estudante/hobbista, que procura usar o mais barato e disponivel no momento, profissionalmente o microcontrolador é escolhido tendo em conta pelo menos duas importante premissas: como vai ser escrito o software a correr, e que tipo de competência energética o microcontrolador vai ter que suportar.

O facto de ter de usar USB, ou Ethernet, ou Gráficos, ou etceteras... todas as marcas estão capazes.
Aqui a escolha  foca-se nas duas que já disse acima, e há uma terceira que pesa bastante: a preferência do designer.

Pessoalmente posso dizer-vos que trabalho com PIC, AVR, ARM e o velhinho 8051.
A escolha depende da aplicação e depende do cliente. Sim, há clientes que exigem este core ou aquele.

A minha preferência? Já não tenho. Durante muitos anos fui acérrimo utilizador de PIC, e simpatizante com os outros... mas não os usava. Tratava-se de uma curva de aprendizagem (e compra de ferramentas) que eu não estava preparado para fazer. Mas, como tudo, sou bastante curioso. E a certo ponto já tinha entrado em AVR e ARM e nem tinha dado por isso.


Agora umas palavras para os utilizadores puros de Arduino.
Para aqueles mesmo que não mexem em mais nada a não ser Arduino :::

Como já vos disseram algumas vezes, o Arduino não é um microcontrolador. É sim um IDE com carradas de bibliotecas já feitas, de onde o código escrito é descarregado para um microcontrolador externo com bootloader. Se chamaram Arduino a uma placa de custo baixo, foi apenas estratégia de marketing, pois a NXP também chamou "mbed" a um sistema deles, e o "segredo" estava todo no IDE/compilador. A placa externa é apenas uma implementação do microcontrolador com extras.

Desenganem-se, assim, se pensam que são experts em programação, pois aquilo que sabem fazer é colar bibliotecas e compilar o sistema. Não estão a fazer nada a não ser corte-e-costura.

O verdadeiro trabalho está na biblioteca. Aí sim está a verdadeira programação.
Não é "normal" (profissionalmante) agarrar num Ethernet Shield e no fim do dia ter um webserver a correr e tudo pronto. Não é normal. (a não ser que se compre um DevKit do fabricante já com essa opção feita). É sim fruto de alguns carolas que passaram umas valentes semanas (meses) a escrever código Ethernet, para que o resto do planeta consiga brincar ao fim de horas.

É a vantagem do Arduino :: rapidez e simplicidade. Tem o seu mérito, mas apenas educativo e artistico.
E com gente boa que gosta de dar em open-source.


Como já disse o Senso e outros, se querem fazer verdadeira programação, esqueçam o Arduino e façam as vossas próprias bibliotecas. Aí vão ver o suor a cair... acabam por sentir que (ainda) não sabem fazer nada.
Eu também uso bibliotecas, mas foram escritas por mim ao longo dos anos, o que me permite agora executar trabalhos btt mais rapidamente.


Por isso, Tiago, tens duas escolhas a fazer ::

- se queres poupar dinheiro e tempo, continua com o Arduino e faz as tuas próprias plaquinhas

- se queres evoluir como programador, larga o Arduino e concentra-te na arquitectura que escolheres e no compilador que escolheres.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 15 de Julho de 2012, 14:17
Pois, eu também gostava de deixar de utilizar o arduino e passar a algo mais complicado e valorizado no mercado de trabalho...
Estava a pensar em aprender a programar PIC's, mas os livros são um bocado caros, se calhar lá para o Natal.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 15 de Julho de 2012, 14:35
Caro amigo, porque não usas AvrStudio e programas directamente em C em vez de usares o IDE do Arduino?
É que placa para programar e experimentar já tens e PIC não é mais valorizado no mercado, não percebo de onde vem essas ideias.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 15 de Julho de 2012, 14:57
Pois, tenho que fazer isso... Não sei, a ideia que tenho é que o arduino facilita tudo, não sei até que ponto usar essas facilidades é bom ou não.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Sérgio_Sena em 15 de Julho de 2012, 15:09
Pois, eu também gostava de deixar de utilizar o arduino e passar a algo mais complicado e valorizado no mercado de trabalho...
Estava a pensar em aprender a programar PIC's, mas os livros são um bocado caros, se calhar lá para o Natal.

Se quiseres livros, tenho três em papel para oferecer, e mais um manual em digital.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: beirao em 15 de Julho de 2012, 15:11
Também tenho uns tutorias que te possam enviar, se precisares. Estão feitos para a família PIC18F, mas dá para ter uma visão geral do PIC em si
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 15 de Julho de 2012, 15:30
Se quiseres atirar a facilidade para trás das costas, começa a ler isto:
http://lusorobotica.com/index.php?topic=2838.0 (http://lusorobotica.com/index.php?topic=2838.0)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Njay em 15 de Julho de 2012, 15:34
Como já vos disseram algumas vezes, o Arduino não é um microcontrolador. É sim um IDE com carradas de bibliotecas já feitas, de onde o código escrito é descarregado para um microcontrolador externo com bootloader. Se chamaram Arduino a uma placa de custo baixo, foi apenas estratégia de marketing, pois a NXP também chamou "mbed" a um sistema deles, e o "segredo" estava todo no IDE/compilador.

E o IDE nem é nada de especial (até é uma bela merd... mas podem dizer que editam os ficheiros num editor externo). E eles não inventaram linguagem nenhuma, aquilo é C/C++ com um pre-processador para facilitar um pouco a "colagem" a quem não tem experiência de programação, mais o tal conjunto de bibliotecas. Não deixa de ter o seu mérito claro, que foi o de criar um "standard" de hw e bibliotecas prontas a usar e que "pegou" (sim, porque já muito antes do arduino haviam conjuntos de bibliotecas para o AVR, mas a malta do hw nunca quer standardizar no hw, os projectos podem ser todos muito diferentes e é difícil standardizar).

Quem já tem o IDE do Arduino, também já tem toda a tool chain (gcc) para programar os modelos todos de AVR8 em C/C++. O gcc está lá por baixo numa das directorias e pode ser usado independentemente do IDE.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 15 de Julho de 2012, 18:08
Obrigado, vou experimentar um dia destes, agora que estou de férias tenho muito tempo :D
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: iyahdub em 15 de Julho de 2012, 18:23
Ahhhhhh Granda Senso !!! lol lol Assim e que e !!
E Njay, e verdade... Mas temos que lhes dar o credito que eles trouxeram muita gente pata o mundo dos uC's, sem duvida.Isso niguem lhes tira; AVRs tinham tb feito isso antes a uma escala menor, devido ao AVRGCC ser gratis etc...
Porque verdade se diga: Se fosse so os PICS por ai, nao havia tanta gente agarrado a programacao de uCs neste moment.
Mas devido ao meu percurso ( que apesar de ter experiencia em programacao, vim de um mundo de electronica), tambem nao desaconselho comecarem pelo Arduino ate conseguirem encarrilhar com o modus operandi  e entao seguir para o resto. Porque alias acho que os passos logicos acabam por obrigar qq pessoa que siga aprendendo a procurar a linguagem c em AVR GCC de qq maneira, aj que oArduino e limitado no que toca a projectos complexos...

Por isso, depende sempre da pessoa e do background que possa ter.
Sinceramente, dou gracas a ter pesquisado bem o bastante antes de ter comprado seja o que for  e de ter comecado com um Arduino. Pq acho que se tivesse comecado com um PIC ( tendo em conta que sou autodidata nesse campo) estava ainda a tentar acabar o meu primeiro projecto, enquanto que assim ja me sinto a vontade o suficiente com AVR e ja brinco com PICS tanto em ASM como em C ( tinha que por ASM em maiusculas lol).

Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 15 de Julho de 2012, 18:33
Se quiseres livros, tenho três em papel para oferecer, e mais um manual em digital.

Mas não precisas deles?
Se me puderes dar o manuel em formato digital era fixe!
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Sérgio_Sena em 16 de Julho de 2012, 15:27
Se quiseres livros, tenho três em papel para oferecer, e mais um manual em digital.

Mas não precisas deles?
Se me puderes dar o manuel em formato digital era fixe!


Não preciso deles.
Há até um post, neste e noutro forum, a oferecer os ditos. Como na altura era complicado para mim andar a caminho dos CTT, nunca os dei a ninguém, nem nunca ninguém os cá veio buscar pessoalmente.

Quanto ao digital, há um post também neste forum sobre "Curso de Microcontroladores PIC". Está lá tudo !
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 16 de Julho de 2012, 15:42
Obrigado, já encontrei o tópico, vou dar uma vista de olhos!

Cumps
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Sérgio_Sena em 16 de Julho de 2012, 15:43
Qualquer dúvida, posta aqui no forum. Aparece sempre boa gente para te auxiliar.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: tgferreira em 24 de Setembro de 2012, 01:09
Boas pessoal,
Tive uma ideia para um pequeno projecto de electrónica mas no qual tenho uma dúvida.

Basicamente quero ter uma string de LEDS e ter um botão ou vários botões para os controlar: um para on/off e outros botões para controlar a intensidade. No caso de ser só um botão, cada clique e numa determinada ordem ía corresponder a uma acção.

Sei que posso fazer isto com o Arduino. No entanto, tendo em conta a aplicação (algo tão pequeno e tão simples) queria ver se é possível faze-lo de outra maneira. Uma hipótese era usar um botão on/off normal e um potenciómetro, mas queria usar momentary buttons. Alguém tem uma sugestão?

Obrigado em avanço!
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 07:25
Mas querias controlar a string de leds inteira ou querias controlar cada led da string? Se querias controlar cada led da string precisas de shift registers para aumentar as portas do microcontrolador dependendo do número de leds.

Pelo que percebi queres fazer isso sem usar um microcontrolador... Sendo assim acho que já não posso ajudar mais porque também não estou a ver como podes fazer  :(
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: tgferreira em 24 de Setembro de 2012, 14:08
Queria controlar a string como um todo. Vamos imaginar que é um LED só.

Pois, a questão é que como é algo tão pequeno não queria gastar tanto com um arduino.

Ok, apercebi-me que me expliquei mal: sei fazer isto com um arduino, mas preferia faze-lo com algo com custos o mais reduzidos possíveis. Alguém me dá uma dica?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 24 de Setembro de 2012, 14:15
Precisas de uma fonte de corrente constante ajustavel, um LM317, vês o datasheet, juntas um potenciometro e um botão para ligar e desligar a alimentação, és capaz de gastar 1,5€ em componentes.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: tgferreira em 24 de Setembro de 2012, 14:38
Precisas de uma fonte de corrente constante ajustavel, um LM317, vês o datasheet, juntas um potenciometro e um botão para ligar e desligar a alimentação, és capaz de gastar 1,5€ em componentes.

Boas e obrigado!
Sim, parece-me uma boa ideia. Como já tenho fonte de alimentação adequada vou-me ficar só pelo potenciómetro e pelo botão.

Só uma outra questão, e agora já complicando bem mais:

Supondo que eu quero fazer essa tal string de LEDS, considerando agora só o On e off, para simplificar. Além desta string poder ser controlada no local, quero que seja controlada de maneira sem fios. Quais os materiais que irei necessitar?

Ok, o que penso que preciso:

No "local":
LED's
Momentary button
Fonte de alimentação

Na "estação de controlo":
Momentary button


Agora, vou precisar de um transmissor. Talvez um emissor e receptor daqueles que se utilizam nos carros telecomandados? Mas e para controlar estes componentes, o que necessito? Sei que com Arduino dá, mas tenho que utilizar dois arduinos ou basta um?

Obrigado!
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 24 de Setembro de 2012, 14:55
Precisas do LM317 para gerar uma corrente constante, ou acabas por queimar os leds, os leds devem ser controlados usando uma corrente constante.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 15:28
Não estou a ver como podes controlar a intensidade da luz sem fios sem usar um microcontrolador, mas acho que podes ligar e desligar sem fios usando um encoder/decoder, um transmissor, um receptor e um interruptor.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: neduino em 24 de Setembro de 2012, 16:22
Olá

Eu tb sou um principiante nesta coisa da electrónica, e fiquei bastante entusiasmado com as possibilidades do arduino, quer pela sua simplicidade, preço e pelo numero de projectos que isto permite fazer.
Como tudo tem um principio escolhi um projecto que me pareceu mais ou menos fácil para começar que foi o indicado neste tópico

http://lusorobotica.com/index.php/topic,1111.0.html (http://lusorobotica.com/index.php/topic,1111.0.html)

contudo ficou-me uma duvida que penso ser o que está na genese deste post que é eu posso construir um laser tag com um arduino, mas se quiser fazer duas ou três não existe nada que possa subsituir as funções do arduino nas outras tag? é que por muito barato que seja parece-me um desperdicio colocar um arduino em cada uma que eu eu queira fazer ...

Alguem pode explicar como é que isto se pode fazer?

Obrigado!
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 24 de Setembro de 2012, 16:26
Utilizas só o micro-controlador, fazes um breaduino:
http://lusorobotica.com/index.php?topic=522.0 (http://lusorobotica.com/index.php?topic=522.0)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 16:30
O arduino é apenas uma placa que contém um microcontrolador atmega328p, um conversor Serial-USB e um bootloader que facilita a colocação do programa na memória flash do atmega328p. Se quiseres poupar dinheiro compras um atmega328p ou outro qualquer e programas em C. Se quiseres programar em C precisas de um programador ou outro arduino. Se o quiseres programar como programas o arduino precisas de lá meter o bootloader e depois podes usar um conversor usb-ttl ou um arduino sem microcontrolador para programar.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: neduino em 24 de Setembro de 2012, 16:58
muito obrigado pela resposta rápida :) vou ler o breaduino e se tiver duvidas já cá venho perguntar:)

@rglove, ok eu estive a ver e existem atmega328p já com boatloader, nestes casos o que preciso de fazer?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 17:17
Se já tiver o bootloader apenas precisas de um conversor usb-ttl ou então de um arduino sem microcontrolador  ;)
É só ligar tx com tx, rx com rx, depois o vcc e gnd.
Precisas também de um cristal de 16MHz caso o bootloader seja do UNO.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 24 de Setembro de 2012, 18:16
E tambem precisa de ligar o pino do reset, se não, não funciona.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 18:20
Pois, esqueci-me desse   :P

Nesse caso não dá para usar qualquer conversor usb-ttl certo?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 24 de Setembro de 2012, 18:27
Dá, metes um botão e em vez de auto-reset fazes reset a mão.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: dio123 em 24 de Setembro de 2012, 18:34
podes fazer como eu.

Tenho o arduino dualminove com o atmega328  onde até uns dias programava só na IDE Arduino. 

A pouco dias recebi uma encomenda vários atmega8 , e em vez de instalar o bootloader , pensei , vou começar a programar como deve ser.  Então segui  tutorial onde explica os primeiros passos no avr studio, e depois para gravar o hex gerado pelo avr studio segui outro tutorial  bigMode só que  em vez de gravar o bootloader gravo o ficheiro hex gerado pelo avr studio.

Neste momento estou a fazer umas experiencias lcd, leds , potenciometros, coisas simples, para entender a coisa.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: rglove em 24 de Setembro de 2012, 19:07
Também andava com a preguiça de aprender a programar em C, mas lá fui experimentando e até prefiro C  ;)
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: neduino em 25 de Setembro de 2012, 11:50
Pois, esqueci-me desse   :P

Nesse caso não dá para usar qualquer conversor usb-ttl certo?


Muito obrigado aos dois :) vou começar a brincar e depois partilho!
Já agora este site é espetacular
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: GnGz em 25 de Setembro de 2012, 18:57
Sempre programaram em c com o arduino :P .

Digamos que querem trabalhar sem api do arduino !
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: DLM em 25 de Setembro de 2012, 22:28
Então dá para programar o arduino sem usar o software do arduino, mas utilizando o avrstudio?
Programo em C# no avrstudio, compilo com ponyprog e se as coisas estiverem bem feitas fica a funcionar como se tivesse usado o software do arduino?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: senso em 25 de Setembro de 2012, 22:48
No AvrStudio programas em C, se alterares umas coisas podes programar em C++, nunca em C#.
Quem compila é o avr-gcc, que no AvrStudio 4.x tinha de ser instalado á parte instalando o WinAvr, no AvrStudio 6 o compilador já bem incluido, mas continua a ser o avr-gcc, o Ponyprog é apenas um GUI para o Avrdude e tudo o que lá fazes, fazes na linha de comandos.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: DLM em 26 de Setembro de 2012, 15:59
Queria dizer C, mas para ficar completamente esclarecido do processo.
Imaginemos que tenho um projecto que desenvolvo em arduino e gostava de o tornar "permanente".
O que é que tenho de fazer?
Passar o circuito para uma PCB e carregar um atmega com o programa que desenvolvi?
Dá para programar o Arduino já em C para depois só ter de carregar o atmega ou não é assim tão linear?

Outra coisa mais à parte que ainda não percebi bem é se existe diferença na programação entre atmegas? E entre PICs?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Njay 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 (http://embeddeddreams.com/site/2009/07/29/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 (http://embeddeddreams.com/users/njay/Micro%20Tutorial%20AVR%20-%20Njay.pdf) (Português). Este tutorial usa o WinAVR e mostra o mínimo necessário para programar um AVR em C.
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: DLM 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?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Njay 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

Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: DLM 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?
Título: Re: Microcontroladores - Alternativas a Arduino e como trabalhar com as mesmas
Enviado por: Njay 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.