Advertisement
Guest User

robotti

a guest
Dec 15th, 2011
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.72 KB | None | 0 0
  1. // Sweep
  2. // by BARRAGAN <http://barraganstudio.com>
  3. // This example code is in the public domain.
  4.  
  5.  
  6. #include <Servo.h>
  7.  
  8. Servo leftservo;
  9. Servo rightservo;  // create servo object to control a servo
  10.  
  11. int pos = 0;    // variable to store the servo position
  12.  
  13. const int  leftbuttonPin      = 2; //ihokarvan etuvasen
  14. const int  rightbuttonPin     = 3; //ihokarvan etuoikea
  15. const int  backleftbuttonPin  = 4; //ihokarvan takavasen
  16. const int  backrightbuttonPin = 5; //ihokarvan takaoikea
  17.  
  18.                                          
  19. int leftbuttonState      = 0;
  20. int rightbuttonState     = 0;
  21. int backleftbuttonState  = 0;   //jotain mitä piti tehä kaikille karvoille
  22. int backrightbuttonState = 0;
  23.  
  24.  
  25.  
  26. void setup()
  27. {
  28.   leftservo.attach(9);  // attaches the servo on pin 9 to the servo object
  29.   rightservo.attach(10);  // attaches the servo on pin 10 to the servo object
  30.  
  31.   pinMode(leftbuttonPin, INPUT);  //buttonpinni inputiksi  jotai mitä kaikille piti tehdä
  32.   pinMode(rightbuttonPin, INPUT);
  33.   pinMode(backleftbuttonPin, INPUT);  
  34.   pinMode(backrightbuttonPin, INPUT);
  35.  
  36.   digitalWrite(leftbuttonPin, HIGH);  //jotai mitä karvoille piti tehä  
  37.   digitalWrite(rightbuttonPin, HIGH);
  38.   digitalWrite(backleftbuttonPin, HIGH);  
  39.   digitalWrite(backrightbuttonPin, HIGH);
  40. }
  41.  
  42. // jos etukarvat osaa niin peruttaa+kääntyy jos silloin osuu takakarvat tapahtuu tämä eikä käänny
  43. boolean back(){
  44.   backleftbuttonState  = digitalRead(backleftbuttonPin);
  45.   backrightbuttonState = digitalRead(backrightbuttonPin);
  46.  
  47.   if (backleftbuttonState == HIGH and backrightbuttonState == LOW) {
  48.     rightservo.write(110);
  49.     leftservo.write(90);
  50.     delay(1000);
  51.     return true;
  52.   }  
  53.   else if(backleftbuttonState == LOW and backrightbuttonState == HIGH) {
  54.     rightservo.write(90);
  55.     leftservo.write(110);
  56.     delay(1000);
  57.     return true;
  58.   }
  59.   else return false;
  60.  
  61. }
  62.  
  63.  
  64. void loop(){
  65.   // read the state of the pushbutton value:
  66.   leftbuttonState      = digitalRead(leftbuttonPin);
  67.   rightbuttonState     = digitalRead(rightbuttonPin);
  68.  
  69.  
  70.    
  71.     if (leftbuttonState == HIGH and rightbuttonState == LOW) {
  72.      
  73.        
  74.       rightservo.write(80);
  75.       leftservo.write(100);
  76.       delay(2000);
  77.       if (!back()) {
  78.         rightservo.write(70);
  79.         leftservo.write(90);
  80.         delay(1000);
  81.       }  
  82.     }
  83.  
  84.     if (leftbuttonState == LOW and rightbuttonState == HIGH) {
  85.      
  86.       rightservo.write(80);
  87.       leftservo.write(100);
  88.       delay(2000);
  89.        if (!back()){
  90.         rightservo.write(90);
  91.         leftservo.write(70);
  92.         delay(1000);
  93.        }    
  94.     }
  95.  
  96.     if (leftbuttonState == LOW and rightbuttonState == LOW) {
  97.      
  98.       rightservo.write(80);
  99.       leftservo.write(100);
  100.       delay(2000);
  101.       if (!back()) {    
  102.         rightservo.write(random(70,110));
  103.         leftservo.write(random(70,110));
  104.         delay(1000);
  105.       }
  106.     }
  107.  
  108.    
  109.      
  110.    rightservo.write(110);
  111.    leftservo.write(70);
  112.    delay(100);
  113.    
  114.  
  115.    
  116.    }
  117.  
  118.  
  119.    
  120.    
  121.    
  122.    
  123.    
  124.    
  125.    
  126.    
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  // for(pos = 0; pos < 180; pos += 1)  // goes from 0 degrees to 180 degrees
  136.   //{                                  // in steps of 1 degree
  137.     //rightservo.write(pos);              // tell servo to go to position in variable 'pos'
  138.    // delay(15);                       // waits 15ms for the servo to reach the position
  139.   //}
  140.   //for(pos = 180; pos>=1; pos-=1)     // goes from 180 degrees to 0 degrees
  141.  // {                                
  142.   //rightservo.write(pos);              // tell servo to go to position in variable 'pos'
  143.    // delay(15);                       // waits 15ms for the servo to reach the position
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement