manual de programación arduina Manual+Programacion+Arduino | Page 49
Arduino: Manual de Programación
O sea que no importa cual modificador usemos siempre se están enviando bytes. La
diferencia esta en lo que esos bytes van a representar y sólo hay dos opciones en el caso
del Arduino: una serie de caracteres ASCII o un número.
Si Arduino lee en un sensor analógico un valor de 65, equivalente a la serie binaria
01000001 esta será enviada, según el modificador, como:
dato
Modificador
65 ---DEC----
65 ---HEX----
65 ---OCT----
65 ---BIN----
65 ---BYTE---
Envío (pulsos)
(“6″ y “5″ ACIIs 54–55) 000110110–000110111
(“4″ Y “1″ ACIIs 52–49) 000110100–000110001
(“1″, “0″ y “1″ ACIIs 49–48–49) 000110001–
000110000–000110001
(“0″,”1″,”0″,”0″,”0″,”0″,”0″y”1″ ACIIs 49–48–
49–49–49–49–49–48) 000110000-…
01000001
No explicaremos conversiones entre los diferentes sistemas de representación numérica,
ni la tabla ASCII (google), pero es evidente como el modificador BYTE permite el
envío de información más económica (menos pulsos para la misma cantidad de
información) lo que implica mayor velocidad en la comunicación. Y ya que esto es
importante cuando se piensa en interacción en tiempo real es el modo que usaremos acá.
Un ejemplo sencillo
Enviar un sólo dato es realmente fácil. En el típico caso de un potenciómetro conectado
al pin 24 del ATmega:
int potPin = 2;
int ledPin = 13;
int val = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH); //activamos el pin para saber cuando arranco
}
void loop() {
49