Arduino Trådlös styrning
Postat: 19 november 2015, 16:21:21
Hejsan .. Jag behöver lite hjälp med att lösa ett C problem jag har. Jag pular med en liten trådlös styrning till en teleskopfokusering.
Jag utgår ifrån 2st Arduino UNO kort och Sändare/Mottagare typ ASK XY-MK-5V, Jag har laddat ner "RadioHead" RH_ASK drivrutiner från http://airspayce.com/mikem/arduino/RadioHead/index.html.
Det fungerar över förväntat direkt utan strul att skicka styrkommandon mellan korten. Kruxet är att det är >15 år sedan jag hackade i C-kod senast
Hur får jag ut mottagna kommandon från driver.recv(buf, &buflen) så jag kan avkoda dom och använda dom till att styra tex. en stegmotor ????
Tex jag skickar från sändarkortet FIN eller FOUT eller SIN eller SOUT
Se kod nedan.
// ask_receiver.pde
// -*- mode: C++ -*-
// Simple example of how to use RadioHead to receive messages
// with a simple ASK transmitter in a very simple way.
// Implements a simplex (one-way) receiver with an Rx-B1 module
#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile
RH_ASK driver;
void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}
void loop()
{
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non-blocking
{
int i;
// Message with a good checksum received, dump it.
driver.printBuffer("Got:", buf, buflen);
}
}
Jag utgår ifrån 2st Arduino UNO kort och Sändare/Mottagare typ ASK XY-MK-5V, Jag har laddat ner "RadioHead" RH_ASK drivrutiner från http://airspayce.com/mikem/arduino/RadioHead/index.html.
Det fungerar över förväntat direkt utan strul att skicka styrkommandon mellan korten. Kruxet är att det är >15 år sedan jag hackade i C-kod senast

Hur får jag ut mottagna kommandon från driver.recv(buf, &buflen) så jag kan avkoda dom och använda dom till att styra tex. en stegmotor ????
Tex jag skickar från sändarkortet FIN eller FOUT eller SIN eller SOUT
Se kod nedan.
// ask_receiver.pde
// -*- mode: C++ -*-
// Simple example of how to use RadioHead to receive messages
// with a simple ASK transmitter in a very simple way.
// Implements a simplex (one-way) receiver with an Rx-B1 module
#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile
RH_ASK driver;
void setup()
{
Serial.begin(9600); // Debugging only
if (!driver.init())
Serial.println("init failed");
}
void loop()
{
uint8_t buf[RH_ASK_MAX_MESSAGE_LEN];
uint8_t buflen = sizeof(buf);
if (driver.recv(buf, &buflen)) // Non-blocking
{
int i;
// Message with a good checksum received, dump it.
driver.printBuffer("Got:", buf, buflen);
}
}