You are currently viewing O Império do arduino!

O Império do arduino!

Como todos sabem actualmente existem muitas soluções para fazer projetos electrónicos ou robóticos em casa (ou mesmo na garagem) devido muitas placas com soluções de plug-and-play, como os ilustres Arduinos ou Raspberry. O que acaba por aliciar muitos amantes deste tipo de aplicações. Basta fazer uma pesquisa no Youtube e aparecem milhares de demonstrações.

O Império do arduino!

Com todo o respeito aos Arduinos, hoje relembro como construir soluções sem Arduino tal como nos tempos da velha guarda. O que motivou a fazer este breve trabalho é fruto de ler discussões sobre estas plataformas se são boas ou más? Há muita gente que gosta e outro que simplesmente ignoram estas placas.

Respondo já a essa questão anterior! Sim, são excelentes plataformas e user friendly, daí o título deste artigo ser O Império do Arduino! Como é óbvio, aqui depende também da intenção de cada um. Se é quer aprender a fundo, ou é usar do tipo de pôr a funcionar e já está.

Então o exercício partilhado hoje é standard e consiste em piscar de um LED usando Atmel Studio 7, USBASP V2.0 e um ATMEGA32A PU.  Então vou partilhar um conjunto de instruções:

1) Instalar Atmel Studio 7.0, https://www.microchip.com/mplab/avr-support/atmel-studio-7

2) Instalar o USBASP V2.0 (cuidado se estão usar o Win10, seguir o seguinte link: https://netmaxtech.com/install-usbasp-driver-windows-8-and-windows/ );

3) Download AVRDUDE, é um software para a programação de microcontroladores da ATmel AVR, link: https://www.fischl.de/usbasp/

4) Antes de escrever código, é necessário criar uma External Tools no Atmel Studio 7.0 para usar USBASP, seguir ver as figuras abaixo. Para isso é preciso de iniciar um projecto e depois ir a Tools no cabeçalho.

Clicar em External Tools…, apagar o Menu contents e adicionar um Menu.

Para isso é preciso clicar em Add, dar um Title à nossa ferramenta e em Command colocar o caminho do Avrdude.exe e for fim o seguinte Argument:

-p m32 -c usbasp -P usb -U flash:w:"$(ProjectDir)Debug\$(TargetName).hex":i

E activar o Use Output window.

5) Antes de fazer o nosso projecto, é preciso de validar a nossa ferramenta (USBASP) da seguinte maneira, abrir um projecto

E clicar no botão USBAP que está em Tools e obter o seguinte Ouput:

6) Após de todas estas configurações serem conseguidas. podemos criar então o nosso projecto da seguinte forma: File->New->Project e escolher GCC C++ Executable Project:

 E usar rotina mostrada abaixo:

Para o mais novos nestas andanças, podem fazer um comparativo com a sintaxe usada no IDE do Arduino.  Com a porta PORTD1 é uma porta digital (no integrado corresponde ao pin 15 e GND ao 11) e foi definido como um output do nosso exercício (ver página 100 do datasheet do Atmel® ATmega32A). Partilho esta tipo de informação porque é útil saber de onde vêm as coisas – ver a seguinte figura. Neste exemplo de código sentimos que estamos mais próximo da máquina.

Por fim conectar o LED devidamente entre os pinos 15 e 11 (GND) antes enviar o nosso programa executável para o integrado e o LED deverá então piscar. Nesta montagem não considerei a resistência de alimentação do LED, porque estamos a trabalhar com componentes ditos low power.

Para quem quer aprender a fundo sobre microcontroladores a minha sugestão é usar documentação da Micro Chip e da Atmel para melhor perceber toda arquitetura de hardware e o uso da memória do integrado. E não basearem nas centenas de exemplos existente na net. Visto que há uma infinidades de exemplos na Internet (Youtube) que parecem que funcionam, mas muitas das vezes só no próprio vídeo, desde controlar motores, diversos equipamentos doméstico, etc…

Divirtam-se makers !!!!

António Sousa

António Sousa, técnico de redes e sistemas informáticos e fundador do Tech em Português! Sou um amante das novas tecnologias e um aventureiro dessa grande "auto-estrada" que é a internet!