/* Arduino Wireless Communication Tutorial Example 1 - Receiver Code by Dejan Nedelkovski, www.HowToMechatronics.com Library: TMRh20/RF24, https://github.com/tmrh20/RF24/ */ #include #include #include #define CE_pin D6 #define CSN_pin D7 RF24 radio(CE_pin, CSN_pin); // CE, CSN const int led_pin = D1; const byte address[6] = "00001"; // --- // H-bridge motor control, using the TB67H451FNG, should run with input 2-5V // I'm using some geared "micro-motors", supposed to run at 3-7V (~30rpm). #define FORWARD_PIN D4 #define BACKWARD_PIN D5 uint8_t dirn = 1; // direction, 1 or 0. uint8_t state = 0; // state variable, so we can change direction when there is a new state. // --- void setup() { pinMode(led_pin, OUTPUT); Serial.begin(9600); radio.begin(); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.startListening(); // --- pinMode(FORWARD_PIN, OUTPUT); pinMode(BACKWARD_PIN, OUTPUT); // --- } void loop() { if (radio.available()) { char text[32] = ""; radio.read(&text, sizeof(text)); Serial.println(text); digitalWrite(led_pin, HIGH); // --- // spin motor forward digitalWrite(FORWARD_PIN, dirn); digitalWrite(BACKWARD_PIN, !dirn); delay(500); // --- } else { digitalWrite(led_pin, LOW); // --- // stop motor digitalWrite(FORWARD_PIN, LOW); digitalWrite(BACKWARD_PIN, LOW); // --- } }