Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Meerdere Servos Besturen Via Bluetooth: Arduino & Android App

Onderdelen en benodigdheden

Onderdeel Aantal
Arduino UNO 1
HC-06 Bluetooth-module 1
Servo 6
Jumper wires (standaard) 1
Android-apparaat 1

Over dit project

Meerdere Servos Besturen Via Bluetooth: Arduino & Android App

Hallo wereld! Ik maakte gisteren een app voor 1 servo en zei dat ik een multi-control zou maken, dus hier is de multi-control app! Ik heb ook de Arduino-code verbeterd. Volg de volgende stap voor het schema, de code, de onderdelenlijst en de app.

Download de app op: GOOGLE PLAY

Neem contact op als je de broncode wilt!

Stap 1: Onderdelenlijst

Sluit alles aan volgens het schema, upload de code, download de app, koppel Bluetooth na het koppelen van de apparaten en het zou moeten werken. Zorg ervoor dat je RXD aan TX en TXD aan RX koppelt.

Zorg ook dat je de Bluetooth-module NIET aangesloten hebt tijdens het uploaden.

Onderdelenlijst:

  • Arduino Uno, (Gebruik een Mega als je meer dan 6 servos wilt gebruiken!) Ik gebruikte de RobotDyn Uno.
  • HC-06 Bluetooth-module, of een andere.
  • 6x Servomotor. (Kan getest worden met één natuurlijk)
  • Jumper wires set MM/FF/MF
  • Android-telefoon.

Succes!

Volg de volgende stap om te ontdekken hoe je de naam, pincode en baudrate van je Bluetooth-module kunt wijzigen. (optioneel)

Stap 2: Hoe de naam van je HC-06 te wijzigen

Wat heb je nodig?

  • 1x USB-naar-TTL microcontroller programmer om met je HC-06 te verbinden

Hoe de programmer aan te sluiten?

  • VCC naar VCC
  • GND naar GND
  • RXD naar TX
  • TXD naar RX

Laten we beginnen:

  • Sluit de USB TTL-programmer aan op de HC-06.
  • Stop de USB in en open de Arduino IDE.
  • Open de seriële monitor.
  • Typ "AT" zonder aanhalingstekens. Je zou een reactie in de seriële monitor moeten zien met "OK".
  • Typ "AT+NAMExyz". Stelt de modulenaam in op "xyz" (vervang xyz door de gewenste naam). Reactie moet "OKsetname" zijn.
  • Typ "AT+PIN1234". Stelt de pincode in op 1234 (vervang 1234 door je gewenste pincode). Reactie moet "OKsetPIN" zijn. Voor meer info over baudrate wijzigen etc. heb ik een PDF-bestand bijgevoegd. Succes!
FPO4FLRIN7QTTG9.pdf

Code

BLUETOOTH_Servo_Control_Multi_Servo.ino (Arduino)

Code om meerdere servos te besturen.

/* Auteur: Danny van den Brande. Met deze code kun je meerdere servomotoren besturen met een Android-app. Je kunt er zoveel toevoegen als je wilt tot je pinnen op zijn. Je kunt meer servos in de code toevoegen. Als je de broncode van de app wilt, neem dan contact met me op. */
#include <Servo.h>

Servo myservo1, myservo2, myservo3, myservo4, myservo5, myservo6;
Servo myservo7, myservo8, myservo9, myservo10;

byte serialA;

void setup() {
  myservo1.attach(9);
  myservo2.attach(10);
  myservo3.attach(11);
  myservo4.attach(3);
  myservo5.attach(5);
  myservo6.attach(6);
  
  // myservo7.attach(); vul pinnummers in als je meer dan 6 servos gebruikt, laat leeg
  // myservo8.attach();
  // myservo9.attach();
  // myservo10.attach();
  
  Serial.begin(9600); // Wijzig baudrate naar die van je Bluetooth-module indien nodig
}

void loop() {
  if (Serial.available() > 2) {
    serialA = Serial.read();
    Serial.println(serialA);
  }
  
  {
    unsigned int servopos = Serial.read();
    unsigned int servopos1 = Serial.read();
    unsigned int realservo = (servopos1 * 256) + servopos;
    Serial.println(realservo);
    
    if (realservo >= 1000 && realservo < 1180) {
      int servo1 = realservo;
      servo1 = map(servo1, 1000, 1180, 0, 180);
      myservo1.write(servo1);
      Serial.println("servo 1 AAN");
      delay(10);
    }
    
    if (realservo >= 2000 && realservo < 2180) {
      int servo2 = realservo;
      servo2 = map(servo2, 2000, 2180, 0, 180);
      myservo2.write(servo2);
      Serial.println("servo 2 AAN");
      delay(10);
    }
    
    if (realservo >= 3000 && realservo < 3180) {
      int servo3 = realservo;
      servo3 = map(servo3, 3000, 3180, 0, 180);
      myservo3.write(servo3);
      Serial.println("servo 3 AAN");
      delay(10);
    }
    
    if (realservo >= 4000 && realservo < 4180) {
      int servo4 = realservo;
      servo4 = map(servo4, 4000, 4180, 0, 180);
      myservo4.write(servo4);
      Serial.println("servo 4 AAN");
      delay(10);
    }
    
    if (realservo >= 5000 && realservo < 5180) {
      int servo5 = realservo;
      servo5 = map(servo5, 5000, 5180, 0, 180);
      myservo5.write(servo5);
      Serial.println("servo 5 AAN");
      delay(10);
    }
    
    if (realservo >= 6000 && realservo < 6180) {
      int servo6 = realservo;
      servo6 = map(servo6, 6000, 6180, 0, 180);
      myservo6.write(servo6);
      Serial.println("servo 6 AAN");
      delay(10);
    }
    
    // if (realservo >= 7000 && realservo < 7180) {
    //   UNCOMMENT als je meer dan 6 servos gebruikt.
    //   int servo7 = realservo;
    //   servo7 = map(servo7, 7000, 7180, 0, 180);
    //   myservo7.write(servo7);
    //   Serial.println("servo 7 AAN");
    //   delay(10);
    // }
    //
    // if (realservo >= 8000 && realservo < 8180) {
    //   int servo8 = realservo;
    //   servo8 = map(servo8, 8000, 8180, 0, 180);
    //   myservo8.write(servo8);
    //   Serial.println("servo 8 AAN");
    //   delay(10);
    // }
    //
    // if (realservo >= 9000 && realservo < 9180) {
    //   int servo9 = realservo;
    //   servo9 = map(servo9, 9000, 9180, 0, 180);
    //   myservo9.write(servo9);
    //   Serial.println("servo 9 AAN");
    //   delay(10);
    // }
    //
    // if (realservo >= 10000 && realservo < 10180) {
    //   int servo10 = realservo;
    //   servo10 = map(servo10, 10000, 10180, 0, 180);
    //   myservo10.write(servo10);
    //   Serial.println("servo 10 AAN");
    //   delay(10);
    // }
  }
}

Schema's

Meerdere Servos Besturen Via Bluetooth: Arduino & Android App

Productieproces

  1. Simple Pi Robot – Bouw een 2-WD Autonome Rover met Raspberry Pi
  2. Universele Android-afstandsbediening bouwen met Arduino, 1Sheeld en IR-besturing
  3. Arduino Power Control Center: N-FET, P-FET, Relais & RTC Kit
  4. Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
  5. Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
  6. Een LED bedienen via Bluetooth met Arduino – Eenvoudige DIY Handleiding
  7. DIY Arduino Luchtbevochtiger Controller met Relais – Veilige Hoogspanningsopstelling
  8. Arduino & MPU6050: Precieze Servomotor Besturing met SG90 & MG996R
  9. Arduino Uno & Bluetooth voor afstandsbediening van auto: stap-voor-stap handleiding
  10. Servomotoren Uitgelegd: Hoe Ze Werken en Waarom Ze Belangrijk Zijn
  11. Servomotor vertragers begrijpen: Functies, voordelen en toepassingen