/* Crawler Slave * * This code runs on the crawler i2c network * and provides a cleaner, less CPU intensive control over PWM devices. */ #include #include // This servo is used to wipe and clean the camera lens Servo windowWiperServo; // This is a variable capable of storing up to 4 items char instruction[4] = ""; void setup() { // Attach the wiper servo to pin 9 windowWiperServo.attach(9); // This is only useful for debugging Serial.begin(9600); // This is the address the pi will speak to us at Wire.begin(0x8); // Call receiveEvent when data received Wire.onReceive(receiveEvent); Serial.print("Finished Setup."); } // Just loop to keep the running code alive, and wait for events to happen. void loop() { delay(50); } // This method runs when we receive a message void receiveEvent(int n) { for (int i = 0; i < n; i++) //n is equal to the number of data bytes received { instruction[i] = Wire.read(); } Serial.print(instruction); }