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
(section)
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]]
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)