sábado, 5 de abril de 2014

Projeto 21 - Servo motor lendo valores do terminal

Componentes necessários:

- Protobord
- 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  
  }  
 }  

Nenhum comentário :

Postar um comentário