Menü
Microbots
0
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Deutsch
  • Ihr Warenkorb ist leer
Microbots
  • Machen
    • Erste Schritte
    • Maker-Builds
    • Ausbildung
  • Geschäft
    • Maker-Module
    • Maker-Pakete
    • Werkzeuge und Ausrüstung
    • Roboter & Displays
  • Um
    • Unsere Geschichte
    • Kontakt
    • FAQs
  • Sprache

  • 0 0

FlatFlap – Pulsierende Bewegung erzeugen

FlatFlap ist ein kompakter Aktuator, der organische, flatternde Bewegungen erzeugen kann. Diese Anleitung konzentriert sich jedoch auf die Erzeugung eines kurzen Impulses – eines einzelnen Flatterns, das nur wenige Millisekunden dauert und dann stoppt. Diese Methode eignet sich für schnelle Betätigungen und Anwendungen, bei denen kurze Bewegungen erforderlich sind.

Wie es funktioniert

Um Bewegung zu erzeugen, benötigt FlatFlap einen elektrischen Strom, der durch die Spule fließt und ein Magnetfeld erzeugt. Durch einen kurzen Impuls induzieren wir ein schnelles Magnetfeld, das den Magneten augenblicklich abstößt.

Generieren eines Impulses in Arduino

Um manuell einen Impuls zu erzeugen, können Sie grundlegende DigitalWrite-Befehle verwenden:

 #define FLAP_PIN1 2
 #define FLAP_PIN2 3

 void setup() {
 pinMode(FLAP_PIN1, OUTPUT);
 pinMode(FLAP_PIN2, OUTPUT);
 }

 void loop() {
 digitalWrite(FLAP_PIN1, HIGH);
 digitalWrite(FLAP_PIN2, LOW);
 delay(500); // Pulse duration in milliseconds

 digitalWrite(FLAP_PIN1, LOW);
 digitalWrite(FLAP_PIN2, LOW); // Stop motion
 delay(3000); // Stop for 3 sec
 }

Dieser einfache Code sendet einen 500-Millisekunden-Impuls an FlatFlap, der eine kurze Bewegung auslöst, bevor er stoppt.

Optimierung der Pulssteuerung mit PWM

Anstelle eines abrupten Ein-/Aus-Impulses kann die Intensität durch PWM (Pulsweitenmodulation) schrittweise gesteuert werden, wodurch die mechanische Belastung reduziert und die Leistung verbessert wird. Dies wird in DriveCell automatisch geregelt:

 #include <drivecell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 DriveCell FlatFlap1(IN1_pin1, IN1_pin2);

 void setup() {
 FlatFlap1.Init();
 }

 void loop() {
 FlatFlap1.Pulse(true, 10); // Pulse forward for 10ms
 delay(500); // Wait before the next pulse
 }

Wenn Sie unsere DriveCell-Bibliothek verwenden, können Sie dies direkt mit der Pulse-Funktion implementieren:

 #include <drivecell.h>

 #define IN1_pin1 2
 #define IN1_pin2 3
 DriveCell FlatFlap1(IN1_pin1, IN1_pin2);

 void setup() {
 FlatFlap1.Init();
 }

 void loop() {
 FlatFlap1.Pulse(true, 100); // Pulse for 100ms
 delay(3000); // Wait before the next pulse
 FlatFlap1.Pulse(true, 1000); // Pulse for 1000ms
 delay(3000); // Wait before the next pulse
 FlatFlap1.Pulse(true, 500); // Pulse for 500ms 
delay(3000); // Warten vor dem nächsten Impuls
 }

Die Funktion verstehen:

  • Pulse(bool direction, uint8_t ms_duration)

    • Richtung : true (Norden) / false (Süden)

    • ms_duration : Dauer des Impulses in Millisekunden

Abschluss

Mit kurzen Impulsen können Sie FlatFlap für Anwendungen mit schneller Betätigung steuern. Weitere Codebeispiele und technische Dokumentation finden Sie im DriveCell GitHub Repository !

  • Teilen:

Sozial

Github

  • Um
  • Software
  • Ausbildung
  • Kontakt
  • FAQs
  • Bedingungen
  • Rückerstattung-Politik
  • Datenschutzrichtlinie

Erfahren Sie als Erster von neuen Projekten und sichern Sie sich spannende Angebote!

© 2025 Microbots.