Inhaltsverzeichnis:

Gestensteuerungsauto MPU6050 und NRF24L01 - Gunook
Gestensteuerungsauto MPU6050 und NRF24L01 - Gunook

Video: Gestensteuerungsauto MPU6050 und NRF24L01 - Gunook

Video: Gestensteuerungsauto MPU6050 und NRF24L01 - Gunook
Video: Arduino Auto Leveling Quadcopter PAS 2024, November
Anonim

Der Gestensteuerungsroboter ist eine beliebte, häufige Art von Projekten, die von Bastlern gemacht werden. Das Konzept dahinter ist einfach: Die Ausrichtung der Handfläche steuert die Bewegung des Roboterautos. MPU6050, um die Ausrichtung des Handgelenks zu erfassen und in digitaler Form an das Arduino zu übertragen. Der Wertebereich reicht von -32768 bis +32767 für jede Achse. Modul basierend auf dem NRF24L01-Chip mit bidirektionaler Kommunikation im 2,4-GHz-Band. Die Platine hat eine eingebaute Antenne. Das Modul kommuniziert mit Mikrocontrollern über SPI-Referenz. Die Reichweite eines solchen Moduls beträgt in der Theorie bis zu 100 Meter. Darüber hinaus können Sie die Leistung des Senders steuern, um den Stromverbrauch zu reduzieren. Die Motoren werden vom L298N-Modul gesteuert, das von sechs AA / R6-Batterien gespeist wird.

Schritt 1: Elemente auflisten

Elemente auflisten
Elemente auflisten

Schritt 2: Schema Sender und Code

Schema Sender und Code
Schema Sender und Code

Skizze DOWNLOAD

Schritt 3: Schemaempfänger und Code

Schemaempfänger und Code
Schemaempfänger und Code

Skizze DOWNLOAD

Schritt 4: Konfigurieren

Nachdem Sie Skizzen auf Arduinos hochgeladen haben, schließen Sie den Empfänger an den Computer an und öffnen Sie den SERIELLEN MONITOR. Schalten Sie den Sender ein und sehen Sie die Werte der X- und Y-Achse. Stellen Sie nun die Werte für jede Fahrtrichtung ein. STOP-Wert: wenn der FORWARD-Wert AcX 6000 ist. Der STOP-Wert ist der Bereich zwischen diesen Werten AcX -6000.

Machen Sie dasselbe für die Y-Achse. Wenn Ihr Receiver jetzt gut konfiguriert ist, entfernen Sie diesen Code und laden Sie das Programm hoch.

// LÖSCHEN // -----------------------------

Serial.print ("AcX:");

Seriendruck (ACX);

Seriendruck ("");

Serial.print ("AcY:");

Seriendruck (ACY);

Verzögerung (300);

// -----------------------------

Empfohlen: