diff --git a/Code/Feather_Code_Test/Test_FBUD_mapping_via_Blynk/Test_FBUD_mapping_via_Blynk.ino b/Code/Feather_Code_Test/Test_FBUD_mapping_via_Blynk/Test_FBUD_mapping_via_Blynk.ino new file mode 100644 index 0000000000000000000000000000000000000000..f14ec08fdea76c1162e342970798849bc1a53cba --- /dev/null +++ b/Code/Feather_Code_Test/Test_FBUD_mapping_via_Blynk/Test_FBUD_mapping_via_Blynk.ino @@ -0,0 +1,118 @@ +#define BLYNK_PRINT Serial + +#include <Wire.h> +#include <Adafruit_MotorShield.h> + +// uncomment this if you're using ESP32 +#include <BlynkSimpleEsp32.h> +#include <WiFi.h> +#include <WiFiClient.h> +// uncomment these two line if you're using ESP8266 +//#include <ESP8266WiFi.h> +//#include <BlynkSimpleEsp8266.h> + +char auth[] = "cLUKk5penym7JGnFxo61dvNzG5p4y4Za"; + +// Your WiFi credentials. +// Set password to "" for open networks. +char ssid[] = "lemur"; +char pass[] = "lemur9473"; + +Adafruit_MotorShield AFMS = Adafruit_MotorShield(); +Adafruit_DCMotor *myMotor1 = AFMS.getMotor(1); +Adafruit_DCMotor *myMotor2 = AFMS.getMotor(2); +Adafruit_DCMotor *myMotor3 = AFMS.getMotor(3); +Adafruit_DCMotor *myMotor4 = AFMS.getMotor(4); + +void setup() { + // put your setup code here, to run once: + Serial.begin(9600); + Blynk.begin(auth, ssid, pass); + AFMS.begin(); +} + +void forward(){ + myMotor3->run(BACKWARD); + myMotor4->run(FORWARD); +} + +void backward(){ + myMotor3->run(FORWARD); + myMotor4->run(BACKWARD); +} + +void turn_left(){ + myMotor4->run(FORWARD); + myMotor3->run(RELEASE); +} + +void turn_right(){ + myMotor3->run(BACKWARD ); + myMotor4->run(RELEASE); +} + +void up(){ + myMotor2->run(BACKWARD); + myMotor1->run(BACKWARD); +} + +void down(){ + myMotor2->run(FORWARD); + myMotor1->run(FORWARD); + +} + +void stopfb(){ + myMotor3->run(RELEASE); + myMotor4->run(RELEASE); +} + +void stopud(){ + myMotor2->run(RELEASE); + myMotor1->run(RELEASE); +} + + +void SpeedControl(int Speed){ + myMotor1->setSpeed(Speed); + myMotor2->setSpeed(Speed); + myMotor3->setSpeed(Speed); + myMotor4->setSpeed(Speed); +} +void loop() { + // put your main code here, to run repeatedly: + Blynk.run(); +} + +BLYNK_WRITE(V0){ + int x_0 = param[0].asInt(); + int y_0 = param[1].asInt(); + if (x_0 ==0 && y_0==0){ + stopfb(); + }else if(x_0==0 && y_0==1){ + forward(); + }else if(x_0 ==0 && y_0 ==-1){ + backward(); + }else if(x_0 == -1 && y_0 == 0){ + turn_left(); + }else if(x_0 == 1 && y_0 == 0){ + turn_right(); + } +} + +BLYNK_WRITE(V1){ + int x_1 = param[0].asInt(); + int y_1 = param[1].asInt(); + if (x_1 ==0 && y_1==0){ + stopud(); + }else if(x_1==0 && y_1==1){ + up(); + }else if(x_1 ==0 && y_1 ==-1){ + down(); + } +} + +BLYNK_WRITE(V2){ + int Speed = param.asInt(); + SpeedControl(Speed); +}