Si tengo un diseño en Arduino similar al Blink del tutorial de iniciación, con que soft y como debo conectar el Arduino al PC para enviarle instrucciones via el serial port para que se encendiera o se apagara el LED? (sobreentendiendo que el codigo del Arduino ya estuviera adaptado) Enviarlo via el serial port así, seria lo mismo que despues implementarle bluetooth y enviarlo tambien por esa via?
void setup()
{
Serial.begin(9600);
}
void loop() {
char caracter;
//ver si un dato ha sido enviado desde el PC
if (Serial.available()) {
caracter = Serial.read();
Serial.println(caracter);
}
}
Cada carácter que metes por el serial del PC lo recibe el Arduino, y sabiendo el que es, ya puedes tomar decisiones por ejemplo con IF.
Gracias por tu respuesta Jopapa, pero me refiero ademas a la forma fisica de enviar ese dato...no se si se explicarme.
Conecto el USB y a traves de algun programa envio el codigo de un color en HEX por ejemplo?
void setup() {
// initialize serial:
Serial.begin(9600);
Serial.print("Arduino control RGB LEDs Connected OK ( Sent From Arduinno Board )");
Serial.print('\n');
}
void loop() {
// if there's any serial available, read it:
while (Serial.available() > 0) {
// look for the next valid integer in the incoming serial stream:
int red = Serial.parseInt();
// do it again:
int green = Serial.parseInt();
// do it again:
int blue = Serial.parseInt();
// look for the newline. That's the end of your
// sentence:
if (Serial.read() == '\n') {
// constrain the values to 0 - 255 and invert
// if you're using a common-cathode LED, just use "constrain(color, 0, 255);"
//red = 255 - constrain(red, 0, 255);
//green = 255 - constrain(green, 0, 255);
//blue = 255 - constrain(blue, 0, 255);
red = constrain(red, 0, 255);
green = constrain(green, 0, 255);
blue = constrain(blue, 0, 255);
// print the three numbers in one string as hexadecimal:
Serial.print("Data Response : ");
Serial.print(red, HEX);
Serial.print(green, HEX);
Serial.println(blue, HEX);
}
}
}
Gracias Surbyte. Crees que el codigo es correcto como para que funcione?
La idea son 4 leds RGByW y a traves del serial (posteriormente substituirlo por bluetooth) enviarle un color en HEX y que los leds lo representen lo mas aproximadamente posible.
Tengo que mandar un solo valor HEX o haria falta un valor por cada LED?