Ik heb graag altijd naar kampen, etc waar een dag als ik was op zoek up youtube voor afstandsbediening auto's, er zijn veel van mijn vrienden en ik altijd graag met een heleboel vrienden, en hoe ze werden gemaakt, ik bedacht dat ik voor mezelf uit de componenten die ik had, kon maken
Gelieve stemming hiervoor in de Micro-controller wedstrijd---> >> (Thanks in advance)
Hier
Alles wat ik nodig had voor deze zorg was:
- Arduino(20$)
- Breadboard(3$)
- Sommige Capacitors(3$)
- Weerstanden 1K,10K(2$)
- 2 Motors(10$)
- 1 Servo(3$)
- 1 afstandssensor (Optional)(10$)
- 1 correcte sensor (Optional)(5$)
- 1 lijn sensor (Optional)(6$) bijhouden
- LEDs(1$)
- Trui Cables(2$)
- Spanningsstabilisatoren (1 voor de servo)(2$)
- Transistoren ((NPN) voor de Motors)(2$)
- 4-delige 9 V batteries(8$)
- Blue-tooth Transceiver(13$)
Dus de totale kosten voor de beginners versie is: 69$ met de arduino
En de totale kosten voor de pro versie is (zoals degene die ik heb gemaakt met de optionele alles): 90$ met de arduino
Hier is een video van het hele project, dit is de video van de 1ste modus van het project, het toont de robot die communiceren met de computer via de USB-kabel en draadloos en het toont de werking van de schutter.
In de code die ik zal verstrekken zal er alleen de basic-code, die zonder de optionele onderdelen, als u wilt dat de code voor elk van de andere delen, vragen me in de commentarensectie en Iwill geven u de code voor dat bepaald deel,
In mijn definitieve versie, waar de code vrij lang is, zijn er 4 modi
1ste modus
De robot maakt verbinding met de computer draadloos via blue-tooth, en het luistert naar alle opdrachten, met inbegrip van
(Linksaf, draai rechts, voorwaarts, Target linksaf, Target turn Right, schieten en meer...)
Het doel spul is in principe dat er een servo met een LED gemonteerd op, die als een torentje, fungeert zoals u in mijn andere instructable (Star-Wars X-Wing 2 zien kunt)
2de modus
Dit is de modus waar ik gebruik een afstandssensor
De afstandssensor geven voortdurend in waarden van hoe ver de dingen aan de voorzijde zijn, en als er iets is dicht in de buurt, dan de robot zal stoppen en zich afwenden, of ga omgekeerde.
Je zou willen monteren de afstandssensor op de top van een servo, want die u een veel breder bereik geven zou.
3e modus
Dit is waar de correcte sensor onderneemt, wanneer elk geluid boven een bepaald niveau wordt gedetecteerd als aangegeven in de code, of als een opgeslagen tune is kudde, dan de robot zal bewegen dienovereenkomstig te ontsnappen aan het geluid zo veel mogelijk, zijn werkelijk gemakkelijk om te keren dit zodat de robot komt naar u toe.
4e modus
Dit is de lijn tracking modus, waar de robot volgt lijnen, gebruikte ik een pre-en-klare sensor, maar vindt u instructies over hoe te maken van uw eigen, als je kijkt naar Google. In deze modus zijn er een andere 2 mini modi, een is te volgen van een lijn en de andere is binnen een lijn blijven.
Een goede tip is om ervoor te zorgen dat de sensor zo dicht mogelijk bij de grond mogelijk wordt geplaatst.
U moet benieuwd zijn hoe ik ben overgestapt van de modi, goed dat kunt u doen met behulp van de computer, maar ik gebruikte een 5-wegschakelaar voor de vier modi en één project voor uit, en voor de vierde modus, om te schakelen tussen de mini modi, alleen gebruikte ik een normale schakelaar.
Maar na dit alles realiseerde ik me het was erg rommelig en zou een stuk gemakkelijker en beter, als u de modus gewijzigd van de computer, dus ik deed dat. later.
Er was een enorme gebruik van macht zoals ik 4 9 volt batterijen, gebruikte zoals mij had voor toepassing van twee voor de twee motoren, een voor de servo en één voor de arduino, de servo nodig veel meer stroom dan de arduino leveren kan, dus ik moest een andere macht apparaat gebruiken en een spanningsregelaar, toe te voegen als de servo aankon alleen 5V en ik dacht dat het toevoegen van een heleboel 1.5V batterijen verhoogt het gewicht veel, dus ik gebruikte mijn trouwe 9 V batterij en de spanningsregelaar.
De motoren moesten worden aangedreven door een aparte stroomvoorziening, want als ik de motoren op de arduino aangesloten vervolgens niet zou er genoeg kracht om verbinding te maken met de 3 sensoren en de blue-tooth-transceiver, en de motoren zou niet gaan snel als ik ze op de arduino, aangesloten dus ik een transistor voor elke motor gebruikte en op de arduino aangesloten.
En dan de laatste stap voor mij was om een basis hiervoor te maken het er cool, dus ik maakte een soort van de koepel van ding ter dekking van de gehele robot en het ziet er echt cool, kun je elk soort koepel u graag.
Hier is de belangrijkste code voor deze robot, maar als u de code voor de optionele onderdelen wilt dan gewoon in de commentarensectie vragen:
#include Servo.h
int LedPin1 = 12;
int LedPin = 13;
int MotorPin1 = 9;
int MotorPin2 = 10;
int servoPin = 6;
Servo VishalServo;
VOID Setup
{
digitalWrite (LedPin, hoge);
Serial.begin(9600);
Serial.println (Robotic tank);
pinMode (LedPin, uitvoer);
pinMode (LedPin1, uitvoer);
pinMode (MotorPin1, uitvoer);
pinMode (MotorPin2, uitvoer);
VishalServo.attach(servoPin);
VishalServo.writeMicroseconds(1500);
Serial.println (wacht 1 seconde);
delay(1000);
Serial.println (nu kun je opdrachten);
}
void loop
{
terwijl (Serial.available() == 0);
int val = Serial.read() - '0';
int i = VishalServo.read();
Als (val == 2)
{
Serial.println (Robot brandt);
digitalWrite (MotorPin1, hoge);
digitalWrite (MotorPin2, hoge);
vertraging (500);
digitalWrite (MotorPin1, laag);
digitalWrite (MotorPin2, laag);
delay(5);
}
Als (val == 1)
{
Serial.println (Robot draait links);
digitalWrite (MotorPin2, hoge);
delay(500);
digitalWrite (MotorPin2, laag);
delay(5);
}
Als (val == 3)
{
Serial.println (Robot draait rechts);
digitalWrite (MotorPin1, hoge);
delay(500);
digitalWrite (MotorPin1, laag);
delay(5);
}
Als (val == 9)
{
Serial.println (Turning right);
VishalServo.write(i+5);
delay(5);
}
Als (val == 7)
{
Serial.println (het draaien van links);
Als (ik = 165)
{
delay(5);
}
if(i = 165)
{
VishalServo.write(i-5);
delay(5);
}
}
Als (val == 5)
{
Serial.println(shoot);
digitalWrite (LedPin1, hoge);
delay(50);
digitalWrite (LedPin1, laag);
delay(5);
}
Als (val == 8)
{
Serial.println(centering);
VishalServo.writeMicroseconds(1500);
delay(5);
}
anders
{
delay(5);
}
}
Dit is de code voor alleen de eerste methode, omdat ik vind dat dit als de basic / de belangrijkste onderdeel van deze robot.
Als u wilt dat de led te blijven langer alleen wijzigen de vertraging tussen LED pin1 HIGH en LED pin 1 laag. (Of je misschien gewoon vragen mij om dat te doen als je denkt het te hard dat of als je een beginner bent.
En zorg ervoor dat de servo is aangesloten op een pin PWM ingeschakeld, ik gebruikte pin 6 (PWM betekent Pulse Width Modulation)
Hier is de code die u wilt gebruiken bij de verwerking van (haar een programma dat programma's van de computer) (u kunt het gratis downloaden van het internet, enkel type in de verwerking en de eerste link is enerzijds)deze code wordt gebruikt om te posten van updates naar twitter zeggen wat je robot aan het doen is wanneer u het opdrachten geven:
/*************
* op basis van: http://processing.org/reference/libraries/serial/serialEvent_.html
*************/
importeren van processing.serial.*;
Seriële myPort; De seriële poort
PFont myFont; Het weergavelettertype
String inString; Invoerreeks van seriële poort
int lf = 10; ASCII regelinvoer
Twitter twitter; Twitter
Gaat krijgen oAuth werkt in plaats van dit, maar dit zal doen voor nu
String username = "Jouw-TWITTER-gebruikersnaam"; je Twitter gebruikersnaam hier
String password = "Jouw-TWITTER-wachtwoord"; uw Twitter wachtwoord hier
VOID Setup {}
size(400,200);
Twitter = nieuwe Twitter(username,password);
myFont = loadFont("AppleGothic-48.vlw");
textFont (myFont, 18);
println(Serial.List());
myPort = nieuwe Serial (dit, Serial.list() [0], 9600);
myPort.bufferUntil(lf); wiat voor regelinvoer wilt einde van seriële buffer
}
VOID draw() {}
Background(100);
tekst ("kleur geselecteerd:" + inString, 10,50);
}
VOID serialEvent(Serial p) {}
inString = p.readString (); //read seriële string
Voor sommige reden wilde dit alleen werken in een poging-vangst
Probeer
{
Status status1 = twitter.updateStatus ("Arduino de favoriete kleur is" + inString); //update twitter status
}
vangst (TwitterException e) {}
println(e.getStatusCode());
}
}
Wijzigen gebruikersnaam en wachtwoord met uw twitter gebruikersbenaming en wachtwoord, ik probeerde het en het werkt perfect.
Als u wilt posten van updates naar een toepassing op twitter gaan en neem een kijkje op mijn andere instructable:
Dit is de code voor het gebruik van de ultrasone Bereikindicatie in plaats van een afstandssensor, zoals ik deed:)
int blinkLed = 13; Indien de led zal knipperen
int sensorPin = 0; Analoge Pin In
int som = 0; Variabele voor het berekenen van de som
int avgrange = 50; Waarden moeten het gemiddelde hoeveelheid
int sensorValue; Waarde voor de gemiddelde te
int i, media, d; Variabelen
float cm, inch; Geconverteerd naar cm
VOID Setup
{
Serial.begin(9600); Om te controleren wat wordt gelezen op de seriële poort
}
void loop {}
d=analogRead(sensorPin); Lees de analoge waarde
digitalWrite(blinkLed,HIGH); LED inschakelen
delay(d); Vertraging veranderingen met de analogread
digitalWrite(13,LOW); LED uitschakelen
delay(d); Een ander vertraging
cm = (d / 2) * 2.4; De waarde in centimeters converteren
duim = d/2; De waarde in inches
Serial.println(cm); Gemiddelde van alle gemeten waarden afdrukken
Dit is de code als je wilt om een gemiddelde van de gelezen waarden
/*
voor (ik = 0; ik < avgrange; i ++) {}
som += analogRead(sensorPin);
delay(10);
}
Media = som/avgrange;
Serial.println(media); Gemiddelde van alle gemeten waarden afdrukken
som = 0;
Media = 0;
*/
}
Als u het schema voor dit project wilt, of als u wilt dat specifieke code voor verschillende dingen of als u gerelateerd aan dit project, hulp nodig dan enkel verlof een commentaar in de commentarensectie, of wilt u meer informatie over verbinding maken met een van de hieronder, kun je vragen.
En als je dit uit te voeren wilt met commando's van externe, alles wat je hoeft te doen is gebruiken deze infrarood afstandsbediening en u kunt de hele robot draadloos met een afstandsbediening, of als u wilt dat het meer als een afstandsbediening auto, dan kunt u een werkelijke afstandsbediening auto-controller of een spel-stootkussen voor pc, links hieronder...
Infrarood afstandsbediening :
http://CGI.eBay.com/Arduino-IR-Remote-Control-0038B-module-DIY-kit-/280645829263?PT=LH_DefaultDomain_0&hash=item4157cb828f
Ik maakte mijn eigen koepel voor dit project welke past op de top van alle rotzooi en maakt de RC auto eruit met een RC auto, maar ik niet toe te voegen of foto's van de koepel zoals ik zou willen dat u mensen om uw eigen gepersonaliseerde koepels, en niet alleen een kopie naar mezelf...
En natuurlijk kunt u dit project uit te breiden, en als u iets cool delen een beeld van het door het toevoegen van een afbeelding terwijl het plaatsen van een reactie, als ik zou willen zien hoe dit instructable heeft u mensen om te komen met iets groots geïnspireerd.
Links:
Waar te downloaden van de Arduino IDE : http://arduino.cc/en/Main/Software
Waar te downloaden Processing : http://processing.org/download/
Ik echt Voer niet als de interface van de Arduino als je moest klik op na het invoeren van elke opdracht, dus ik putty gebruikte
Waar te downloaden van Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Droevig over enkele wazige foto's... :(