Inhaltsverzeichnis:

Einen coolen Roboter aus einem RC-Auto bauen – wikiHow
Einen coolen Roboter aus einem RC-Auto bauen – wikiHow

Video: Einen coolen Roboter aus einem RC-Auto bauen – wikiHow

Video: Einen coolen Roboter aus einem RC-Auto bauen – wikiHow
Video: Einen Roboter Bauen 2024, November
Anonim
Wie man einen coolen Roboter aus einem RC-Auto macht
Wie man einen coolen Roboter aus einem RC-Auto macht

Dieses coole Projekt ist für Gymnasiasten oder jeden Bastler, der einen coolen Roboter bauen möchte. Ich habe lange versucht, einen interaktiven Roboter zu bauen, aber einen zu bauen ist nicht einfach, wenn Sie keine Elektronik oder spezielle Programmiersprachen beherrschen. Jetzt gibt es eine Programmiersprache namens nqBASIC, die völlig kostenlos ist, um Ihren eigenen Roboter zu bauen.

Schritt 1: Was brauchen Sie?

Was du brauchst?
Was du brauchst?
Was du brauchst?
Was du brauchst?
Was du brauchst?
Was du brauchst?
Was du brauchst?
Was du brauchst?

Sie benötigen einige Teile für dieses coole Projekt. 1) Gehen Sie und finden Sie ein RC-Auto mit zwei Gleichstrommotoren. Ich fand ein sehr billiges Auto namens Thunder Tumbler für $ 12. Das Bild ist unten. 2) Sie benötigen eine Servosensor-Controller-Karte namens SSMI. Hier ist der Link, um es zu bekommen https://www.technologicalarts.ca/catalog/product_info.php?currency=USD&products_id=2763) Sie benötigen einen Mikrocontroller für dieses Board namens NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php?cPath=50_36_92&products_id=4294) Sie benötigen zwei Sensoren, wenn Sie Ihren Roboter interaktiv machen möchten Ihren Roboter zu programmieren.https://www.technologicalarts.ca/catalog/product_info.php?cPath=26&products_id=386) Eine coole Robotersprache, die für dieses Produkt entwickelt wurde, heißt nqBASIC. Rufen Sie https://www.nqbasic.com auf und laden Sie es kostenlos herunter. Sie können auch Fragen aus ihrem Forum stellen.7) 4 AA-Batterien (alkalisch oder wiederaufladbar)

Schritt 2: Nehmen Sie RC Car auseinander

Nehmen Sie RC Car auseinander
Nehmen Sie RC Car auseinander

1) Ich habe die gesamte Elektronik herausgenommen. Schneiden Sie die Kabel von der Controller-Einheit im RC-Car ab und lassen Sie nur die Batterie übrig, da es genau richtig war, das SSMI (Servo / Sensor / Motor Interface Board für NanoCore12DX) mit Strom zu versorgen.

Schritt 3: Angeschlossene DC-Kabel und Batteriekabel

Angeschlossene DC-Kabel und Batteriekabel
Angeschlossene DC-Kabel und Batteriekabel

Die beiden Gleichstrommotoren des RC-Autos hatten bereits Kabel, also habe ich sie an die steckbaren Anschlüsse (mit SSMI-Platine) an meinem SSMI angeschlossen. Das gleiche habe ich mit dem Batteriekabel gemacht.

Schritt 4: LED-Kabel

LED-Kabel
LED-Kabel
LED-Kabel
LED-Kabel
LED-Kabel
LED-Kabel
LED-Kabel
LED-Kabel

Es sind noch 4 Kabel übrig. Sie sind dünn. Dies sind die Kabel, die von den Rädern kommen. Dieses RC-Auto hat LEDs in den Hinterrädern. Von jedem Rad kommen zwei Kabel. Mit diesen LEDs kann Ihr Roboter hübsch sein. Ich beschloss, diese LEDs zu verwenden, um dem Roboter mehr Spaß zu machen. Sie können diese Kabel auf dem Bild sehen. Ich habe ein schwarzes Stück Plastik, das von der Rückseite des Autos kam, auf die Vorderseite des Autos montiert, um eine schöne ebene Oberfläche für die Montage der SSMI-Platine zu schaffen. Ich habe Klettverschlüsse verwendet, um SSMI darauf zu montieren. Sie können doppelseitiges Klebeband und einige Kabelbinder verwenden, wenn Sie möchten. Dann habe ich die LED-Kabel durch Löcher in der Vorderseite des Autos gesteckt. Ich habe SSMI am Auto montiert. Dann habe ich Gleichstrommotoren und Batteriestecker an ihre Positionen gesteckt.

Schritt 5: LED-Kabel an die SSMI-Platine anschließen

Verbinden Sie LED-Kabel mit der SSMI-Platine
Verbinden Sie LED-Kabel mit der SSMI-Platine
Verbinden Sie LED-Kabel mit der SSMI-Platine
Verbinden Sie LED-Kabel mit der SSMI-Platine
Verbinden Sie LED-Kabel mit der SSMI-Platine
Verbinden Sie LED-Kabel mit der SSMI-Platine

Stecken Sie dann die LED-Kabel an die richtigen Stellen. Welche Anschlüsse Sie verwenden können, müssen Sie dem Handbuch der SSMI-Karte entnehmen. Fahren Sie fort und stecken Sie sie an die gleichen Stellen wie ich. Später können Sie lernen, diese Kabel an verschiedenen Stellen zu verlegen, wenn Sie möchten. Siehe Bilder

Schritt 6: Sensoren anschließen

Sensoren anschließen
Sensoren anschließen
Sensoren anschließen
Sensoren anschließen
Sensoren anschließen
Sensoren anschließen
Sensoren anschließen
Sensoren anschließen

Schließen Sie die Sensorkabel an den richtigen Stellen an.

Schritt 7: Ihr Roboter ist bereit zum Rollen

Ihr Roboter ist bereit zum Rollen
Ihr Roboter ist bereit zum Rollen

Ihre Roboterhardware ist bereit. Jetzt müssen Sie es programmieren.

Schritt 8: Installieren Sie die Software

Installieren Sie die Software
Installieren Sie die Software

Rufen Sie https://www.nqbasic.com auf und laden Sie die Software von der Website herunter. Alle Anweisungen finden Sie auf der Website – wie Sie Ihren Computer installieren und dafür vorbereiten. Es gibt auch ein cooles YouTube-Video, das zeigt, wie man die Software kostenlos registriert. Diese Programmiersprache ist völlig kostenlos. Zögern Sie nicht, sich zu registrieren. Andernfalls können Sie Ihren Code nicht kompilieren.

Schritt 9: Bereit zum Programmieren

Bereit zum Programmieren
Bereit zum Programmieren

Verbinden Sie Ihr serielles Kabel vom seriellen Port Ihres Computers mit dem seriellen SSMI-Port.1) Starten Sie nqBASIC und wählen Sie Projekt und neuesProjekt2) Geben Sie Ihrem Projekt einen Namen und speichern Sie es.3) Sie werden gefragt, welches Nanocore-Modul Sie verwenden, wählen Sie NanoCore12DX von der Liste. Dies ist das einzige Modul, das mit SSMI funktioniert.4) Wählen Sie Datei/Neue Datei. Es wird gefragt, ob Sie diese Datei zu Ihrem Projekt hinzufügen möchten. Sagen Sie Ja.5) Geben Sie einen Namen für die Datei ein und klicken Sie auf Speichern.

Schritt 10: Kopieren Sie den Quellcode und fügen Sie ihn ein

/* Von hier an das Ende dieses Textes kopierenBeispiel für DIP32 (8mHz)*/dim M00 als neu pwm(PP0)dim M01 als neu pwm(PP1)dim M11 als neu pwm(PP2)dim M10 als neu pwm(PP3) dim IR1 als neues ADC(PAD05) //ADC-Objekt für Sharp Sensor (Front)dim IR1Result as new bytedim IR2 as new ADC(PAD03) //ADC-Objekt für Sharp Sensor (Back)dim IR2Result as new bytedim myChar als neues Byte / /Variable zum Speichern empfangener Zeichendim S als neues SCI(PS0, PS1) //SCI objectdim SPK als neues DIO(PM4) // Verwendung von Lautsprecher auf dem SSIMconst ontime = 20dim Dauer als neues WortConst A2 = 2273 // MusiknotenConst A3 = 1136 // MusiknotenConst A4 = 568 // Musiknoten, um Töne zu erzeugen, wenn der Roboter etwas sieht dunkler WLED1 als neues DIO (PM2) // LEDs an den Rädern dimmen WLED2 als neues DIO (PM3) // LEDs an den Rädern dimmen Schleife als neues byteConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (in Byte Millisekunden) während (Millisekunden > 0) System. Delay (DEL_1MSEC) // 1000 Mikrosekunden verzögern, um 1 Millisekunde Millisekunden zu machen onds = Millisekunden - 1 end whileend subsub stop() // zum Stoppen der Motoren M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250)end subsub goback() // Roboter geht zurück M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnright() // Roboter nach rechts drehen M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft() // Roboter nach links drehen M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0 sub, 250, 180)end () // den Roboter vorwärts bewegen M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //links dc M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //rechts dcend subsub wait3() // meine eigenen Verzögerungen DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait4() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait5() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A.))end subsub wait10() //lange Verzögerung loop = 1 while(loop < 11) DelayMsec(A) loop =loop + 1 end whileend subsub playsound() // um die Noten abzuspielen Dauer = ontime while(duration > 0) SPK. PIN_Out(PM4, ON) system. Delay(A2) SPK. PIN_Out(PM4, Off) system. Delay(A2) Dauer = Dauer - 1 Ende während DelayMsec(B) Dauer = ontime while(Dauer > 0) SPK. PIN_Out (PM4, ON) system. Delay(A3) SPK. PIN_Out(PM4, Off) system. Delay(A3) Dauer = Dauer - 1 Ende während DelayMsec(B) Dauer = ontime while(Dauer > 0) SPK. PIN_Out(PM4, ON) system. Delay(A4) SPK. PIN_Out(PM4, Off) system. Delay(A4) Dauer = Dauer - 1 Ende während DelayMsec(B)Ende Unterhaupt PWM. PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup(SER_BUFFER_4, BAUD9600) //SCI einrichten und 4 Zeichen puffern lassen System. INTS_On () //UNTERBRECHUNGEN EINSCHALTEN! S. SER_Put_string("Dies ist ein Test") S. SER_Put_char ('\n') S. SER_Put_char ('\r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Wert vom vorderen scharfen Sensor lesen IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Wert vom Backscharf-Sensor lesen IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal(IR2Result, FILLUP_SPACE) // Wert an die Fenster senden hyper terminal S. SER_Put_char ('\n') // eine neue Zeile auf dem Hyperterminal S. SER_Put_char ('\r') erstellen if ((IR1Result == 25) or (IR1Result > 25)) stop() playsound() wait5() WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) goback() wait5() if ((IR2Result == 25) or (IR2Result > 25)) stop() playsound() wait5() links abbiegen () wait3() goahead() end if turnright() wait3() else goahead() end if ((IR2Result == 25) or (IR2Result > 25)) WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) stop() wait5() turnright() wait3() WLED1. PIN_Out(PM2, OFF) WLED2. PIN_Out(PM3, OFF) goahead() wait3() else goahead() end if end whileend m ain

Schritt 11: Kompilieren und in Ihren Roboter laden

Stellen Sie sicher, dass Sie Batterien in Ihren Roboter eingelegt und eingeschaltet haben. Sie sollten die grüne Power-LED auf dem SSMI leuchten sehen. Auf dem Nanocore12DX-Modul befindet sich ein kleiner Schalter, stellen Sie sicher, dass er sich in der Ladeposition befindet. Gehen Sie zu nqbasic und wählen Sie Erstellen und laden. Es kompiliert Ihren Code und lädt ihn in Ihren Roboter. Nehmen Sie das serielle Kabel von Ihrem Roboter ab und wechseln Sie den Schalter von der Lade- in die Laufposition des NanoCore12DX-Moduls. Stellen Sie Ihren Roboter auf eine ebene Fläche und drücken Sie die Reset-Taste am SSMI. Herzlichen Glückwunsch! Wenn Sie Probleme mit diesen Schritten haben, zögern Sie bitte nicht, im nqBASIC-Forum zu schreiben. Ich werde da sein und alle Ihre Fragen beantworten. Viel Spaß!

Empfohlen: