Facebook
From Wet Bongo, 6 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 263
  1. //podlaczenie silnika
  2. int IN1 = 2;
  3. int IN2 = 3;
  4. int IN3 = 4;
  5. int IN4 = 5;
  6. int led = 13;
  7. bool halt = 0; //awaryjny stop | true == stop
  8. unsigned long czas;
  9.  
  10. //wykonaj  kroki
  11. void krok(int i){
  12. //poszczególne kroki
  13. switch(i){
  14.    case 0:
  15.      digitalWrite(IN1, LOW);
  16.      digitalWrite(IN2, LOW);
  17.      digitalWrite(IN3, LOW);
  18.      digitalWrite(IN4, HIGH);
  19.    break;
  20.    case 1:
  21.      digitalWrite(IN1, LOW);
  22.      digitalWrite(IN2, LOW);
  23.      digitalWrite(IN3, HIGH);
  24.      digitalWrite(IN4, HIGH);
  25.    break;
  26.    case 2:
  27.      digitalWrite(IN1, LOW);
  28.      digitalWrite(IN2, LOW);
  29.      digitalWrite(IN3, HIGH);
  30.      digitalWrite(IN4, LOW);
  31.    break;
  32.    case 3:
  33.      digitalWrite(IN1, LOW);
  34.      digitalWrite(IN2, HIGH);
  35.      digitalWrite(IN3, HIGH);
  36.      digitalWrite(IN4, LOW);
  37.    break;
  38.    case 4:
  39.      digitalWrite(IN1, LOW);
  40.      digitalWrite(IN2, HIGH);
  41.      digitalWrite(IN3, LOW);
  42.      digitalWrite(IN4, LOW);
  43.    break;
  44.    case 5:
  45.      digitalWrite(IN1, HIGH);
  46.      digitalWrite(IN2, HIGH);
  47.      digitalWrite(IN3, LOW);
  48.      digitalWrite(IN4, LOW);
  49.    break;
  50.      case 6:
  51.      digitalWrite(IN1, HIGH);
  52.      digitalWrite(IN2, LOW);
  53.      digitalWrite(IN3, LOW);
  54.      digitalWrite(IN4, LOW);
  55.    break;
  56.    case 7:
  57.      digitalWrite(IN1, HIGH);
  58.      digitalWrite(IN2, LOW);
  59.      digitalWrite(IN3, LOW);
  60.      digitalWrite(IN4, HIGH);
  61.    break;
  62.    default:
  63.      digitalWrite(IN1, LOW);
  64.      digitalWrite(IN2, LOW);
  65.      digitalWrite(IN3, LOW);
  66.      digitalWrite(IN4, LOW);
  67.    break;
  68. }
  69. }
  70. //funkcja wykonująca pełne obroty, obroty = ilosc, kierunek: 0 = lewo | 1 = prawo, opoz = predkosc(czas pomiedzy krokami)
  71. void obrot(int obroty, int kierunek, int opoz){
  72.  
  73. if(halt == 0){
  74. //ile ilośc pełnych obrotów
  75.   for(int b = 0; b < obroty; b++){
  76.  
  77. //pełen obrót  
  78.     for(int a = 0; a < 512; a++){
  79.           //awaryjny stop
  80.           if(halt == 0){
  81.           //obracaj w lewo
  82.            if(kierunek == 0){
  83.             for(int l = 0; l < 8; l++){
  84.               krok(l);
  85.               delay(opoz);
  86.               }
  87.             }
  88.           }
  89.         //awaryjny stop
  90.         if(halt == 0){
  91.         //obracaj w prawo
  92.           if(kierunek == 1){
  93.             for(int p = 7; p > -1; p--){
  94.               krok(p);
  95.               delay(opoz);
  96.               }
  97.             }
  98.           }
  99.      
  100.     }
  101.   }
  102. }
  103. //wyłaczanie wszystkich cewek po zakończeniu pracy funkcji
  104. digitalWrite(IN1, LOW);
  105. digitalWrite(IN2, LOW);
  106. digitalWrite(IN3, LOW);
  107. digitalWrite(IN4, LOW);
  108. }
  109. void setup() {
  110. pinMode(IN1, OUTPUT);
  111. pinMode(IN2, OUTPUT);
  112. pinMode(IN3, OUTPUT);
  113. pinMode(IN4, OUTPUT);
  114. pinMode(led, OUTPUT);
  115. }
  116.  
  117. void loop() {
  118. obrot(2,0,1);
  119. }
  120.  

Replies to Untitled rss

Title Name Language When
Re: Untitled hui text 6 Years ago.
captcha