搜索代码

Controlling a Servo Motor Using an ESP32 and Bluetooth (ESP-SERV-BT-1)

Controlling a Servo Motor Using an ESP32 and Bluetooth (ESP-SERV-BT-1)

This video shows how to control position of Servo Motor using ESP32 Microcontroller to move it from 0° to 180° to any angle defined in bluetooth We have 3 type of controling Servo Motor with ESP32
283-Code ESP-SERV2 controlling a servo motor using a potentiometer
语言: C++
/*
 * Original Servo Library source: https://github.com/RoboticsBrno/ESP32-Arduino-Servo-Library
 * 
 * This is Arduino code to control a servo motor with ESP32 boards over Bluetooth.
 * Watch video instructions for this code: https://youtu.be/5TlEgfFDrzI
   
 * Written/updated by Ahmad Shamshiri for Robojax Video channel www.Robojax.com
 * Date: January 5, 2019, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * This code has been downloaded from https://robojax.com
 
 * Get this code and other Arduino codes from Robojax.com.
 Learn Arduino step by step in a structured course with all material, wiring diagrams, and libraries
 all in one place. 

****************************
Get early access to my videos via Patreon and have your name mentioned at the end of every 
video I publish on YouTube here: http://robojax.com/L/?id=63 (watch until the end of this video for a list of my Patrons)
****************************

or make a donation using PayPal http://robojax.com/L/?id=64

 *  * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been downloaded from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
#include <Servo_ESP32.h>

static const int servo1Pin = 19; //printed G19 on the board

Servo_ESP32 servo1;

int servo1Angle =90;

int servo1AngleMin =0;
int servo1AngleMax = 180;

#include "BluetoothSerial.h"
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif

BluetoothSerial SerialBT;
String inData;

char receivedChar;// received value will be stored as CHAR in this variable

void setup() {
  Serial.begin(115200);
  SerialBT.begin("ESP32_Robojax"); //Bluetooth device name
  Serial.println("The device started, now you can pair it with bluetooth!");
  
    servo1.attach(servo1Pin);
	  //Servo control using ESP32 from Robojax.com

}

void loop() {

  //Robojax.com Servo with ESP32 Bluetooth
  if (Serial.available()) {
    SerialBT.write(Serial.read());
  
  }
  while (SerialBT.available() ) {
    receivedChar =(char)SerialBT.read();
    inData += receivedChar;    
        if (receivedChar == '\n')
        {    
    SerialBT.print("Received:");// write on BT app
    SerialBT.println(inData);// write on BT app   

    Serial.print("Received:");//print on Serial Monitor
    Serial.println(inData); //print on Serial Monitor     
    
    servo1Angle = inData.toInt() ;//convert it to integer  
    
    if(servo1Angle <=servo1AngleMax && servo1Angle >=servo1AngleMin)
    {
      servo1.write(servo1Angle);//move servo to that angle   
    }
           inData = ""; // Clear recieved buffer                    
                  
        }//if (receivedChar


  }// while

        //Serial.println(servo1Angle);
        delay(20);

}

资源与参考

尚无可用资源。

文件📁

没有可用的文件。