boa tarde!
a bastante pouco tempo comprei um arduino e ao pesquisar um pouco sobre ele encontrei este excelente fórum
vou deixar aqui o meu primeiro código, que consiste em controlar o numero de vezes que um led pisca através da consola do programa.
/*
o-o o o
o o | |
| | \ / o o -o- o-o o-o O--o
o o o | | | |-' | | |
o-o / \ o--O o o-o o-o o o
|
o--o
baseado em:
*http://arduino.cc/en/Tutorial/Blink
*/
#include <stdlib.h> //para a função atoi
int ledPin = 13; // led logado ao pino 13
int i=0;
char incomingByte;
void setup() //inicia o procedimento de configuração (apenas é corrido 1x no programa)
{
pinMode(ledPin, OUTPUT); //pino digital 13 como pino de saida
Serial.begin(9600); //inicia comunicação com a consola, a 9600bps
Serial.println("introduza o numero de vezes que o led pisca:"); //primeira mensagem escrita na consola
}
void loop() //inicia o programa, corre repetitivamente
{
if (Serial.available() > 0) // se a consola estiver com algum caracter introduzido? (neste caso nem faz falta...?)
{
incomingByte = Serial.read();//lê o byte introduzido na consola
// escrita das mensagens/variaveis...
Serial.print("caracter introduzido:");
Serial.println(incomingByte);
Serial.print("o led ira piscar ");
Serial.print( atoi(&incomingByte), DEC);// função atoi transforma o caracter num inteiro(atenção ao "&"...)
Serial.println(" vezes...");
for (i==0;i< atoi(&incomingByte);i++)// o led pisca o numero de vezes que foi introduzido
{
Serial.println();// escreve uma linha em branco na consola
Serial.println(i+1,DEC);//escreve o numero de vezes que o led piscou ate ao momento...
digitalWrite(ledPin, HIGH); // liga o led
delay(500); // espera 0,5 segundos
digitalWrite(ledPin, LOW); // desliga o led
delay(500); // espera 0,5s
}
i=0;// variavel de contagem do ciclo for reinicializada a 0 para o proximo ciclo
Serial.println("introduza novo numero:");
}
}
pode ser útil para alguém, especialmente para novatos como eu.
quando tiver mais um tempinho o próximo passo será permitir mais que 9 piscadelas do led, por enquanto tem essa limitação.
se encontrarem algum erro ou algo que poderia estar melhor feito agradeço que avisem.
cumprimentos