Pages: [1]   Go Down
Author Topic: Duda de programación con Arduino (Solucionado)  (Read 852 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola a todos.
Soy nuevo en la programación de Arduino y mi duda es la siguiente.

Estoy intentando mandar a través de la consola serial del soft Arduino un número entre 0 y 255 para que a su vez me lo mande por I2C a un modulo de 8 relés que trabaja con este protocolo.
He estado probando mandar datos a través del I2C (librería Wire) y funciona perfectamente los relés se activan y desactivan.
El problema esta que por el serial de Arduino recibo un string y no se como convertirlo a valor numérico para que funcione en I2C.
La lectura de datos serial la hago con el soft de ejemplo del Arduino "Serial Event":

String inputString = "";         // a string to hold incoming data
boolean stringComplete = false;  // whether the string is complete

void setup() {
  // initialize serial:
  Serial.begin(9600);
  // reserve 200 bytes for the inputString:
  inputString.reserve(200);
}

void loop() {
  // print the string when a newline arrives:
  if (stringComplete) {
    Serial.println(inputString);
    // clear the string:
    inputString = "";
    stringComplete = false;
  }
}

/*
  SerialEvent occurs whenever a new data comes in the
 hardware serial RX.  This routine is run between each
 time loop() runs, so using delay inside loop can delay
 response.  Multiple bytes of data may be available.
 */
void serialEvent() {
  while (Serial.available()) {
    // get the new byte:
    char inChar = (char)Serial.read();
    // add it to the inputString:
    inputString += inChar;
    // if the incoming character is a newline, set a flag
    // so the main loop can do something about it:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}

Quiero aprovechar la variable "inputString" para mandar los datos recibidos al I2C  con "Wire.write(inputString)" pero me da error.
¿Como podría convertir la variable String a una variable de valor numérico?
¿Quizá hay otra manera mas fácil de mandar valores numéricos PC---> I2C?

Muchas gracias por vuestra ayuda.
« Last Edit: July 11, 2012, 01:29:39 pm by eaj1rb » Logged

Euskadi
Offline Offline
God Member
*****
Karma: 16
Posts: 711
Arduinotarrak
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,
hace poco se trató de eso
http://arduino.cc/forum/index.php/topic,107610.msg808575.html#msg808575
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Muchas gracias por la ayuda.
Estuve buscando el tema en el foro pero no supe encontrarlo.
Lo pruebo y comento el resultado
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hecha la prueba.
Todo perfecto y funcionando.
Gracias curro92 por tu ayuda y un saludo al resto del foro.
Logged

Pages: [1]   Go Up
Jump to: