J’ai toujours aimé aller au camps, etc. lorsqu’il y a beaucoup de mes amis, j’ai toujours aimé avoir beaucoup d’amis et un jour que je cherchais YouTube pour les voitures de contrôle à distance, et la façon dont elles ont été faites, j’ai compris que je pouvais faire un pour moi des composants que j’ai eu,
S’il vous plaît votez pour cela dans le concours de microcontrôleur---> >> (Merci à l’avance)
Ici
Tout j’avais besoin pour ce faire, c’était :
- Arduino(20$)
- Breadboard(3$)
- Quelques Capacitors(3$)
- Résistances 1K,10K(2$)
- 2 Motors(10$)
- 1 Servo(3$)
- 1 capteur de distance (Optional)(10$)
- 1 capteur de sons (Optional)(5$)
- 1 ligne de sonde (Optional)(6$) de suivi
- LEDs(1$)
- Cavalier Cables(2$)
- Régulateurs de tension (1 pour la servo)(2$)
- Transistors ((NPN) pour le Motors)(2$)
- 4 pièces 9 V batteries(8$)
- Transceiver(13$) Blue-tooth
Donc le coût total de la version de débutants est : 69$ avec l’arduino
Et le coût total de la version pro est (comme celui que j’ai fait avec tous les trucs en option): 90$ avec l’arduino
Voici une vidéo de l’ensemble du projet, il s’agit de la vidéo du 1er mode du projet, il montre le robot communiquant avec l’ordinateur via un câble USB et sans fil et il montre comment fonctionne le tireur.
Dans le code que je vais vous donner il y aura seulement le code de base, qui est sans parties facultatives, si vous voulez le code pour toutes les autres parties, me demander dans la section commentaires et Iwill vous donner le code pour la partie particulière,
Dans ma version finale, où le code est assez long, il y a 4 modes
1 er mode
Le robot se connecte à l’ordinateur sans fil via blue-tooth, et il écoute toutes les commandes, y compris
(Tourner à gauche, tourner à droite, vers l’avant, cible, tourner à gauche, cible, tourner à droite, Shoot et plus...)
Les trucs de cible est essentiellement, qu’il y a un servo avec un LED monté sur lui, qui agit comme une tourelle que vous pouvez voir dans mes autres instructable (Star Wars X-Wing 2)
2ème mode
C’est le mode où j’utilise un capteur de distance
Le capteur de distance donner constamment dans les valeurs de dans quelle mesure les choses en face sont, et si quelque chose est proche, alors le robot sera arrêter et détourner ou aller inverse.
Vous aimeriez installer le capteur de distance au sommet d’un servo, car ce serait vous donner un éventail beaucoup plus large.
3ème mode
C’est où le capteur sonore prend l’initiative, lorsque n’importe quel son qui précède un certain niveau est détecté comme spécifié dans le code, ou si une mélodie stockée est harde, puis le robot se déplace en conséquence à s’éloigner du bruit autant que possible, est vraiment facile de renverser la vapeur pour que le robot vient vers vous.
4ème mode
Celui-ci est le mode de suivi de ligne, où le robot suit les lignes, j’ai utilisé un capteur pré-faites, mais vous pouvez trouver des instructions sur la façon de créer les vôtres, si vous recherchez Google. Dans ce mode, il y a un autre 2 modes de mini, on doit suivre une ligne, et l’autre doit rester en deçà d’une ligne.
Un bon conseil est de s’assurer que le capteur est placé plus près du sol que possible.
Vous devez vous demander comment j’ai changé les modes, Eh bien vous pouvez le faire en utilisant l’ordinateur, mais j’ai utilisé un commutateur à 5 positions pour les quatre modes et un pour arrêtet pour le quatrième mode, pour basculer entre les modes minis, j’ai utilisé juste un interrupteur normal.
Mais après tout cela, j’ai réalisé c’est très salissant et serait beaucoup plus facile et mieux, si vous avez changé le mode de l’ordinateur, donc je l’ai fait plus tard.
Il y avait un grand usage du pouvoir que j’ai utilisé 4 piles 9 volts, que j’ai dû utiliser deux pour les deux moteurs, un pour le servo et l’autre pour l’arduino, le servo nécessaires beaucoup plus de courant que l’arduino peut vous apporter, alors j’ai dû utiliser un autre appareil électrique et ajouter un régulateur de tension, car le servo pouvait gérer uniquement 5V et j’ai pensé qu’en ajoutant beaucoup de 1.5V piles augmente le poids beaucoup, donc j’ai juste utilisé ma batterie de V fidèle 9 et le régulateur de tension.
Les moteurs devaient être alimentés par une alimentation séparée, parce que, si j’ai branché les moteurs à l’arduino, il n’y aurait pas assez de puissance pour relier les 3 capteurs et l’émetteur-récepteur bleu-dent, et les moteurs ne seraient pas aller vite si j’eux reliée à l’arduino, alors j’ai utilisé un transistor pour chaque moteur et branché sur l’arduino.
Et puis la dernière étape pour moi était de faire un point de départ pour cela à lui donner l’air cool, donc j’ai fait une sorte de dôme de chose pour couvrir l’ensemble robot et il semble vraiment cool, vous pouvez faire toute sorte de dôme vous aimez.
Voici le code principal pour ce robot, mais si vous voulez le code pour les pièces en option, puis il suffit de demander dans la section commentaires :
#include Servo.h
int LedPin1 = 12 ;
int LedPin = 13 ;
int MotorPin1 = 9 ;
int MotorPin2 = 10 ;
int servoPin = 6 ;
Servo VishalServo ;
void setup()
{
digitalWrite (LedPin, élevé) ;
Serial.Begin(9600) ;
Serial.println (réservoir de robotique) ;
pinMode (LedPin, sortie) ;
pinMode (LedPin1, sortie) ;
pinMode (MotorPin1, sortie) ;
pinMode (MotorPin2, sortie) ;
VishalServo.attach(servoPin) ;
VishalServo.writeMicroseconds(1500) ;
Serial.println (attendre pendant 1 seconde) ;
Delay(1000) ;
Serial.println (vous pouvez maintenant donner des commandes) ;
}
void loop()
{
même si (Serial.available() == 0) ;
int val = Serial.read() - « 0 » ;
int i = VishalServo.read() ;
Si (val == 2)
{
Serial.println (Robot est activée) ;
digitalWrite (MotorPin1, élevé) ;
digitalWrite (MotorPin2, élevé) ;
retard (500) ;
digitalWrite (MotorPin1, basse) ;
digitalWrite (MotorPin2, basse) ;
Delay(5) ;
}
Si (val == 1)
{
Serial.println (Robot est tournant à gauche) ;
digitalWrite (MotorPin2, élevé) ;
Delay(500) ;
digitalWrite (MotorPin2, basse) ;
Delay(5) ;
}
Si (val == 3)
{
Serial.println (Robot est tournant à droite) ;
digitalWrite (MotorPin1, élevé) ;
Delay(500) ;
digitalWrite (MotorPin1, basse) ;
Delay(5) ;
}
Si (val == 9)
{
Serial.println (tournant à droite) ;
VishalServo.write(i+5) ;
Delay(5) ;
}
Si (val == 7)
{
Serial.println (tournant à gauche) ;
Si (je = 165)
{
Delay(5) ;
}
if(i = 165)
{
VishalServo.write(i-5) ;
Delay(5) ;
}
}
Si (val == 5)
{
Serial.println(Shoot) ;
digitalWrite (LedPin1, élevé) ;
Delay(50) ;
digitalWrite (LedPin1, basse) ;
Delay(5) ;
}
Si (val == 8)
{
Serial.println(Centering) ;
VishalServo.writeMicroseconds(1500) ;
Delay(5) ;
}
d’autre
{
Delay(5) ;
}
}
C’est le code pour seulement la première méthode, car je considère cela comme la partie de base / main de ce robot.
Si vous voulez que le voyant lumineux de rester plus seulement changer le délai entre la broche 1 LED haute et LED pin 1 petite. (Ou vous pourriez vient de me demander de le faire si vous pensez que c’est trop difficile ou si vous êtes un débutant.
Et veillez à ce que le servo est connecté à une goupille PWM activé, j’ai utilisé la broche 6 (PWM signifie Pulse Width Modulation)
Voici le code que vous devez utiliser dans le traitement (ses un programme que les programmes de l’ordinateur) (vous pouvez le télécharger gratuitement sur internet, il suffit de taper dans le traitement et le premier lien est celui)ce code est utilisé pour publier des mises à jour Twitter disant que votre robot fait quand vous lui donnez des commandes :
/*************
* basé sur : http://processing.org/reference/libraries/serial/serialEvent_.html
*************/
Import processing.serial.* ;
Serial myPort ; Le port série
PFont myFont ; La police d’affichage
String inString ; Chaîne d’entrée de port série
int lf = 10 ; Saut de ligne ASCII
Twitter twitter ; Twitter
Gonna get oAuth travaillant au lieu de cela, mais cela va faire pour l’instant
String username = « Votre-TWITTER-nom d’utilisateur » ; Vous Twitter le nom d’utilisateur ici
Mot de passe String = « Votre-TWITTER-mot de passe » ; votre mot de passe Twitter ici
void setup() {}
Size(400,200) ;
Twitter = new Twitter(username,password) ;
myFont = loadFont("AppleGothic-48.vlw") ;
textFont (myFont, 18) ;
println(Serial.List()) ;
myPort = nouvelle série (ce, Serial.list() [0], 9600) ;
myPort.bufferUntil(lf) ; WIAT pour saut pour indiquer la fin de la série tampon de ligne
}
{} void draw()
Background(100) ;
texte ("couleur choisie:" + inString, 10,50) ;
}
void serialEvent(Serial p) {}
inString = p.readString (); //read chaîne série
Pour une raison quelconque cela voulait seulement travailler dans un try catch
Essayez
{
Statut status1 = twitter.updateStatus ("la couleur préférée de l’Arduino est" + inString); statut twitter //update
}
{} catch (TwitterException e)
println(e.getStatusCode()) ;
}
}
Changement nom d’utilisateur et mot de passe avec votre nom d’utilisateur twitter et le mot de passe, je l’ai essayé et il fonctionne parfaitement.
Si vous souhaitez publier une application sur twitter aller et jetez un oeil à mes autres instructable :
C’est le code permettant d’utiliser le télémètre à ultrasons au lieu d’un capteur de distance, comme je le faisais:))
int blinkLed = 13 ; Lorsque la led clignote
int sensorPin = 0 ; Broches analogiques en
int somme = 0 ; Variable pour calculer la somme
int avgrange = 50 ; Quantité de valeurs moyenne
int sensorValue ; Valeur moyenne de te
int i, médias, d ; Variables
flotteur cm, pouce ; Converti en cm
void setup()
{
Serial.Begin(9600) ; Pour vérifier ce qui est lu sur le Port série
}
void loop() {}
d=analogRead(sensorPin) ; Lire la valeur analogique
digitalWrite(blinkLed,HIGH) ; Allumer la LED
Delay(d) ; Changements de retard avec l’analogread
digitalWrite(13,LOW) ; Désactiver les LED
Delay(d) ; Un autre retard
cm = (d / 2) * 2,4 ; Convertir la valeur en centimètres
pouce = d/2 ; Valeur en pouces
Serial.println(cm) ; Imprimer la moyenne de toutes les valeurs mesurées
C’est le code si vous voulez faire en moyenne les valeurs lues
/*
pour (i = 0; i < avgrange; i ++) {}
somme += analogRead(sensorPin) ;
Delay(10) ;
}
médias = somme/avgrange ;
Serial.println(Media) ; Imprimer la moyenne de toutes les valeurs mesurées
somme = 0 ;
médias = 0 ;
*/
}
Si vous voulez le schéma pour ce projet, ou si vous voulez un code spécifique pour des choses différentes ou si vous avez besoin d’aide concernant ce projet, alors il suffit de laisser un commentaire dans la section commentaires, ou si vous voulez plus de détails sur la connexion de la ci-dessous, s’il vous plaît demander.
Et si vous le souhaitez pour courir avec commandes à distance, tout que vous devez faire est d’utiliser cette télécommande infrarouge et vous pouvez contrôler le robot entier sans fil avec une télécommande, ou si vous voulez qu’il soit plus comme une voiture de contrôle à distance, puis vous pouvez ajouter un contrôleur de voiture réelle de la télécommande ou une manette de jeu pour pc, liens ci-dessous...
Télécommande infrarouge :
http://CGI.eBay.com/Arduino-IR-Remote-Control-0038B-module-DIY-Kit-/280645829263?PT=LH_DefaultDomain_0&Hash=item4157cb828f
J’ai fait mon propre dôme pour ce projet qui s’inscrit sur le dessus de tous les mess et rend la voiture RC ressemble à une voiture RC, mais je ne pas ajouter des photos du dôme comme j’aimerais que vous les gens à faire vos propres dômes personnaliséset pas seulement copiez me...
Et bien sûr vous pouvez étoffer ce projet et si vous faites quelque chose de cool partager une photo de lui en ajoutant une image tout en postant un commentaire, que je voudrais voir comment cette instructable vous a inspiré les gens à venir avec quelque chose de grand.
Liens :
Où télécharger l’IDE Arduino : http://arduino.cc/en/Main/Software
Où télécharger traitement : http://processing.org/download/
J’ai vraiment n’a pas comme l’interface de l’Arduino que vous deviez cliquez sur entrer après avoir entré chaque commande, alors j’ai utilisé putty
Où télécharger Putty : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Désolé pour les quelques photos floues...:(