Rechnest auch Du (noch) mit dem Sozialismus?
Dann bau' Dir eine Spielmaschine im Geiste Konrad Zuses! *





Arbeit mit Studierenden der Ufg Linz (SS 2018)
Studienrichtung Mediengestaltung (Lehramt)

Dank für die Produktion des Videos geht an © Bertram Verdezoto Galeas,
Kontakt: bertram.verdezoto-galeas@ufg.at

Rückblick auf ein Experiment aus dem Medienlabor::
City Lights, oder: Wie man Verbindungen herstellt und verändert

THX to Special Guest Florian "overflo" Bittner@Hackershop Blinkenrocket 4ever! Empfehlung für Interessierte:: Linux-Kurs für AnfängerInnen@Mond – Grüße von Sonne!





ZUTATEN

WERKZEUGE

  • Stecknadeln
  • Superkleber

ANLEITUNG & PROJEKT

Vieles, was Du über die Steuerung von Servo-Motoren mit dem Raspberry Pi wissen musst, findest Du hier

ANMERKUNGEN

Hier findest Du eine Dokumentation zur Inbetriebnahme des LINUX-Microcomputers Raspberry Pi [work in progress]

CODE

Der Code zur Steuerung des Server-Motortyps 360° Continuous Rotation Servo – FeeTech FS5103R wurde in der Programmiersprache python geschrieben und wird Dir hiermit zur Verfügung gestellt!

	
  # +++ barbara's code zur 360º servo-motorsteuerung +++

  import time 
	
  # GPIO-Library für Raspberry PI
	
  import RPi.GPIO as GPIO
	
  # Aktivierung der Pin-Modes am Raspberry Pi
	
  GPIO.setmode(GPIO.BCM) 
	
  # Pin 18 am Raspberry PI wird als Output-Pin gesetzt

  GPIO.setup(18, GPIO.OUT)

  # PWM-Frequenz (= Pulsweitenmodulation) wird für Pin 18 
  # mit 100 Hertz bestimmt 
 
  pwm=GPIO.PWM(18,100)             
	
  # Der Standard-Wert für den Servo-Motor FeeTech FS5103R
  # liegt zwischen 50 - 100 Hertz
  # Mit 5 Hertz wird die Startposition des Motors 
  # mit 45º bestimmt
	
  pwm.start(5)

  # Festlegung des Drehwinkels auf 200º 
	
  angle=200 

  # Angle To Duty-Cycle-Conversion, Festlegung in º
	
  duty=float(angle)/10 + 2.5 

  # Initialer Wert der Integer-Variable 
  
  int=0

  # while-Schleife (enthält Bedingung, 
  # die nicht falsch werden kann -> Endlosschleife)
	
  while int<=0:   

  # Bedingung zur Änderung des Duty-Cycles
	
  pwm.ChangeDutyCycle(duty)  

  # Pause für 800 Millisekunden
	 
  time.sleep(0.8) 

  # Funktion zum Entfernen 
  # von Resten anliegender elektronischer Spannung 
     
  GPIO.cleanup()                   
	
   	

Eine allgemeine Einführung zum Steuern von Sensoren und Aktoren wird hier von O'Reilly zur Verfügung gestellt, der .ino-Code für die Servomotor-Steuerung mit einem Arduino findet sich hier:


  // +++ barbara's servo-motorsteuerungscode für arduino ++
  
  // Die Bibliothek Servo.h wird eingebunden mit 
  
  #include Servo.h

  // Servo-Object "myservo" wird erstellt
 
  Servo myservo;

  // Funktionsdeklaration
  
  // PWM-Pin wird mit Pin 9 belegt
 
  void setup()                          
  { 
    myservo.attach(9);                   
  } 
  
  // Funktionsaufruf
 
  void loop()                            
  { 
 
  myservo.write(179);  // Servo wird um je 179 Grad gedreht 
                       // mögliche Werte [0 - 179; 1023] 
                       // 0 ; 1023 (CW) 
                       // 179 (CCW)
  delay(15);           // Verzögerung um 15 Sekunden
  } 
	
	

Happy Coding!
Die Spielmaschinenmenschen ;-)



* Konrad Zuse :: * 1910, Berlin [als Maler: Kuno See] – "Vater des Computers" Z3 (* 1941) && überzeugter Vertreter des Computer-Sozialismus