Ich habe gerne immer zu gehen, wo gibt es viele meiner Freunde, ich habe immer gerne eine Menge Freunde und eines Tages, als ich sah nach oben Youtube für ferngesteuerte Autos, und wie sie gemacht wurden habe ich herausgefunden, dass ich einen für mich aus den Komponenten machen könnte, die ich hatte, um Lager, etc.,
Abstimmung dafür in der Micro-Controller-Contest bitte---> >> (Vielen Dank im Voraus)
Hier
Alles, was ich brauchte für diese Marke war:
- Arduino(20$)
- Breadboard(3$)
- Einige Capacitors(3$)
- Widerstände 1K,10K(2$)
- 2 Motors(10$)
- 1 Servo(3$)
- 1 Distanzsensor (Optional)(10$)
- 1 sound-Sensor (Optional)(5$)
- 1 Zeilenverfolgung-Sensor (Optional)(6$)
- LEDs(1$)
- Jumper Cables(2$)
- Spannungsregler (1 für die servo)(2$)
- Transistoren ((NPN) für die Motors)(2$)
- 4 Stk. 9 V batteries(8$)
- Blue-Tooth-Transceiver(13$)
Also die Gesamtkosten für die Einsteiger-Version ist: 69$ mit dem Arduino
Und die Gesamtkosten für die pro-Version ist (wie ich gemacht mit dem optionalen Zeug): 90$ mit dem Arduino
Hier ist ein Video des gesamten Projekts, dies ist das Video von der 1. Modus des Projektes, es zeigt den Roboter mit dem Computer via USB-Kabel und kabellos kommunizieren und es zeigt, wie der Schütze funktioniert.
In den Code, den ich zur Verfügung stellen wird, werden nur die basic-Code, die ohne die optionale Teile, wenn Sie den Code für die anderen Teile wollen, fordern mich in den Kommentaren und Iwill geben Sie den Code für diesen bestimmten Teil,
In meiner letzten Version, wo der Code ziemlich lang ist, gibt es 4 Modi
1. Modus
Der Roboter verbindet mit dem Computer drahtlos per Blue-Tooth, und es hört auf alle Befehle, einschließlich
(Biegen Sie nach links, biegen Sie rechts nach vorne, Ziel biegen Sie links ab, Ziel biegen Sie rechts ab, schießen und vieles mehr...)
Das Ziel-Zeug ist grundsätzlich, dass es ein Servo mit einem LED montiert, fungiert als ein Revolver, siehe meine anderen instructable (Star Wars X-Wing 2)
2. Modus
Dies ist der Modus wo verwende ich einen Distanzsensor
Der Distanzsensor ständig im Werte von wie weit sind die Dinge vor, und wenn etwas in der Nähe liegt, dann der Roboter wird stoppen und abwenden oder rückwärts zu gehen.
Vielleicht möchten den Distanzsensor auf einem Servo montiert, weil das würde Ihnen eine viel breitere Palette.
3. Modus
Dies ist, wo der Geräuschsensor vorgeht, wenn keinen Ton über ein gewisses Maß als erkannt wird im Code angegeben, oder wenn eine gespeicherte Melodie ist der Herde, dann wird der Roboter bewegt sich entsprechend um weg von den Klang so weit wie möglich, wirklich einfach, dies rückgängig zu machen, dass der Roboter in Richtung zu Ihnen kommt.
4. Modus
Dies ist die Linie-Tracking-Modus, wo der Roboter geht in Richtung, früher habe ich einen vorgefertigten Sensor, aber finden Sie Anweisungen darüber, wie man seine eigene, wenn Sie Google nachschlagen. In diesem Modus gibt es eine weitere 2 Mini-Modi, es gehört zu einer Linie folgen und die andere ist in einer Linie bleiben.
Ein guter Tipp ist es, sicherzustellen, dass der Sensor so nahe wie möglich am Boden angebracht ist.
Sie müssen sich Fragen werden, wie ich die Modi umgeschaltet, auch Du könntest das tun mit dem Computer, aber früher habe ich einen 5-Wege-Schalter für die vier Modi und eine für Sieund für den vierten Modus, um zwischen den Mini-Modi zu wechseln habe ich nur einen normalen Schalter verwendet.
Aber nach all dem ich erkannte, es war sehr chaotisch und wäre viel einfacher und besser, wenn Sie Modus auf dem Computer geändert, so habe ich später.
Es gab ein riesiger Einsatz der macht wie ich 4 neun-Volt-Batterien verwendet, da musste ich zwei für die beiden Motoren, eine für das Servo und eine für den Arduino verwenden das Servo benötigt viel mehr Strom als die Arduino bereitstellen kann, so ich hatte ein anderes Gerät und fügen einen Spannungsregler, da das Servo nur 5V umgehen konnte und ich dachte, dass eine Menge 1,5V Batterien erhöht das Gewicht einiges habe ich also nur meine treuen 9 V-Batterie und der Spannungsregler.
Die Motoren hatten von einem separaten Netzteil versorgt werden, denn wenn ich die Motoren mit dem Arduino verbunden dann, es nicht genug Strom gäbe, um die 3 Sensoren und dem Blau-Zahn-Transceiver anschließen und die Motoren nicht gehen würde, schnell, wenn ich sie mit dem Arduino verbunden, also ich einen Transistor für jeden Motor habe und verband es mit dem Arduino.
Und dann war für mich der letzte Schritt, machen eine Basis dafür zu machen, cool, aussehen, also machte ich eine Kuppel so etwas um den gesamten Roboter zu decken und es sieht wirklich cool aus, Sie können jede Art von Kuppel, die Sie gerne machen.
Hier ist die Haupt-Code für diese Robot, aber wenn Sie den Code für die optionale Teile dann Fragen Sie einfach in den Kommentaren:
#include Servo.h
Int LedPin1 = 12;
Int-LedPin = 13;
Int MotorPin1 = 9;
Int MotorPin2 = 10;
Int ServoPin = 6;
Servo VishalServo;
void setup()
{
DigitalWrite (LedPin, hoch);
Serial.Begin(9600);
Serial.println (Robotic Tank);
PinMode (LedPin, OUTPUT);
PinMode (LedPin1, OUTPUT);
PinMode (MotorPin1, OUTPUT);
PinMode (MotorPin2, OUTPUT);
VishalServo.attach(servoPin);
VishalServo.writeMicroseconds(1500);
Serial.println (1 Sekunde warten);
Delay(1000);
Serial.println (Sie können nun Befehle geben);
}
void loop()
{
während (Serial.available() == 0);
Int Val = Serial.read() - '0';
Int ich = VishalServo.read();
Wenn (Val == 2)
{
Serial.println (Roboter ist);
DigitalWrite (MotorPin1, hohe);
DigitalWrite (MotorPin2, hohe);
Verzögerung (500);
DigitalWrite (MotorPin1, LOW);
DigitalWrite (MotorPin2, LOW);
Delay(5);
}
Wenn (Val == 1)
{
Serial.println (Roboter ist nach links drehen);
DigitalWrite (MotorPin2, hohe);
Delay(500);
DigitalWrite (MotorPin2, LOW);
Delay(5);
}
Wenn (Val == 3)
{
Serial.println (Roboter dreht rechts);
DigitalWrite (MotorPin1, hohe);
Delay(500);
DigitalWrite (MotorPin1, LOW);
Delay(5);
}
Wenn (Val == 9)
{
Serial.println (rechts);
VishalServo.write(i+5);
Delay(5);
}
Wenn (Val == 7)
{
Serial.println (Linksabbiegen);
Wenn (ich = 165)
{
Delay(5);
}
If(i = 165)
{
VishalServo.write(i-5);
Delay(5);
}
}
Wenn (Val == 5)
{
Serial.println(Shoot);
DigitalWrite (LedPin1, hohe);
Delay(50);
DigitalWrite (LedPin1, LOW);
Delay(5);
}
Wenn (Val == 8)
{
Serial.println(Centering);
VishalServo.writeMicroseconds(1500);
Delay(5);
}
anderes
{
Delay(5);
}
}
Dies ist der Code für nur die erste Methode, da ich dies als grundlegende / main Teil dieses Roboters betrachten.
Wenn Sie die led mehr nur bleiben die Verzögerung zwischen LED pin1 ändern HIGH und LED pin 1 niedrig. (Oder einfach fragen Sie mich, das zu tun, wenn Sie, die zu schwer denken oder wenn Sie ein Anfänger sind.
Und stellen Sie sicher, dass das Servo mit einer PWM aktiviert-Pin verbunden ist, habe ich Pin 6 (PWM bedeutet Pulsweitenmodulation)
Hier ist der Code musst du bei der Verarbeitung verwenden (die ein Programm, das die Computerprogramme) (Sie können es kostenlos aus dem Internet herunterladen, geben Sie einfach in der Verarbeitung und der erste Link ist)dieser Code wird verwendet, um Updates zu twitter-post sagen, was Ihr Roboter tut, wenn man ihm Befehle:
/*************
* basierend auf: http://processing.org/reference/libraries/serial/serialEvent_.html
*************/
Import processing.serial.*;
Serielle MyPort; Die serielle Schnittstelle
PFont MyFont; Die Display-Schrift
Zeichenfolge InString; Eingabezeichenfolge von seriellen Anschluss
Int-lf = 10; ASCII-Zeilenvorschub
Twitter Twitter; Twitter
Gonna get oAuth funktioniert, statt dessen aber wird dies für jetzt tun
String Username = "Ihre-TWITTER-USERNAME"; Sie Twitter Username hier
String Password = "Ihre-TWITTER-Passwort"; Ihre Twitter-Passwort hier
void setup() {}
Size(400,200);
Twitter = neue Twitter(username,password);
MyFont = loadFont("AppleGothic-48.vlw");
TextFont (MyFont, 18);
println(Serial.List());
MyPort = neue Seriennummer (dieser, Serial.list() [0], 9600);
myPort.bufferUntil(lf); Wiat für Zeilenvorschub um Ende des seriellen Puffers angeben
}
void draw() {}
Background(100);
Text ("ausgewählte Farbe:" + InString, 10,50);
}
void SerialEvent(Serial p) {}
InString = p.readString (); //read serielle Zeichenfolge
Aus irgendeinem Grund wollte dies nur in einem Try-Catch arbeiten
versuchen Sie es
{
Status status1 = twitter.updateStatus ("Arduino Lieblingsfarbe ist" + InString); //update Twitter-Status
}
Catch (TwitterException e) {}
println(e.getStatusCode());
}
}
Änderung Benutzername und Passwort mit Ihrem Twitter-Benutzernamen und Passwort, ich versuchte es und es funktioniert perfekt.
Möchten Sie Updates für eine Anwendung auf post Twitter gehen und schauen Sie sich meine anderen instructable:
Dies ist der Code für die Verwendung von Ultraschall-Entfernungsmesser anstelle eines Abstandssensors, wie ich es tat:)
Int BlinkLed = 13; Wenn die led blinkt
Int SensorPin = 0; Analogen Pin im
Int Summe = 0; Variable Summe berechnen
Int Avgrange = 50; Anzahl der Werte auf durchschnittlich
Int SensorValue; Wert für Te Durchschnitt
Int i, Medien, d; Variablen
Schwimmer, cm, Zoll; Konvertiert in cm
void setup()
{
Serial.Begin(9600); Um zu überprüfen, was auf dem seriellen Port gelesen wird
}
void loop() {}
d=analogRead(sensorPin); Den analogen Wert lesen
digitalWrite(blinkLed,HIGH); LED einschalten
Delay(d); Verzögerung ändert sich mit der analogread
digitalWrite(13,LOW); LED ausschalten
Delay(d); Eine weitere Verzögerung
cm = (d / 2) * 2,4; Konvertieren Sie den Wert in Zentimetern
Zoll = d/2; Wert in Zoll
Serial.println(cm); Durchschnitt aller gemessenen Werte drucken
Dies ist der Code, wenn Sie durchschnittlich die gelesenen Werte machen wollen
/*
für (ich = 0; ich < Avgrange; i ++) {}
Sum += analogRead(sensorPin);
Delay(10);
}
Medien = Summe/Avgrange;
Serial.println(Media); Durchschnitt aller gemessenen Werte drucken
Summe = 0;
Medien = 0;
*/
}
Wenn Sie den Schaltplan für dieses Projekt wollen oder wenn Sie spezifischen Code für verschiedene Dinge oder benötigen Sie Hilfe im Zusammenhang mit diesem Projekt dann einfach einen in den Kommentaren Kommentar oder wenn Sie weitere Informationen zum Anschließen eines der unten, bitte fragen.
Und wenn Sie dies ausführen möchten Befehle aus der Ferne, alles, was Sie tun müssen, ist diese Infrarot-Fernbedienung, und Sie können die ganze Roboter drahtlos mit einer Fernbedienung steuernverwenden, oder wenn Sie wollen, dass es mehr wie ein ferngesteuertes Auto sein, dann Sie einen tatsächlichen Fernbedienung Auto Controller oder Gamepad für pc fügen, links unten...
Infrarot-Fernbedienung :
http://CGI.eBay.com/Arduino-IR-Remote-Control-0038B-Module-DIY-Kit-/280645829263?PT=LH_DefaultDomain_0&Hash=item4157cb828f
Habe ich meine eigene Kuppel für dieses Projekt ein RC-Auto welche passt auf alle durcheinander und macht die RC-Car aussehen, aber ich keine Bilder der Kuppel hinzufügen, wie ich möchte, dass Sie Ihre eigenen personalisierten Kuppelnmachen die Menschen, und kopieren Sie mich nicht einfach...
Und natürlich können Sie dieses Projekt auszubauen, und wenn Sie etwas kühl, teilen ein Bild von ihm durch Hinzufügen eines Bildes gleichzeitig einen Kommentar, wie ich möchte sehen wie diese instructable inspirierte Sie Menschen zu etwas tolles einfallen lassen.
Links:
Wo der Arduino IDE zum download : http://arduino.cc/en/Main/Software
Wo Verarbeitung herunterladen : http://processing.org/download/
Ich wirklich nicht wie die Schnittstelle des Arduino als Sie musste klicken geben Sie nach jedem Befehl eingeben, so dass ich Putty verwendet
Wo Sie Putty herunterladen : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Einige unscharfe Bilder... tut mir leid :(