0% found this document useful (0 votes)
35 views

#Include #Include

This code controls 6 servos connected to an Arduino. It uses Bluetooth to receive commands to move the servos to specified positions or run saved sequences of positions. It initializes the servos, sets up Bluetooth communication, defines functions to move individual servos to new positions on command or run through saved sequences, and includes a loop to continuously check for and respond to Bluetooth commands.

Uploaded by

sarahrou
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

#Include #Include

This code controls 6 servos connected to an Arduino. It uses Bluetooth to receive commands to move the servos to specified positions or run saved sequences of positions. It initializes the servos, sets up Bluetooth communication, defines functions to move individual servos to new positions on command or run through saved sequences, and includes a loop to continuously check for and respond to Bluetooth commands.

Uploaded by

sarahrou
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

/*

S.M.A code de controle

*/

#include <SoftwareSerial.h>

#include <Servo.h>

Servo servo01;

Servo servo02;

Servo servo03;

Servo servo04;

Servo servo05;

Servo servo06;

SoftwareSerial Bluetooth(3, 4); // Arduino(RX, TX) - HC-05 Bluetooth (TX, RX)

int servo1Pos, servo2Pos, servo3Pos, servo4Pos, servo5Pos, servo6Pos; // position en cours

int servo1PPos, servo2PPos, servo3PPos, servo4PPos, servo5PPos, servo6PPos; // position


précédente

int servo01SP[50], servo02SP[50], servo03SP[50], servo04SP[50], servo05SP[50], servo06SP[50]; //


pour sauvegarder les mouvements

int speedDelay = 20;

int index = 0;

String dataIn = "";

void setup() {

servo01.attach(5);

servo02.attach(6);

servo03.attach(7);

servo04.attach(8);

servo05.attach(9);

servo06.attach(10);
Bluetooth.begin(38400);

Bluetooth.setTimeout(1);

delay(20);

// position initial

servo1PPos = 90;

servo01.write(servo1PPos);

servo2PPos = 150;

servo02.write(servo2PPos);

servo3PPos = 35;

servo03.write(servo3PPos);

servo4PPos = 140;

servo04.write(servo4PPos);

servo5PPos = 85;

servo05.write(servo5PPos);

servo6PPos = 80;

servo06.write(servo6PPos);

void loop() {

if (Bluetooth.available() > 0) {

dataIn = Bluetooth.readString(); // lire les information en chaine de caractère

// If "base02" a change la valeur - déplacer Servo 1 a la position

if (dataIn.startsWith("s1")) {

String dataInS = dataIn.substring(2, dataIn.length());"120"

servo1Pos = dataInS.toInt(); // Convertir la chaine de caractére en entier

// Control de la vitesse de servo

if (servo1PPos > servo1Pos) {

for ( int j = servo1PPos; j >= servo1Pos; j--) { // Run servo down

servo01.write(j);

delay(20);
}

if (servo1PPos < servo1Pos) {

for ( int j = servo1PPos; j <= servo1Pos; j++) { servo01.write(j);

delay(20);

servo1PPos = servo1Pos; }

if (dataIn.startsWith("s2")) {

String dataInS = dataIn.substring(2, dataIn.length());

servo2Pos = dataInS.toInt();

if (servo2PPos > servo2Pos) {

for ( int j = servo2PPos; j >= servo2Pos; j--) {

servo02.write(j);

delay(50);

if (servo2PPos < servo2Pos) {

for ( int j = servo2PPos; j <= servo2Pos; j++) {

servo02.write(j);

delay(50);

servo2PPos = servo2Pos;

if (dataIn.startsWith("s3")) {

String dataInS = dataIn.substring(2, dataIn.length());

servo3Pos = dataInS.toInt();
if (servo3PPos > servo3Pos) {

for ( int j = servo3PPos; j >= servo3Pos; j--) {

servo03.write(j);

delay(30);

if (servo3PPos < servo3Pos) {

for ( int j = servo3PPos; j <= servo3Pos; j++) {

servo03.write(j);

delay(30);

servo3PPos = servo3Pos;

if (dataIn.startsWith("s4")) {

String dataInS = dataIn.substring(2, dataIn.length());

servo4Pos = dataInS.toInt();

if (servo4PPos > servo4Pos) {

for ( int j = servo4PPos; j >= servo4Pos; j--) {

servo04.write(j);

delay(30);

if (servo4PPos < servo4Pos) {

for ( int j = servo4PPos; j <= servo4Pos; j++) {

servo04.write(j);

delay(30);

servo4PPos = servo4Pos;

}
// déplacer Servo 5

if (dataIn.startsWith("s5")) {

String dataInS = dataIn.substring(2, dataIn.length());

servo5Pos = dataInS.toInt();

if (servo5PPos > servo5Pos) {

for ( int j = servo5PPos; j >= servo5Pos; j--) {

servo05.write(j);

delay(30);

if (servo5PPos < servo5Pos) {

for ( int j = servo5PPos; j <= servo5Pos; j++) {

servo05.write(j);

delay(30);

servo5PPos = servo5Pos;

// déplacerServo 6

if (dataIn.startsWith("s6")) {

String dataInS = dataIn.substring(2, dataIn.length());

servo6Pos = dataInS.toInt();

if (servo6PPos > servo6Pos) {

for ( int j = servo6PPos; j >= servo6Pos; j--) {

servo06.write(j);

delay(30);

if (servo6PPos < servo6Pos) {

for ( int j = servo6PPos; j <= servo6Pos; j++) {

servo06.write(j);
delay(30);

servo6PPos = servo6Pos;

// si le button sauvegarder est activé

if (dataIn.startsWith("SAVE")) {

servo01SP[index] = servo1PPos;

servo02SP[index] = servo2PPos;

servo03SP[index] = servo3PPos;

servo04SP[index] = servo4PPos;

servo05SP[index] = servo5PPos;

servo06SP[index] = servo6PPos;

index++; }

if (dataIn.startsWith("RUN")) {

runservo(); // Automatic mode - run the saved steps

if ( dataIn == "RESET") {

memset(servo01SP, 0, sizeof(servo01SP));

memset(servo02SP, 0, sizeof(servo02SP));

memset(servo03SP, 0, sizeof(servo03SP));

memset(servo04SP, 0, sizeof(servo04SP));

memset(servo05SP, 0, sizeof(servo05SP));

memset(servo06SP, 0, sizeof(servo06SP));

index = 0;

void runservo() {

while (dataIn != "RESET") { for (int i = 0; i <= index - 2; i++) { // Run through all steps(index)
if (Bluetooth.available() > 0) {

dataIn = Bluetooth.readString();

if ( dataIn == "PAUSE") {

while (dataIn != "RUN") { if (Bluetooth.available() > 0) {

dataIn = Bluetooth.readString();

if ( dataIn == "RESET") {

break;

if (dataIn.startsWith("ss")) {

String dataInS = dataIn.substring(2, dataIn.length());

speedDelay = dataInS.toInt();}

// Servo 1

if (servo01SP[i] == servo01SP[i + 1]) {

if (servo01SP[i] > servo01SP[i + 1]) {

for ( int j = servo01SP[i]; j >= servo01SP[i + 1]; j--) {

servo01.write(j);

delay(speedDelay);

if (servo01SP[i] < servo01SP[i + 1]) {

for ( int j = servo01SP[i]; j <= servo01SP[i + 1]; j++) {

servo01.write(j);

delay(speedDelay);

}
// Servo 2

if (servo02SP[i] == servo02SP[i + 1]) {

if (servo02SP[i] > servo02SP[i + 1]) {

for ( int j = servo02SP[i]; j >= servo02SP[i + 1]; j--) {

servo02.write(j);

delay(speedDelay);

if (servo02SP[i] < servo02SP[i + 1]) {

for ( int j = servo02SP[i]; j <= servo02SP[i + 1]; j++) {

servo02.write(j);

delay(speedDelay);

// Servo 3

if (servo03SP[i] == servo03SP[i + 1]) {

if (servo03SP[i] > servo03SP[i + 1]) {

for ( int j = servo03SP[i]; j >= servo03SP[i + 1]; j--) {

servo03.write(j);

delay(speedDelay);

if (servo03SP[i] < servo03SP[i + 1]) {

for ( int j = servo03SP[i]; j <= servo03SP[i + 1]; j++) {

servo03.write(j);

delay(speedDelay);

}
// Servo 4

if (servo04SP[i] == servo04SP[i + 1]) {

if (servo04SP[i] > servo04SP[i + 1]) {

for ( int j = servo04SP[i]; j >= servo04SP[i + 1]; j--) {

servo04.write(j);

delay(speedDelay);

if (servo04SP[i] < servo04SP[i + 1]) {

for ( int j = servo04SP[i]; j <= servo04SP[i + 1]; j++) {

servo04.write(j);

delay(speedDelay);

// Servo 5

if (servo05SP[i] == servo05SP[i + 1]) {

if (servo05SP[i] > servo05SP[i + 1]) {

for ( int j = servo05SP[i]; j >= servo05SP[i + 1]; j--) {

servo05.write(j);

delay(speedDelay);

if (servo05SP[i] < servo05SP[i + 1]) {

for ( int j = servo05SP[i]; j <= servo05SP[i + 1]; j++) {

servo05.write(j);

delay(speedDelay);

}
}

// Servo 6

if (servo06SP[i] == servo06SP[i + 1]) {

if (servo06SP[i] > servo06SP[i + 1]) {

for ( int j = servo06SP[i]; j >= servo06SP[i + 1]; j--) {

servo06.write(j);

delay(speedDelay);

if (servo06SP[i] < servo06SP[i + 1]) {

for ( int j = servo06SP[i]; j <= servo06SP[i + 1]; j++) {

servo06.write(j);

delay(speedDelay);

You might also like