➕Misty to Arduino
In this project, you’ll use MIsty’s bump sensor to trigger Arduino to change its LEDs.
Last updated
void setup(){
Serial.begin(9600);
Serial.setTimeout(100);
pinMode(10, OUTPUT); //pin red LED
pinMode(11, OUTPUT); //pin blue LED
}
void loop() {
if (Serial.available() > 0){ // check if something is written in the Serial
String str = Serial.readStringUntil('\n'); // read the string
if (str == "red"){ // compare the string
digitalWrite(10, HIGH); // red LED on
Serial.println("red on"); // write in the serial monitor
}
if (str == "blue"){
digitalWrite(11, HIGH);
Serial.println("blue on");
}
if (str == "red off"){
digitalWrite(10, LOW);
Serial.println("red off");
}
if (str == "blue off"){
digitalWrite(11, LOW);
Serial.println("blue off");
}
if (str == "all off"){
digitalWrite(10, LOW);
digitalWrite(11, LOW);
Serial.println("all off");
}
if (str == "all on"){
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
Serial.println("all on");
}
}
delay(500);
}
if (str == "red"){
digitalWrite(10, HIGH);
Serial.println("red on");
}from mistyPy.Robot import Robot
from mistyPy.Events import Events
misty = Robot("your_robot_IP_address")
def bumped(data):
print(data)
if(data["message"]["sensorId"] == "bfr" and data["message"]["isContacted"] == True):
misty.change_led(255, 0, 0)
misty.write_serial("red\n")
if(data["message"]["sensorId"] == "bfl" and data["message"]["isContacted"] == True):
misty.change_led(0, 0, 255)
misty.write_serial("blue\n")
if(data["message"]["sensorId"] == "brr" and data["message"]["isContacted"] == True):
misty.change_led(0, 255, 0)
misty.write_serial("red off\n")
if(data["message"]["sensorId"] == "brl" and data["message"]["isContacted"] == True):
misty.change_led(255, 127, 0)
misty.write_serial("blue off\n")
misty.register_event(event_name='bump_event', event_type=Events.BumpSensor, callback_function=bumped, keep_alive=True)
misty.keep_alive()if(data["message"]["sensorId"] == "bfr" and data["message"]["isContacted"] == True):
misty.change_led(255, 0, 0)
misty.write_serial("red\n")