Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Fablab Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Seifenblasmaschine Programm
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Beschreibung Sketch === [[Seifenblasmaschine|Zurück]] Die hier genannten Variablen dienen zum Abgleich der Seifenblasenmaschine. Je nach Länge des Fadens und des Models des verwendeten Servos ist die Position des Blaserings nicht optimal und kann durch Ändern der 3 Positionsvariablen angeglichen werden. #define posUp 5 #define posCenter 70 #define posDown 150 Die 3 Variablen bestimmen die 3 Servowerte, die der Höhe des Blasrings entsprechen. Mögliche Werte sind zwischen 0 und 180. Es gibt rechtsdrehende und linksdrehende Servos. * '''posUp''' ist die obere Position in der die Seifenblasen geblasen werden. Der Blasering soll nicht in der Mitte des Propeller positioniert werden, sondern in der unteren Hälfte des Propellers, ein Stück oberhalb des Seifenflüssigkeitsbehälter. * '''posCenter''' ist die Zwischenposition zum Abtropfen. * '''posDown''' ist die Position in der Seifenflüssigkeit. Der Blasring darf dabei nicht den Boden berühren da ansonsten der Faden vom Rad springen kann. uint8_t servoPos[] = {posDown, posCenter, posDown, posUp, posUp, posUp}; uint32_t timePos[] = { 1000, 1000, 1000, 1000, 5000, 600}; uint8_t fanOn[] = { 0, 0, 0, 0, 1, 0}; uint32_t stepDelay = 40; Die Arrays '''servoPos[]''', '''timePos[]''' und '''fanOn[]''' speichern die Werte für die Höhe des Blasrings, die Zeit in Millisekunden, für die der Blasring in dieser Höhe bleibt und ob der Ventilator ein- oder ausgeschaltet ist. Durch hinzufügen oder löschen von Elementen (gleiche Anzahl von Elementen in jedem Array) ist es möglich, verschiedene Bewegungsmuster des Blasrings zu programmieren. Die Variable '''stepDelay''' gibt die Pause zwischen den Zwischenschritten des Servos an. Dadurch macht der Servo eine langsame, geschmeidige Bewegung. Kleinere Werte machen die Bewegung schneller. switch (mode) { case 0: servoTargetPos = servoPos[actualStep]; … case 1: … if (servoTargetPos > servoActualPos) servoActualPos++; if (servoTargetPos < servoActualPos) servoActualPos--; myservo.write(servoActualPos); … case 2: … fan(fanOn[actualStep]); … case 3: if (millis() - oldmillis >= timePos[actualStep]) { actualStep ++; … mode = 0; } } Der Sketch ist als Schrittkette ausgeführt, die die folgenden Schritte durchführt: 0 Nächste Servoposition aus der Variable holen; 1 Servo zur neuen Position fahren 2 Ventilator ansteuern (ein oder aus) 3 Wartezeit [[Seifenblasmaschine|Zurück]] === Verdrahtung === Die Verbindung zwischen dem Servo und dem NANO bzw dem Ventilatormodul und dem NANO werden mittels vorkonfektionierten Steckkabel gemacht. Für das Ventilatormodul L9110 werden vier 10 cm lange F-F Kabel benötigt. Die Farben sind nicht wichtig. Hat man die freie Farbwahl sollte man schwarz für GND und rot für Vcc bzw +5V nehmen da diese Farben häufig für Stromversorgung verwendet werden. GND wird mit GND , die Vcc des FAN-Modul mit +5V des NANO verbunden, INA geht auf D2 und INB auf D3. Es gibt diese Module mit Rechtsdrehenden und Linksdrehenden Luftschrauben. Sollte die Luft in die falsche Richtung blasen, kann man das durch vertauschen der Kabel an INA und INB ändern. Für den Servo braucht es drei 10 cm M-F Kabel, die den Kabel des Servo verlängern und aufsplitten. Da auf den Steckleisten des NANO nur einmal +5V herausgeführt ist, werden die Pins des Programmiersteckplatz ICSP verwendet und zwar GND, +5V und D11. Stromversorgung erfolgt über USB und einem Powerbank oder Netzteil mit USB Buchse. Der Sketch ist für Dauerlauf ausgelegt. Wenn die Seifenblasenflüssigkeit aufgebraucht ist muß man die Maschine manuel von der Stromversorgung nehmen. Erweiterungen wie zB ein Bewegungssensor damit Seifenblasen nur bei Anwesenheit von Zuschauern geblasen werden oder eine Reflektionslichtschranke, die die Seifenmembran im Blasring erkennt sind denkbar. [[Seifenblasmaschine|Zurück]]
Summary:
Please note that all contributions to Fablab Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Bitnami MediaWiki:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)