Arquivo da categoria: Arduino

Aqui, são discutidos assuntos relacionados ao Arduíno, um microcontrolador que usa a idéia do Open Hardware. Mais em www.arduino.cc.

Arduino Blink

Bom estive testando meu primeiro programa com Arduíno, e ele faz uma coisa muito útil, ele faz um led piscar isso mesmo! Não e fantastico?

Bom o exemplo acima e de uma alma feliz como a minha que fez o mesmo teste.
O codigo fonte para isso é encontrado no próprio site do Projeto e segue abaixo:

int ledPin = 13;                 // define o pino onde esta conectado o led
void setup(){
pinMode(ledPin, OUTPUT);      // configura ledppin como saida digital
}
void loop(){

digitalWrite(ledPin, HIGH);   // coloca o led como ligado
delay(1000);                  // aguarda um segundo
digitalWrite(ledPin, LOW);    // desliga o led
delay(1000);
}

O negócio e que eu não gostei, ele ocupa 1026 bytes de programação no windows, isso é muito ainda mais se considerarmos que ele só tem 30000 bytes disponíveis.

Mas com uma pequena alteração ele passa a ocupar 1018 bytes.

Substitua essa linha:


int ledPin = 13;

Por:


const unsigned int ledPin = 13;

Nesse simples exemplo eliminou espaço reservado ao sinal do int e ainda impediu que o LedPin pudesse ser alterado, isso diminui a complexidade do código binário, já que ele só precisará referenciar a posição da memória da constante ao invés de procurar pelo valor atual da variavél. Mas ta aí eu não gostei…  Agora alterando mais algumas coisinhas a gente consegue reduzir para 1014 bytes


const unsigned int ledPin = 13;

boolean dado=1;

void setup(){

pinMode(ledPin, OUTPUT);

}

void loop() {

dado=!dado;

digitalWrite(ledPin, dado);   // sets the LED on

delay(1000);                  // waits for a second

}

Bom isso é só para mostrar que com um pouco de tempo da pra diminuir o tamanho do executável, ainda não li quantos ciclos são necessários para cada instrução, ainda não estou me preocupando com isso, só estou me preocupando com o tamanho do executavel.
Agora e continuar a fuçar!

Arduino! É eu também me rendi…

Bom eu havia prometido algumas surpresas, quando fiz o post “Férias“, pois bem estou eu aqui a anunciar algumas mudanças no meio de um post sobre arduíno! Foda… :s

Primeiro eu vou me inscrever numa faculdade de engenharia eletrônica, segundo vou continuar programando, só que agora além de sites vão ter outras coisas mais excêntricas!

Pow!!! E o Arduíno??

Bom aí que tá, sempre gostei de robótica e sei até brincar com o PIC, porém um amigo começou a animar a comprar o Arduíno e fuça-lo! Como bom fução que sou, resolvi brincar também. O Arduíno usa uma filosofia estilo “can be easily” (podia ser fácil), ao contrário da família PIC da Microchip, para você programa-lo pode usar o C, como cita no site oficial do projeto:

Looking for something else? See the libraries page for interfacing with particular types of hardware. Try the list of community-contributed code. The Arduino language is based on C/C++. It links against AVR Libc and allows the use of any of its functions; see its user manual for details.”

A tradução fica por conta de cada um, mas basicamente diz que a linguagem do Arduíno e baseada em C/C++, e você pode usar a AVR libc para poder aumentar a lista de instruções que ele disponibiliza.

E porque o Arduíno?

Bom, o “Can Be easily” (note que isso e um termo que eu inventei), tem seus atrativos, uma curva de aprendizado menor, um investimento menor em livros/curso/auto-ajuda/psicologo… E ele e Open Source, ou seja tudo que é produzido por ele e liberado na internet, veja esse hexapode com cérebro de arduino!

Pois bem e aí e só isso isso o PIC faz, na verdade não e só isso o PIC tradicionalmente executa menos MIPS que o AVR, isso eu achei incrivel! para mim o PIC era o melhor microcontrolador do mundo…rs…

Brincadeiras a parte, no site da Arnerobotics você pode ver mais sobre a arquitetura dos microcontroladore AVR Atmel.

Beleza! Então Sr Anthony vou comprar um Arduino e virar um Asimov!!!

Calma lá, lembre – se que eu disse curva de aprendizado.. rs, eu ainda to la embaixo, estou fazendo apenas um led piscar… Mas vai a dica no Brasil o Arduíno e os Shields (extensões), são bem caros, por isso compre no Ebay! o Arduino Mega chega a R$300 e eu comprei por $19 mais $9 de frete.

Bom então tá to indo embora brincar com meu “DUDUÍ”…

Ps.: Nerd e foda…