Zum Inhalt springen

Otto-Panzerprojekt

06 Nov 2023
Otto Tank Project

Hallo Freunde! Möchten Sie einen ferngesteuerten Roboter steuern? Tippen Sie einfach auf ein paar Tasten, um vorwärts, zurück, rechts und links zu gehen!

Aber das Interessanteste an diesem Roboter ist seine Fähigkeit, sich selbst zu schützen! Danke an die Ultraschallsensor Daraufhin scannt es seine Umgebung und stoppt automatisch, wenn es auf ein Hindernis trifft. Sie müssen lediglich die Fernbedienung verwenden und Ihren Roboter steuern.

Wenn Sie nicht viel über Technologie wissen, machen Sie sich keine Sorgen! Dieser Roboter ist so konzipiert, dass er für jedermann einfach zu bedienen ist. Es kann sowohl für Kinder als auch für Erwachsene eine großartige Unterhaltungsquelle sein.

Sind Sie bereit, Ihren Roboter zu steuern und ein aufregendes Labyrinth voller Hindernisse zu erkunden? Dann starten Sie mit uns dieses technologische Abenteuer!

Dieses ferngesteuerte Roboterprojekt kann eine großartige Möglichkeit sein, grundlegende Technologie- und Ingenieurthemen zu erkunden und zu erlernen. Es kann auch eine Grundlage für fortgeschrittene Projekte für Menschen bieten, die sich für Wissenschaft und Technologie interessieren.

Ferngesteuerte Roboter

Ferngesteuertes Auto für Kinder

Ein ferngesteuertes Roboterspielzeug ist ein beliebtes und aufregendes Spielzeug, das Kindern ein interaktives und ansprechendes Spielerlebnis bietet. Diese Miniaturfahrzeuge, die über benutzerfreundliche Geräte ferngesteuert werden, ermöglichen es Kindern, ihrer Kreativität freien Lauf zu lassen und grundlegende motorische Fähigkeiten zu entwickeln. Es gibt sie in verschiedenen Ausführungen, vom Offroad-Abenteuerauto bis zum eleganten Rennmodell, und bieten Kindern die Möglichkeit, das Modell auszuwählen, das ihren Interessen am besten entspricht. 

Ferngesteuerte Autos für Kinder bieten nicht nur stundenlange Unterhaltung, sondern fördern auch die Hand-Auge-Koordination und die Entwicklung der Feinmotorik. Diese Spielzeuge machen das spielerische Lernen zum Vergnügen und bieten jungen Enthusiasten einen fantastischen Einstieg in die Welt der Technik und des Ingenieurwesens.

Details und Algorithmus

In diesem Projekt werden wir den Roboter-Panzerfahrzeugbausatz verwenden. Wir werden den Ultraschall-Abstandssensor HC-SR04 verwenden, damit der Roboter die Wände vor ihm erkennen und über seine Bewegungen entscheiden kann. Der Roboterpanzer scannt den Bereich vor dem Auto und bewegt sich vorwärts, wenn es frei ist. Befindet sich innerhalb von 10 cm eine Wand (Hindernis), stoppt das Auto und misst den Abstand erneut. 

Sie können den Robotertank mit der Fernbedienung steuern. Wenn Sie den Aufwärtspfeil drücken Taste Auf der Fernbedienung bewegt es sich vorwärts, wenn Sie die rechte Pfeiltaste drücken, bewegt es sich nach rechts, wenn Sie die linke Pfeiltaste drücken, bewegt es sich nach links, und wenn Sie die OK-Taste drücken, bewegt es sich bis zum Anschlag fahren.

Komponenten

1X PicoBricks

1XHC-SR04 Ultraschallsensor

2XDC-Motor

Verbindungskabel

Batterien

Schaltplan

Bauphasen des Roboterpanzerprojekts

Wenn Sie möchten, können Sie die STL-Dateien über die Schaltfläche unten herunterladen und auf einem 3D-Drucker ausdrucken oder sie nach Ihren Wünschen entwerfen und produzieren.

HERUNTERLADEN

Da Sie die Module vom Panel trennen müssen, sollten Sie die Modulverbindungen mit Grove-Kabeln herstellen.

Sie können den ferngesteuerten Spielzeugroboter herstellen, indem Sie die Schritte im Video unten befolgen.

MicroBlocks-Codes der PicoBricks

MicroPython-Codes der PicoBricks

 


von Zeit zu Zeit Schlaf importieren
vom Maschinenimport-Pin
vom Maschinenimport PWM
Zeit importieren
aus Picobricks importieren NEC_16
aus Picobricks IR_RX importieren
vom Maschinenimport ADC
 

Trigger = Pin(15, Pin.OUT)
echo = Pin(14, Pin.IN)
 

def getDistance():
   trigger.low()
   utime.sleep_us(2)
   trigger.high()
   utime.sleep_us(5)
   trigger.low()
   while echo.value() == 0:
      signaloff = utime.ticks_us()
   while echo.value() == 1:
      signalon = utime.ticks_us()
   timepassed = signalon – signaloff
   Distanz = (verstrichene Zeit * 0,0343) / 2
   print(“Der Abstand vom Objekt beträgt „,distanz“,cm“)
   Rückweg
 

def ir_callback(data, addr, ctrl):
    globale ir_data
    globale ir_addr, data_rcvd
    wenn Daten > 0:
        ir_data = Daten
        ir_addr = Adr
        print(‘Data {:02x} Addr {:04x}’.format(data, addr))
        data_rcvd = True
ir = NEC_16(Pin(0, Pin.IN), ir_callback)
ir_data = 0
data_rcvd = Falsch
 

motor_1 = PWM(Pin(21))
motor_1.duty_u16(0)
motor_2 = PWM(Pin(22))
motor_2.duty_u16(0)
 

def left():
    globale Distanz
    motor_1.duty_u16(50 * 650)
    motor_2.duty_u16(0 * 650)
 

auf jeden Fall richtig():
    globale Distanz
    motor_1.duty_u16(0 * 650)
    motor_2.duty_u16(50 * 650)
 

def stop():
    globale Distanz
    motor_1.duty_u16(0 * 650)
    motor_2.duty_u16(0 * 650)
 

def vorwärts():
    globale Distanz
    motor_1.duty_u16(50 * 650)
    motor_2.duty_u16(50 * 650)
 

während True:
    distance = getDistance()
    wenn Abstand <= (10):
        stoppen()
    if data_rcvd == True:
        data_rcvd = Falsch
        wenn ir_data == IR_RX.number_left:
            links()
        wenn ir_data == IR_RX.number_right:
            Rechts()
        wenn ir_data == IR_RX.number_up:
            nach vorne()
        wenn ir_data == IR_RX.number_ok:
            stoppen()

PicoBricks IDE-Codes der PicoBricks

Arduino des Projekts


#include 
#include 
#include „ACROBOTIC_SSD1306.h“
#define IR_RECEIVE_PIN 0
#trigPin 15 definieren
#echoPin 14 definieren
int a = 0;
lange Dauer, Entfernung;
void setup() {
  // DHT-Sensor und Oled-Bildschirm definieren
  Serial.begin(115200);
  Wire.begin();
  oled.init();
  oled.clearDisplay();
  pinMode(IR_RECEIVE_PIN, INPUT);
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
void loop() {
  if (IrReceiver.decode()) {
    a = (IrReceiver.decodedIRData.decodedRawData);
    Serial.println(a);
    IrReceiver.resume();
  }
  digitalWrite(trigPin, LOW);
  VerzögerungMikrosekunden(2);
  digitalWrite(trigPin, HIGH);
  VerzögerungMikrosekunden(10);
  digitalWrite(trigPin, LOW);
  Dauer = PulseIn(echoPin, HIGH);
  Distanz = (Dauer / 2) / 29,1;
  wenn (Abstand <= 10)
  {
    stoppen();
  }
  if (a == -1520763136) {
    links();
  }
  if (a == -150405376) {
    Rechts();
  }
  if (a == -417792256) {
    nach vorne();
  }
  if (a == -484638976) {
    stoppen();
  }
}
void stop()
{
  digitalWrite(21, LOW);
  digitalWrite(22, LOW);
}
void left()
{
  digitalWrite(21, HIGH);
  digitalWrite(22, LOW);
}
void right()
{
  digitalWrite(21, LOW);
  digitalWrite(22, HIGH);
}
void vorwärts()
{
  digitalWrite(21, HIGH);
  digitalWrite(22, HIGH);
}
code of blocks
Vorheriger Beitrag
Nächster Beitrag

Danke fürs Abonnieren!

Diese E-Mail wurde registriert!

Shoppen Sie den Look
Wählen Sie Optionen

Bearbeitungsoption

Benachrichtigung wieder auf Lager

Vergleichen

Produkt ArtikelnummerBewertungBeschreibung Sammlung Verfügbarkeit Produktart Andere Details
this is just a warning
Anmeldung
Einkaufswagen
0 Artikel
Same Day Shipping No Extra Costs
Easy Returns Guarantee Return with Ease
Secure Checkout Secure Payment