#include <LiquidCrystal.h> #include <SoftwareSerial.h> #include <Servo.h> LiquidCrystal lcd(8, 7, 6, 5, 4, 3); SoftwareSerial bluetooth(11, 12); Servo servoRotation; Servo servoTilt; int servoRotationPos = 90; int servoTiltPos = 90; //unsigned long previousMillis = 0; //unsigned long previousMillisTwo = 0; unsigned long previousMillisThree = 0; bool flag = 0; void setup() { pinMode(A2, INPUT); bluetooth.begin(115200); Serial.begin(115200); lcd.begin(16, 2); lcd.setCursor(0, 0); lcd.print("Biser Atanasov"); lcd.setCursor(0, 1); lcd.print("GoPro BT Remote"); delay(1000); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Loading..."); for (int i = 0; i <= 15; i++) { lcd.setCursor(i, 1); lcd.print("_"); delay(50); } servoRotation.attach(9); servoTilt.attach(10); lcd.clear(); lcd.setCursor(0, 0); } void loop() { if (bluetooth.available()) { unsigned int inputData = bluetooth.read(); Serial.print(" inputData= "); Serial.println(inputData); Serial.print(" servoTiltPos= "); Serial.println(servoTiltPos); Serial.print("servoRotationPos= "); Serial.println(servoRotationPos); lcd.setCursor(0, 1); lcd.print(inputData); if (inputData == 20 && servoTiltPos < 130 ) { servoTiltPos += 2; } else if (inputData == 40 && servoTiltPos > 50) { servoTiltPos -= 2; } else if (inputData == 60 && servoRotationPos < 180) { servoRotationPos += 2; } else if (inputData == 80 && servoRotationPos > 0) { servoRotationPos -= 2; } servoTilt.write(servoTiltPos); servoRotation.write(servoRotationPos); } if (digitalRead(A2) == LOW && flag == 1) { flag = 0; lcd.setCursor(0, 0); lcd.print("BT: Disconnected"); } else if (digitalRead(A2) == HIGH && flag == 0) { flag = 1; lcd.setCursor(0, 0); lcd.print("BT: Connected "); } if (millis() > previousMillisThree + 1000) { previousMillisThree = millis(); float voltage = analogRead(A7) * (5.00 / 1023.0) * 11.5; float temp = (5.0 * analogRead(A0) * 100.0) / 1024; lcd.setCursor(0, 1); lcd.print("V="); lcd.print(voltage); lcd.print(" T="); lcd.print(temp); lcd.print((char)223); lcd.print("C"); } }
Сорс код за Arduino
Абонамент за:
Публикации (Atom)