About

terça-feira, 9 de abril de 2013

Módulo Wireless APC220



Este post é sobre o módulo APC220, ao longo da implementação desse carinha eu tive algumas dificuldades que queria compartilhar.
Os códigos que encontrei na web eram, no geral, criados para envio de char ou int. Eu queria algo mais dinâmico, usando String! Eis o código:

 String serialRead() {
String msg;
while (!Serial1.available()) {
char c = (char) Serial1.read();
if (c == '\n') {
break;
}
msg += c;
delay(1);
}
msg.trim();
return msg;
}
// Esse método é disparado sempre
// que a porta serial recebe alguma coisa
// nesse caso a Serial1 do Arduino Mega
void serialEvent1() {
String msg;
while (1 == 1) {
char c = (char) Serial1.read();
if (c == '\n') {
break;
}
msg += c;
delay(1);
}
msg.trim();
Serial.println("mensagem recebida: " + msg);
}
void setup() {
// Initial setup
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
}

O módulo APC vem com um adaptador USB, então você pode conectá-lo e enviar mensagens usando o monitor serial para testar. Esse código vai receber a mensagem do APC pela porta serial 1 e enviar para serial padrão.

quinta-feira, 4 de abril de 2013

Começando!


Eaê Galera!?

Este é o primeiro post do meu blog sobre Arduino. Meu objetivo, inicialmente é facilitar a vida de quem tá começando a se aventurar nesse mundo, pois tive algumas dificuldades para entender algumas coisas.
Então, pra começar, o que é o Arduino? Bem, costumo dizer que o Arduino é um  "computadorzinho" em que, com simples comandos de programação você consegue controlar diversos dispositivos eletrônicos, desde LEDs a uma tela TFT (thin-film transistor). Muitos desses dispositivos são as "shields", módulos mais complexos feitos essencialmente para o Arduino.
Particulamente, eu sou mais prático que isso, vamos a um exemplo: o famoso Blink!



/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.

  This example code is in the public domain.
 */


// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews