- Servo Motor
- Fios
Insira valores entre 0 e 180 utilizando 3 caracteres por exemplo:
Para 0, digite 000 Para 60, digite 060 Para 180, digite 180
Deve ser feito como foi informado a cima pelo motivo de que é passado strings pelo terminal e não números, dessa forma o programa irá converter a string e se não for passado como descrito ocorre erro.
Parte da ideia para o funcionamento do modulo RF foi retirada desse link: http://ardufc.blogspot.com.br/2012/11/tutorial-controlando-servo-motor.html
Apesar de estar parecido, houve algumas modificações e terá uma versão nova em breve.
//Projeto 21 - Servo motor lendo valores do terminal
//Este código é de domínio público
#include <Servo.h>
Servo servo1; // Cria uma variavel do tipo Servo que será
char buffer[4]; // Array de char que irá converter para int
int received; //Usada para identificar o tamanho str
void setup(){
Serial.begin(9600);
servo1.attach(8); // Atribui o servo ao pino 8 do Arduino
received = 0;
buffer[received] = '\0'; //A posição 0 do array recebe '\0'
}
void loop(){
if(Serial.available()){ //Verifica se algo foi digitado
buffer[received++] = Serial.read(); //Salva os dados digitados
if(received >= (sizeof(buffer)-1)){
int numero = atoi(buffer);// Converte o valor de "char" para "int"
servo1.write(numero); // Envia o comando para o Servo Motor
received = 0;
}
Serial.flush(); // Limpa o buffer da entrada serial
}
}