Diferencias

Muestra las diferencias entre dos versiones de la página.


servobasic [2018/08/09 19:26] (actual) – creado - editor externo 127.0.0.1
Línea 1: Línea 1:
 +<code c|servobasic.c>
 +/*-----------------------------------------------------
 +Author:  --<Leonardo Yamasaki>
 +Date: 2016-03-15
 +Description: Test servo manual
  
 +-----------------------------------------------------*/
 +#define SERVMIN 800
 +#define SERVMID 2000
 +#define SERVMAX 3150
 +#define SERVOPORT 7
 +
 +int i;
 +int s;
 +
 +void servo(int s,int i);
 +
 +void setup() {
 +  pinMode(SERVOPORT,OUTPUT);
 +}
 +  
 +void loop() {
 + 
 + for(i=SERVMIN;i<SERVMAX;i=i+10)
 +    servo(SERVOPORT,i);
 +  for(i=SERVMAX;i>SERVMIN;i=i-10)
 +    servo(SERVOPORT,i);
 +/*
 +  for(i=0;i<200;i++) servmin();
 +  delay(100);
 +  for(i=0;i<200;i++) servmid();
 +  delay(100);
 +  for(i=0;i<200;i++) servmax();
 +  delay(100);
 +  for(i=0;i<200;i++) servmid();
 +  delay(100);
 +*/
 +}
 +
 +void servo(int s,int i){
 +  digitalWrite(s,LOW);
 +  delay(10);
 +  digitalWrite(s,HIGH);
 +  delayMicroseconds(i);
 +  digitalWrite(s,LOW);
 +}
 +
 +void servmin(){
 +  digitalWrite(SERVOPORT,LOW);
 +  delay(10);
 +  digitalWrite(SERVOPORT,HIGH);
 +  delayMicroseconds(SERVMIN);
 +  digitalWrite(SERVOPORT,LOW);
 +}
 +
 +void servmax(){
 +  digitalWrite(SERVOPORT,LOW);
 +  delay(10);
 +  digitalWrite(SERVOPORT,HIGH);
 +  delayMicroseconds(SERVMAX);
 +  digitalWrite(SERVOPORT,LOW);
 +}
 +
 +void servmid(){
 +  digitalWrite(SERVOPORT,LOW);
 +  delay(10);
 +  digitalWrite(SERVOPORT,HIGH);
 +  delayMicroseconds(SERVMID);
 +  digitalWrite(SERVOPORT,LOW);
 +}
 +</code>