Bemerkung
Hallo und herzlich willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauchen Sie tiefer in die Welt von Raspberry Pi, Arduino und ESP32 ein und verbinden Sie sich mit anderen Technikbegeisterten.
Warum mitmachen?
Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu erweitern.
Exklusive Vorschauen: Erhalten Sie frühzeitig Zugriff auf neue Produktankündigungen und Einblicke.
Exklusive Rabatte: Genießen Sie besondere Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und saisonalen Aktionen teil.
👉 Bereit für spannende Projekte? Klicken Sie auf [hier] und treten Sie noch heute bei!
1. Bewegung
Dies ist das erste Projekt von PiCrawler. Es führt seine grundlegende Funktion aus – die Bewegung.
Code ausführen
cd ~/picrawler/examples
sudo python3 1_move.py
Wenn das Programm startet, steht der PiCrawler auf und wartet kurz.
Anschließend führt er kontinuierlich einen Bewegungszyklus aus: vorwärts, rückwärts, nach links drehen, nach rechts drehen, eine kleine Linksdrehung und eine kleine Rechtsdrehung.
Zwischen jeder Aktion gibt es kurze Pausen, um die Bewegung flüssiger zu machen.
Drücken Sie Ctrl+C, um das Programm zu stoppen. Vor dem Beenden setzt sich der Crawler sicher hin.
Code
Bemerkung
Sie können den folgenden Code ändern/zurücksetzen/kopieren/ausführen/anhalten. Stellen Sie jedoch sicher, dass Sie vorher zum Quellcode-Verzeichnis wie picrawler\examples navigieren. Nachdem Sie den Code geändert haben, können Sie ihn direkt ausführen, um die Auswirkungen zu sehen.
from picrawler import Picrawler
from time import sleep
crawler = Picrawler() # Create PiCrawler object
def main():
speed = 80 # Movement speed
try:
crawler.do_step('stand', 40) # Stand up
sleep(1.0)
while True:
crawler.do_action('forward', 1, speed) # Move forward
sleep(0.25)
crawler.do_action('backward', 1, speed) # Move backward
sleep(0.25)
crawler.do_action('turn left', 1, speed) # Turn left
sleep(0.25)
crawler.do_action('turn right', 1, speed) # Turn right
sleep(0.25)
crawler.do_action('turn left angle', 1, speed) # Small left turn
sleep(0.3)
crawler.do_action('turn right angle', 1, speed) # Small right turn
sleep(0.3)
sleep(0.5)
except KeyboardInterrupt:
print("\nCtrl+C pressed...")
finally:
crawler.do_step('sit', 40) # Sit down before exit
sleep(1.0)
if __name__ == "__main__":
main()
Wie funktioniert es?
Import und Initialisierung
from picrawler import Picrawler from time import sleep crawler = Picrawler()
Das Skript importiert die benötigten Module und erstellt ein
Picrawler-Objekt, das zur Steuerung aller Roboterbewegungen verwendet wird.Hauptfunktion und Vorbereitung
def main(): speed = 80 crawler.do_step('stand', 40) sleep(1.0)
Die Funktion
main()definiert die Bewegungsgeschwindigkeit. Bevor die Schleife startet, steht der Roboter auf und stabilisiert seine Haltung.Kontinuierliche Bewegungsschleife
while True: crawler.do_action('forward', 1, speed) crawler.do_action('backward', 1, speed) crawler.do_action('turn left', 1, speed) crawler.do_action('turn right', 1, speed) crawler.do_action('turn left angle', 1, speed) crawler.do_action('turn right angle', 1, speed)
Der Roboter führt kontinuierlich eine vordefinierte Sequenz von Bewegungsaktionen innerhalb einer Endlosschleife aus. Kurze Pausen zwischen den Aktionen sorgen für eine flüssigere Bewegung.
Sicheres Beenden
except KeyboardInterrupt: print("\nCtrl+C pressed...") finally: crawler.do_step('sit', 40)
Die Struktur
try / except / finallystellt sicher: -Ctrl+Cstoppt die Schleife sicher. - Der Roboter setzt sich hin, bevor das Programm beendet wird.Programmeinstieg
if __name__ == "__main__": main()
Dadurch wird sichergestellt, dass
main()nur ausgeführt wird, wenn das Skript direkt gestartet wird.