User Tools

Site Tools


openhw:arduino:έλεγχος_σερβοκινητήρα_με_απλό_διακόπτη

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
openhw:arduino:έλεγχος_σερβοκινητήρα_με_απλό_διακόπτη [2026/06/07 09:38] – ↷ Page name changed from openhw:arduino:οδηγοί to openhw:arduino:έλεγχος_σερβοκινητήρα_με_απλό_διακόπτη alexandrospropenhw:arduino:έλεγχος_σερβοκινητήρα_με_απλό_διακόπτη [2026/06/07 13:26] (current) – removed alexandrospr
Line 1: Line 1:
-====== Ελεγχος σερβοκινητήρα με απλό διακόπτη ====== 
  
- 
-Ελεγχος ενός σερβοκινητήρα με εναν απλό διακόπτη. Οταν πατηθεί ο διακόπτης ενεργοποιείται ο σερβοκινητηρας και κανει περιστροφη 180.  
- 
-<code> 
-#include <Servo.h> 
- 
-Servo myServo; 
- 
- 
-int angle=0; 
-int switchState = 0; 
-int servostate = 0 ;    // toggled by keypressed events 
-int getinput = 0 ; 
-int keyevent = 0 ;  // this var toggles to 1 to signify that a low-high-low switch event occured 
-                            // in the microcontroller's enviroment . After it affects the servorstate 
-                            // (it's consumed) and thus returns to 0. 
-int lowhigh = 0 ;  
-int highlow = 0 ; 
-int i = 0 ;  
-int loopcycle=0; 
- 
-void setup() { 
- 
-pinMode(12,INPUT); 
-myServo.attach(9); 
-Serial.begin(9600); 
- 
-} 
- 
-void loop() { 
- 
-switchState = digitalRead(12); 
-Serial.print(", loopcycle: "); 
-Serial.println(loopcycle); 
- 
-// Ο διακόπτης είναι παντά LOW . Θέλουμε να αλλάξουμε τη λειτουργία του προγραμματος 
-// όταν πατηθεί και γίνει το σήμα εισόδου HIGH. 
-// Η μεταβλητή getinput αλλάζει από 0 σε 1 όταν πατηθεί μια φορά το κουμπι. 
-// αρα πρεπει να αλλάξει όταν το σήμα 12 περάσει τη  μετάβαση LOW-HIGH-LOW. 
-// Κάθε πάτημα αλλάζει την κατάσταση του σερβοκινητήρα από ενεργό σε ανενεργό ή ανάποδα. 
- 
-while (keyevent == 0) {   // loop until a keypress low-high-low is registered 
-  if (switchState == HIGH ){  
-      lowhigh = 1 ;  // tmp key state that signifies that we catched the low-high 
-  } 
-  switchState = digitalRead(12); 
-  if ( switchState == LOW && lowhigh == 1 ){   
-    keyevent = 1  ; // we have a low-high-low thus a keyevent registered. 
-  } 
-} 
- 
-if (keyevent == 1 ) { 
-  keyevent = 0 ;   // we consume the keyevent to produce work. 
-  lowhigh = 0; 
-  
-  for ( angle = 10 ; angle <= 180 ; angle=angle+10){ 
-   myServo.write(angle); 
-   Serial.print("angle: "); 
-   Serial.println(angle); 
-   delay(600); 
-  } 
-} 
-loopcycle++ ; 
-} 
-</code> 
openhw/arduino/έλεγχος_σερβοκινητήρα_με_απλό_διακόπτη.1780825081.txt.gz · Last modified: by alexandrospr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki