# Ajuda com o codigo

**URL:** <https://forum.fazedores.com/t/ajuda-com-o-codigo/6685>\
**Category:** Arduino\
**Created:** [Setembro 8, 2019, 1:21am UTC](https://forum.fazedores.com/t/ajuda-com-o-codigo/6685 "2019-09-08T01:21:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![xandeco1603](https://avatars.discourse-cdn.com/v4/letter/x/ecae2f/32.png) [@xandeco1603](https://forum.fazedores.com/u/xandeco1603)\
**Post date:** [Setembro 8, 2019, 1:21am UTC](https://forum.fazedores.com/t/ajuda-com-o-codigo/6685/1 "2019-09-08T01:21:48Z")

</div>

Boa noite ! Amigos, Sou novo no assunto mas montei meu primeiro teste e estou tentando configurar controle de velocidade motor DC com potenciômetro + um servo.

Quando rodo servo funciona conforme esperado mas o controle do motor não roda conforme. Muda completamente a sensibilidade do potenciometro. Segue codigo abaixo.

Gostaria de uma ajuda.

/\*  
L298N Motor Control Demonstration with 2 Potentiometers  
L298N-Motor-Control-Demo-2pots.ino  
Demonstrates use of 2 potentiometers with Arduino and L298N Motor Controller

DroneBot Workshop 2017  
[http://dronebotworkshop.com](http://dronebotworkshop.com)  
\*/

#include \<Servo.h\>

Servo myservo; // create servo object to control a servo  
// twelve servo objects can be created on most boards

//Variáveis do Servo  
int pos = 0;

// Motor A

int enA = 10;  
int in1 = 9;  
int in2 = 8;

// Speed control potentiometers

int SpeedControl1 = A0;

// Motor Speed Values - Start at zero

int MotorSpeed1 = 0;

void setup()

{

// Set all the motor control pins to outputs

pinMode(enA, OUTPUT);  
pinMode(in1, OUTPUT);  
pinMode(in2, OUTPUT);  
myservo.attach(7);

}

void Servo1(){

for (pos = 80; pos \<= 90; pos += 1) { // goes from 0 degrees to 180 degrees  
// in steps of 1 degree  
myservo.write(pos); // tell servo to go to position in variable ‘pos’  
delay(40); // waits 15ms for the servo to reach the position  
}  
for (pos = 90; pos \>= 80; pos -= 1) { // goes from 180 degrees to 0 degrees8  
myservo.write(pos); // tell servo to go to position in variable ‘pos’  
delay(40); // waits 15ms for the servo to reach the position  
}  
}

void motor() {

// Set Motor A forward

digitalWrite(in1, HIGH);  
digitalWrite(in2, LOW);

// Read the values from the potentiometers

MotorSpeed1 = analogRead(SpeedControl1);

// Convert to range of 0-255

MotorSpeed1 = map(MotorSpeed1, 0, 1023, 0, 255);

// Adjust to prevent “buzzing” at very low speed

if (MotorSpeed1 \< 8)MotorSpeed1 = 0;

// Set the motor speeds

analogWrite(enA, MotorSpeed1);

}

void loop() {  
motor();  
Servo1();  
}

---

<div class="post-metadata">

**Author:** ![xandeco1603](https://avatars.discourse-cdn.com/v4/letter/x/ecae2f/32.png) [@xandeco1603](https://forum.fazedores.com/u/xandeco1603)\
**Post date:** [Setembro 8, 2019, 2:36am UTC](https://forum.fazedores.com/t/ajuda-com-o-codigo/6685/3 "2019-09-08T02:36:19Z")

</div>

Com o codigo acima:

1- servo funcionou normal  
2- controle de velocidade não.
