Hallo,
ich habe ein kleines Problem. Ich habe eine kabellose 433mhz Verbindung aufgebaut.
Ziel ist es einen Poti-Wert von einem Arduino auf einen anderen zu übertragen und mit diesem einen Motor ansteuern.
Die Übertragung klappt mit der VirtualWire libary problemlos. Jedoch bekomme ich es einfach nicht hin den Empfangenen Wert in eine int zu verwandeln, um mit dieser den Motor zu Steuern.
Ich habe schon alles was mir eingefallen ist versucht, gegoogelt, Foren durchsucht usw. - jedoch leider Erfolglos.
Hier der auf das nötigste reduzierte Code des Senders:
X ist hier der Wert, der später den Poti darstellt.
// library
#include <VirtualWire.h>
int sensorValue;
char buffer [11];
long X=125;
void setup()
{
Serial.begin(9600);
// virtual wire
vw_set_tx_pin(12); // pin
vw_setup(2000); // bps
}
void loop()
{
itoa (X,buffer,10);
sendString(buffer, true);
delay(100);
}
void sendString(String message, bool wait)
{
byte messageLength = message.length() + 1;
// convert string to char array
char charBuffer[messageLength];
message.toCharArray(charBuffer, messageLength);
vw_send((uint8_t *)charBuffer, messageLength);
if (wait) vw_wait_tx();
Serial.println("gesendet: " + message);
}
Hier der Code des Empfängers:
(Ich kann die empfangene Message im Seriellen Monitor Anzeigen lassen. Jedoch habe ich schon vieles Versucht (z.B. message.toInt). Aber ich kann diese message nicht in einen Brauchbaren Int übersetzen.)
// library
#include <VirtualWire.h>
int wert;
int X;
byte message[VW_MAX_MESSAGE_LEN]; // a buffer to store the incoming messages
byte messageLength = VW_MAX_MESSAGE_LEN; // the size of the message
void setup()
{
Serial.begin(9600);
Serial.println("device is ready...");
vw_set_rx_pin(12);
vw_setup(2000); // bps
vw_rx_start();
}
void loop()
{
if (vw_get_message(message, &messageLength)) // non-blocking
{
Serial.print("Empfangen: ");
for (int i = 0; i < messageLength; i++)
{
Serial.write(message[i]);
X=message;
}
Serial. print (" X:");
Serial.println(X);
}
}
Kann mir bitte jemand zeigen, wie ich diese Message in eine verwendbare Int Übersetzen kann?
Das wäre wirklich Klasse.
Vielen Dank schon einmal
-Tobias