LusoRobótica - Robótica em Português
Robótica => Iniciantes => Tópico iniciado por: Gabriel SS em 13 de Janeiro de 2011, 15:14
-
Boa,
Estou iniciando no ramo da eletronica e também dos microcontroladores, e preciso de uma sugestão de livro que se tratam sobre programação de microcontroladores.
Também estou iniciando em C, visto que a maioria dos softwares para Arduino (uso por ser mais fácil a programação e também por recursos financeiros).
Grato
-
Os livros é escolher um micro-controlador e sacar os datasheets do mesmo, ler as secções que se quer usar e implementar o código.
-
Os livros é escolher um micro-controlador e sacar os datasheets do mesmo, ler as secções que se quer usar e implementar o código.
Há livros que ajuam neste processo mas não conheço nenhum que te posso aconcelhar!
-
Boa,
Procuro um livro que trate sobre o Arduino (da estrutura física à programação).
Tenho preferencia por idioma português, e então tenho um exemplo deste livro.
Técnicas de Projetos Eletrônicos com os Microcontroladores AVR
(http://www.clubedeautores.com.br/book/33004--Tecnicas_de_Projetos_Eletronicos_com_os_Microcontroladores_AVR)
Só tenho uma dúvida: Apesar do Arduino ser em ATMega, a programação mostrada nesse livro se aplicaria a ele?
Sou 100% iniciante nesse ramo, tanto que comecei a estudar C ontem.
Grato!
-
Sim, o IDE do arduino usa a avr-libc, mas quase de certeza que isso livro é orientado aos avr mega8/16/32 e não aos atmega, a diferença está em diversos nomes de registos, por exemplo a configuração do conversor analógico-digital é um pouco diferente, mas a base é a mesma, se for para usar o AvrStudio ou o IDE do Arduino com C normal sem as funções simplificadas que o arduino propõe tem esta série de tutoriais, que está ainda em construção:
http://lusorobotica.com/index.php?topic=2838.0 (http://lusorobotica.com/index.php?topic=2838.0)
Depois tem estes tutoriais simples sobre como se iniciar com o arduino e seu IDE:
http://lusorobotica.com/index.php?topic=22.0 (http://lusorobotica.com/index.php?topic=22.0)
E este livro gratuito:
http://www.earthshineelectronics.com/files/ASKManualRev4.pdf (http://www.earthshineelectronics.com/files/ASKManualRev4.pdf)
E respectivo código:
http://www.earthshineelectronics.com/files/EDASKCode.zip (http://www.earthshineelectronics.com/files/EDASKCode.zip)
-
Grato senso!
Realmente muito bom o livro, tanto que já está em meu laptop :)
Qualquer coisa, volto a postar no tópico.
Continuem mandando sugestões
-
Boa,
Estou iniciando no ramo da eletronica e também dos microcontroladores, e preciso de uma sugestão de livro que se tratam sobre programação de microcontroladores.
Também estou iniciando em C, visto que a maioria dos softwares para Arduino (uso por ser mais fácil a programação e também por recursos financeiros).
Grato
Se estiveres inclinado para programação de PIC, então tens este manual que escrevi ::
http://lusorobotica.com/index.php?topic=1041.0 (http://lusorobotica.com/index.php?topic=1041.0)
Qualquer dúvida, estamos à disposição.
-
Sobre a programação em C, consegui esse livro na web: Programando em C / C++: A bíblia
Alguem já leu? Ele é em português, PT/BR.
Não sei se é permitido postar livros para downloads aqui, mas por favor, se for possivel, me falem que então posto ele aqui.
Grato
-
é melhor não.. de qualquer forma, se estás interessado em aprender c (sem ter necessáriamente a ver com o arduino) aconselho a leitura e resolução do livro 'linguagem c' da fca. para quem nunca experimentou nada em c, este é um bom ponto de partida.
mas se a ideia é aprender a programar para arduino, há livros mais indicados para isso (alguns já falados aqui no forum).
-
Sou iniciante no meio, será que você poderia sugerir algum?
Grato
-
sugiro que uses o 'pesquisar' do nosso fórum para encontrar mais sobre o assunto.. procura por 'livro arduino'..
um dos que te vai aparecer é este tópico:
http://lusorobotica.com/index.php?topic=2256.msg22005#msg22005 (http://lusorobotica.com/index.php?topic=2256.msg22005#msg22005)
-
Perdão por meu ato da não-pesquisa.
Grato pela sugestão
-
Achei esse livro, enquanto vasculhava no acervo Sparkfun: Programming Interactivity: A Designer's Guide to Processing, Arduino, and Openframeworks
Custa US$ 40,00. Vale a pena?
-
Aconselho os da O'Really
Introdução ao Arduino
Make Things Talk
Introdução ao Processing
Por ai...
-
Getting Started with Arduino, vou comprar esse. O autor é um dos criadores do Arduino. QUem conhece melhor a sua criatura do que o criador? ;D
Provavelmente vou comprar ele, mesmo sendo em inglês.
Grato
-
Sim é da O'Really, fazes bem. Mas se não quiseres gastar dinheiro manda-me PM
-
Pelo tópico ter sido criado por mim, achei melhor "ressucita-lo":
Procuro um livro/tutorial sobre C++ que não me vicie em C, ser apenas C++, que é um código mais limpo...o que indicam?
Grato pela atenção!
-
O google é teu amigo. Procura por apostilas , pdf's no google sobre o tema. Encontras até apontamentos de alunos que estudam em português!
-
Boas,
eu sei disso, já encontrei material sobre...mas como sou crú nessa linguagem, quero aprender com material de qualidade, por isso peço uma recomendação...
Há cursos disponíveis aonde estou, só que giram na faixa de € 1100 =/
-
Bertrand , ou coisa assim e vê ! Tive um de C++ mas não sei onde o pus!
-
Mas o livro dele é de C, não de C++
-
Tava a falar da Editora lol
-
Editora Bertrand?
Que eu googlei e achei, é a Livraria Bertrand..seria essa?
-
Isso lol.
-
Não achei nenhum de C++ lá..tanto que o form de pesquisa não aceita o termo "C++" e nem Cpp =/
Alguma dica?
-
Ires a livrarias , FNAC , Bertrand , etc
-
Estou entre esses livros:
PROGRAMACAO AVANCADA EM C++ - Herb Sutter
VISUAL C++/CLI - CURSO COMPLETO - Isabel Sampaio e Alberto Sampaio
Programação em C++ Conceitos Basicos e Algoritmicos - Pimenta Rodrigues
E também aqueles dois clássicos:
C++: Como programar - Deitel
A Linguagem de Programação C++ - Bjarne Stroustrup
Alguma recomendação? Não quero gaster meu dinheiro em vão ;)
-
Eu tenho este : Programação em C++ Conceitos Basicos e Algoritmos mas não sei onde anda.
O Visual C é sobre a .net framework .
O outro deve ser avançado.
Não sei nada dos clássicos.
-
E o que achou desse livro que tens?
-
Perdi-o cá por casa antes de acabar de o ler -.-
-
Mas chegou a ler um pedaço dele?
Se sim, qual a sua impressão?
-
Eu acho um bom livro , não sei é se tá actualizado.
-
A última revisão é em 2003 (eu acho)...
Será que perdemos algo? kk
Alguem já ouviu sobre os Deitel??
Tnkx!
-
Segundo o wikipedia a ultima versão é de 2003 . Se tem revisão de 2003 está actualizado
-
Achei o índice dele na web, porém, achei meio avançado para alguem como eu, que não sei nada de C++ :-\
-
Pah , exprimenta , vái a Bertrand , vê por alto e ve se gostas ?
-
Mas c++ é um superset do C, ou seja é um C expandido, podes meter C e C++ junto no mesmo código e funcionar tudo certinho, por exemplo as funções para ler, abrir, escrever e fechar um ficheiro são bem mais "estupidas" que as bem mais simples compatriotas do C que fazem o mesmo e mais facilmente do ponto de vista do programador, pelo menos para mim, e há mais pessoas com a mesma opinião.
Mas se é para micro-controladores, tipo C++ é o total degredo, compila sempre código mais, mais pesado em termos de flash e de RAM e é mais lento, pois os compiladores de C++ não são tão avançados/bons como os para C.
Mas sempre que tenho alguma duvida é google e procuro o que quero, mas tens aqui muitos tutoriais:
http://www.cprogramming.com/ (http://www.cprogramming.com/)
-
Desde que estou nos microcontroladores prefiro C.
-
Da série How to program já tem a 8ª edição do C++ - How to...
Em C, tenho um livro muito bom que é o Linguagem C - Luís Damas
Já C++, creio ser mais fácil depois a "migração" pro C, porém, se já sei Cpp, não vejo necessidade de aprender depois a linguagem C
Concordam?
-
Mas é mais facil começar uma casa pelo chão que pelo telhado...
Se queres um livro bom sobre C, tens este:
http://en.wikipedia.org/wiki/The_C_Programming_Language (http://en.wikipedia.org/wiki/The_C_Programming_Language)
Mas há tipo um milhão de livros sobre programação, se bem que a maior parte seja assim meio qualidade da treta.
-
Nunca aprendi através de livros, sempre com a net, na escola fui ler um livro de PHP, mas aquilo era MUITA palha e pouca coisa em concreto, com umas 700 páginas.. se tivesse pago 30€ por ele ficava insatisfeito.
-
De todos estes livros, o de Cpp acho mais válido o C++ How to program[Deitel], visto que é o que tem edições mais recentes do que o A linguagem De Programaçao C++[Bjarne]
Já de C, que tb não tenho base alguma, estou entre ler o Linguagem C [Luís Damas] e o C A Linguagem de programação [K&R]
-
Pelo tópico ter sido criado por mim, achei melhor "ressucita-lo":
Procuro um livro/tutorial sobre C++ que não me vicie em C, ser apenas C++, que é um código mais limpo...o que indicam?
Grato pela atenção!
Boas,
Esta não percebi ... é impossível aprender C++ sem primeiro saber C a fundo ! De forma alguma pode o C++ ser considerado "mais limpo" que C pois é sendo um superset de C acrescenta a este o que o torna mais complexo, nunca "mais limpo".
O que entendes por "não ser viciado em C" ?
É impossível programar bem em C++ sem primeiro ter uma SOLIDAS bases sobre C, pelo que o teu primeiro passo será sempre o de aprender C.
O meu conselho é muito simples, compra um bom livro sobre C, depois lê as especificações do C99 e somente depois avança para o C++.
No que toca a livros, existe um livro já com uns bons anos que dá pelo nome de "Born to code in C" que é sem duvida muito bom, depois tens um dos primeiros livros que surgiu sobre C++ "Objective C" que de certeza te vai dar uma grande ajuda.
Uma coisa a ter sempre em mente é que por vezes as implementações de C/C++ podem ser pequenas diferenças entre compiladores, dai ter sempre em conta que a base passa por conhecer bem o Ansi C/C++ e depois ler os manuais de cada compilador para saber as diferenças e o tipo de implementação do mesmo.
Podes ter acesso aos standards do C/C++ aqui:
http://www.open-std.org/JTC1/SC22/WG14/ (http://www.open-std.org/JTC1/SC22/WG14/) para o C
http://www.open-std.org/JTC1/SC22/WG21/ (http://ttp://www.open-std.org/JTC1/SC22/WG21/) para o C++
Abraços,
PA
-
Da série How to program já tem a 8ª edição do C++ - How to...
Em C, tenho um livro muito bom que é o Linguagem C - Luís Damas
Já C++, creio ser mais fácil depois a "migração" pro C, porém, se já sei Cpp, não vejo necessidade de aprender depois a linguagem C
Concordam?
Não ! Não concordo nada !
Primeiro, estás a fazer uma grande confusão ... Cpp É A MESMA coisa que C++ ... depois migrar do C++ para C ? ? É como querer andar sem primeiro ter aprendido a gatinhar.
Como podes saber Cpp sem saber C ? ?
O C++ é "C com classes"... é C com uma programação orientada para Objectos e tudo o que isso arrasta (objectos, classes, herança de atributos e propriedades, abstração, encapsulamento, polimorfismo, overloading, reutilização de objectos, etc, etc), ora para saberes C++ TENS que primeiro saber C.
Depois dizes que já sabes Cpp ... mas se assim é então para que estas perguntas ? Supostamente quem sabe Cpp (C++) TEM por obrigação saber C ! ... há por aqui alguma coisa mal explicada.
Abraços,
PA
-
StarRider, quanto a mim tens razão em tudo o que dizes (confusões e afins), mas permite-me discordar num aspecto:
É impossível programar bem em C++ sem primeiro ter uma SOLIDAS bases sobre C, pelo que o teu primeiro passo será sempre o de aprender C.
É aqui que discordo. Por uma coisa ter vindo depois da outra, não significa que se tenham de estudar todas as que estão para trás.
No fundo, pela tua teoria, a programação devia ser leccionada em assembly e só depois passar para as linguagens de alto nivel.
Eu acredito que é possível programar bem em C++ sem teres bases de C. É tudo uma questão de sintaxes. Se por exemplo o rapaz já programar em java, passar para C++ é pouco mais que uma questão de aprender pointers.
Agora, em relação ao livro, sim, é necessário ter isso em conta, porque pode haver livros que ensinem C++ tendo como premissa o leitor já saber C. Mas há-de haver livros que ensinem C++ como uma completa introdução à programação.
Já agora, algo mais dentro do tópico, eu sou da opinião que com o material disponível pela Internet fora, comprar um livro desses é um completo disparate, especialmente pelo preço deles. Eu sou uma pessoa muito prática, e gosto de aprender as coisas fazendo. As linguagens que aprendi até hoje foram todas fazendo pequenos programas em casa, que se calhar até nem serviram para nada mais senão aprender aquela linguagem X ou Y.
E sem ter comprado um único livro, desenrasco-me bem em C++, Java e javascript, PHP, C#, C do Arduino, Actionscript, e outras...
Enfim, depois de saberes uma, é tudo uma questão de sintaxe e particularidades de cada linguagem.
Não percas tempo e dinheiro em livros, põe as mãos à obra. ;)
Esta é só a minha opinião, mas eu sou um bocado doido da cabeça xD
-
Quando disse que era possível aprender C++ e não C, quero dizer que achava que deveria primeiro ir pra C++ para não me acostumar com C. Apesar de nunca ter programado em OOP, creio que já deveria entrar "de botina" nessa dança, pois o processo de migração C --> C++ me custaria tempo, e por se tratar de uma organização - uma linguagem ser OOP e outra não - diferente, e poderia me prejudicar tanto no campo de entendimento quanto da programação em si.
Sou novo na área, sei o básico do PHP e algo de VB.NET, porém, se o livro/tutorial viesse com definições de If, Else, Select Case, seria melhor, mesmo que eu já saiba, quero ver como seriam esses comandos básicos em outra língua.
Queria saber como foi a migração (de quem a enfrentou, óbvio) de C para C++ (CPP - usei o termo na mensagem para não ficar repetindo toda hora C++, algo de estética textual)
Esta é só a minha opinião, mas eu sou um bocado doido da cabeça xD [2]
-
vai para o C, a migração depois para C++ é coisa mínima
se fores directamente para o C++ quase de certeza que vais ter de voltar para trás e perder tempo no C
em alternativa procura um livro de C++ que tenha uma muito boa introdução em C
-
Mas afinal qual é a cena da migração de C para C++?
É a mesma treta, só num tens mais funções e mais a treta das classes e não sei que mais, mas um ou outro a base é a mesma...
Tens um programa em C, metes lá C++ e funciona, tens programa em C++ metes C e funciona, não percebo.
-
Mas afinal qual é a cena da migração de C para C++?
É a mesma treta, só num tens mais funções e mais a treta das classes e não sei que mais, mas um ou outro a base é a mesma...
Tens um programa em C, metes lá C++ e funciona, tens programa em C++ metes C e funciona, não percebo.
Há uma mudança, que é a Orientação à objetos..o lance é sacar A OOP no C++, que eu não sei
vai para o C, a migração depois para C++ é coisa mínima
se fores directamente para o C++ quase de certeza que vais ter de voltar para trás e perder tempo no C
em alternativa procura um livro de C++ que tenha uma muito boa introdução em C
.
CBX, recomenda algum livro com uma boa introdução a C? Sabe se a série How to program oferece isso? Se tiver que aprender C, já tenho um livro bom aqui ^^
-
Boas,
Microbyte, a especificação do C++ apenas acrescenta objectos (e mais alguns operadores e keywords) ao Ansi C, logo é impossível desassociar uma coisa da outra, sem C não existe C++.
Ok, dizes que, por exemplo, quem vier do Java pode entrar no C++ sem passar pelo C, mas na realidade o Java, assim como o PHP e outras, foram idealizada para terem um sintaxe muito próxima do C a fim de facilitar a aprendizagem uma vez que o C é a linguagem "de facto" usada por 90% dos programadores até à década de 90 altura em que a Sun criou o Java. No fundo o Java, PHP, etc, são subsets de C com algumas particularidades, no entanto nem todas elas são compatíveis com o ANSI C.
Na realidade o C++ nem sequer é a linguagem mais indicada para embedded systems pelo overhead que introduz e pelo espaço que ocupa.
Entendam uma coisa, sem C não existe C++, quem não souber programar em C não vai programar em C++. A sintaxe do C foi adoptada por outras linguagem (Java,PHP, Objective C, etc) por isso quando usam "for()", "if else", "case", "while" , etc... e todos os outros elementos da sintaxe do Java, PHP, etc estão na verdade a usar a SINTAXE do C de onde todas foram beber quando foram criadas.
Abraços,
PA
-
Para um projeto rápido (sensor, comunicação XBee) creio que usarei C ou se rolar até VB.NET com Firmata :D
Ví que C é necessário e pelo que sei, terei que passar por ele invariavelmente =/
Sugerem alguma IDE?
Cumps
-
DevC e DevC++ acho que é esse o nome, da microsoft tens o Visual Studio Express gratuito.
Em micro-controladores usar c++ é completo degredo em termos de consumo de ram, é um micro, não é um pc com uma tonelada de ram.
-
Logo, de nada vale usar C++ em Arduino?
Não entendi =/
-
De nada vale porque?
É só que se usares outros micros, por exemplo PIC's, não conheço nenhum compilador C++ para eles, nem para os MSP da TI nem para maioria dos IDE's para ARM's.
O C++ é mais virado para ser usado num computador que tem Gigas de ram, um arduino tem 2Kb, e basta usar o Serial que vão logo 128 bytes ao ar para um buffer, mais meia duzia para aqui e para ali, twi usa mais 32bytes para outro buffer e mais um monte de bytes em variaveis e é muito facil de limpar com a ram e ficar a rebentar a stack num arduino sem se dar conta disso.
-
Por isso mesmo que para Arduino, de nada vale o C++ (a minha opinião, visto que a alocação de memória daria um trabalhão)
Por mais tola que pareça essa pergunta, não sei qual a linguagem utilizada para a compilação no Arduino SDK..tipo:
pinMode(13, HIGH);
Raios! Que tipo de código é esse? Seria Arduino mesmo?
Cumps
-
O que não falta na net são tutoriais de C, os básicos aprendem-se facilmente, eu uso o devC++, mas comecei a usar o code::blocks recentemente, é mais bonitinho e não tem manias estranhas para a indentação.
E sim, acho que a linguagem do arduino é mesmo "Arduino C", e pinMode não é para dizer output ou input? :P
-
Arduino usa o avr-g++, ou seja compila código C e C++, simplesmente tem funções bonitas para trabalhar com o hardware, pinMode e digitalWrite para pinos digitais, Serial.read/write/available/flush/etc para a USART, analogWrite para o pwm, wire.begin/write/read para i2c, spi.blablabla para spi, e depois bibliotecas para servos, stepers, lcd's de caracteres e gráficos e mil e uma bibliotecas para todos os chips que alguem se lembra de ligar no Arduino.
Mas tudo isso pode ser feito em C, como já se fazia á anos e anos com os Avr's, tens tutoriais feitos por mim, pelo cynary, pelo Njay e mais pessoas aqui no forum sobre como usar o avrstudio e cagar no overhead que as funções do arduino introduzem.
-
Boas,
Senso, por acaso existem inúmeros compiladores de C++ para ARM, AVR, PIC, 8051, Motolora, ColdFire, H8, etc. Basicamente toda a linha IAR e Keil usam compiladores proprietários quer para C quer para C++.
Voltando ao assunto, o Arduino é relativamente recente, mas tem tido um sucesso e um crescimento muito rápido, tem o e mérito de oferecer uma forma simples e rápida para muitos poderem ter acesso ao mundo dos uC. O sucesso do Arduino deve-se a três factores principais, é barato, tem muitas funções de alto nível e torna simples a tarefa de programar a flash dos AVR.
Pessoalmente nunca utilizei o Arduino, profissionalmente trabalho com uC de 32 bits e a nível de hobbie quando uso um AVR utilizo o Codevision que é um excelente compilador/IDE, que gera um código altamente optimizado e que fornece também algumas libs para interface com os periféricos e algum hardware externo (LDC, keypads, termometros, RTCs. etc, etc), mas reconheço que o Arduino é realmente aliciante para muitos projectos.
Saber programar em C é um must, e para aqueles que estão agora a dar os primeiros passos ter uma solida base sobre a linguagem C e tudo o que ela implica é meio caminho para depois perceberem melhor outras linguagens. Por exemplo, conheço pessoas que programam em Delphi (programas de gestão) mas que não percebem bem o que é um "ponteiro"... é claro que para quem está a programar um aplicativo de Contabilidade isso pode não fazer grande diferença, mas existem programadores e depois existem os "verdadeiros programadores" ... com o devido respeito para com todos, mas um "programador de Delphi" não será a pessoa mais indicada para programar uma inserção orbital de uma sonda como a Cassini por exemplo.
Mesmo utilizando o Arduino, não se fiquem pela facilidade das libs deste, estudem as datasheets do AVR, usem os registos, aprendam C a fundo ... vão ver que a vossa carreira profissional vai agradecer esse esforço daqui a uns anos.
Abraços,
PA
-
Eu não disse que não havia, apenas que não conhecia, e é normal não conhecer, como estudante que sou para mim o que me interessa agora é coisas opensource/free, que não tenho 1000€ ou mais para dar por um compilador para piscar meia duzia de leds ao fim de semana.
-
Eu não disse que não havia, apenas que não conhecia, e é normal não conhecer, como estudante que sou para mim o que me interessa agora é coisas opensource/free, que não tenho 1000€ ou mais para dar por um compilador para piscar meia duzia de leds ao fim de semana.
Boas,
Pois agora já conheces ... e sem pagar 1000 euros.
-
Mas tanto o Keil como o IAR são compiladores pagos, pode não ser 1000€, mas são algumas centenas.