Simple lumière suite Robot (5 / 6 étapes)

Etape 5: Programmation de l’Arduino

Charger le programme suivant dans l’Arduino.

Le programme peut être téléchargé ici :

http://www.zagrosrobotics.com/files/Mag_Light_Follower_04062013.INO

Ce programme utilise un programme de terminal pour communiquer avec le robot.  Vous pouvez utiliser le Serial Monitor dans l’environnement de développement Arduino.  Vous pouvez également utiliser Hyperterminal ou Realterm (qui sera plus facile à utiliser).

Le programme comprend des fonctions de base de contrôle moteur :

« f » - vers l’avant
« b » - vers l’arrière
« l » - rotation gauche
« r » - rotation droite
de ' - stop

Ces commande peut être utilisée pour définir le sens de vos moteurs.

La nouvelle commande « g » qui a été ajouté au programme pour ce projet nous dira au robot pour commencer à chercher la source de lumière.

Les broches d’entrée analogiques 0 et 1 va lire la valeur analogique des photodétecteurs et convertir à un entier de valeur comprise entre 0 et 255.

Chaque moteur a un sens et une valeur PWM (vitesse).  La valeur PWM sont limitées entre 0 et 255.

###################################   Arduino code   ###############################

Suivant l’exemple de la ligne 06/04/2013

int pwm_a = 10 ;  Commande PWM pour moteurs sorties 1 et 2 est sur la broche numérique 10
int pwm_b = 11 ;  Commande PWM pour moteurs sorties 3 et 4 est sur la broche numérique 11
int dir_a = 12 ;  commande de direction pour moteurs sorties 1 et 2 est sur la broche numérique 12
int dir_b = 13 ;  commande de direction pour moteurs sorties 3 et 4 est sur la broche numérique 13
int incomingByte = 0 ; pour les données entrantes de série
int encoderCount = 0 ;
int encoderOld = 0 ;
int encoderState = 0 ;
int sensorState = 0 ;
int lightsensor_left = 0 ;
int lightsensor_right = 0 ;
int temp_var = 0 ;
gain d’int = 2 ; système de contrôle de gain var
const int encoderPin = 2 ;
const int sensorPin = 3 ;

void setup()
{
pinMode (pwm_a, sortie) ;  Broches de contrôle pour être sorties
pinMode (pwm_b, sortie) ;
pinMode (dir_a, sortie) ;
pinMode (dir_b, sortie) ;

analogWrite (pwm_a, 0) ;  les deux moteurs de fonctionner à la valeur (100/255 = 39) % rapport cyclique (lent)
analogWrite (pwm_b, 0) ;

Serial.Begin(115200) ;


Serial.Print ("Zagros Robotics, Inc.") ;
Serial.Print ("magicien adepte lumière Demo 4/6/2013\n") ;


}

void loop()
{

Serial.Print ("Zagros Robotics, Inc.") ;

Si (Serial.available() > 0) {}
lire les octets entrants :
incomingByte = Serial.read() ;
}

lire les capteurs de lumière

lightsensor_left=analogRead(0) ;
lightsensor_right=analogRead(1) ;
Serial.println(lightsensor_left) ;
Serial.println(lightsensor_right) ;

Switch(incomingByte)
{
de l’affaire ":
digitalWrite (dir_a, basse) ;
analogWrite (pwm_a, 0) ;
digitalWrite (dir_b, basse) ;
analogWrite (pwm_b, 0) ;
Serial.println("Stop\n") ;
incomingByte ='* ' ;

rupture ;

case « f » :
digitalWrite (dir_a, basse) ;
analogWrite (pwm_a, 255) ;
digitalWrite (dir_b, basse) ;
analogWrite (pwm_b, 255) ;
Serial.println("Forward\n") ;
incomingByte ='* ' ;
rupture ;

case « b » :
digitalWrite (dir_a, HIGH) ;
analogWrite (pwm_a, 255) ;
digitalWrite (dir_b, HIGH) ;
analogWrite (pwm_b, 255) ;
Serial.println("Backward\n") ;
incomingByte ='* ' ;
rupture ;

case « l » :
digitalWrite (dir_a, basse) ;
analogWrite (pwm_a, 255) ;
digitalWrite (dir_b, HIGH) ;
analogWrite (pwm_b, 255) ;
Serial.println ("rotation Left\n") ;
incomingByte ='* ' ;
rupture ;

case « r » :
digitalWrite (dir_a, HIGH) ;
analogWrite (pwm_a, 255) ;
digitalWrite (dir_b, basse) ;
analogWrite (pwm_b, 255) ;
Serial.println ("rotation Left\n") ;
incomingByte ='* ' ;
rupture ;

case « g »: //follow la lumière

gain = 3 ;

temp_var = (lightsensor_left - lightsensor_right) * gain ;

Si (temp_var > 0)
{
digitalWrite (dir_a, HIGH) ;
digitalWrite (dir_b, basse) ;
Serial.println ("rotation Left\n") ;
}
d’autre
{
digitalWrite (dir_a, basse) ;
digitalWrite (dir_b, HIGH) ;
Serial.println ("rotation Right\n") ;
}


Serial.println(temp_var) ;

temp_var=ABS(temp_var) ;


if(temp_var > 255)
{
temp_var = 255 ;
}


analogWrite (pwm_a, temp_var) ;
analogWrite (pwm_b, temp_var) ;




rupture ;

case « v » :
Serial.println ("Version 04042013a\n") ;
incomingByte ='* ' ;
rupture ;

Delay(500) ;

}



} / / fin de boucle

Articles Liés

Simple lumière cherche robot avec 555 calendrier IC

Simple lumière cherche robot avec 555 calendrier IC

dans ce Instructable je vais vous montrer comment faire un robot qui sera en mesure d'avancer vers une près de la source lumineuse. Ce projet utilise un circuit très simple, donc à peu près que n'importe qui peut le rendre. J'ai encore plusieurs amél
Simple lumière suivant Robot

Simple lumière suivant Robot

construire un robot suivant lumière simple avec des pièces de faible coûts communs.  Si vous n'avez pas de cellules appariées capteur de lumière, vous aurez besoin un fer à souder, pistolet à colle chaude et un ohmmètre.  Ce robot suivra la lumière d
Simple lumière cherche Robot

Simple lumière cherche Robot

construire le robotCe robot a été conçu comme un projet pour les élèves du secondaire à s'appuyer sur une journée d'activités.  Le châssis a été fourni à la coupe de pré élèves.  La totalité des coûts des composants par robot a été juste sous le GBP5
LUMIÈRE suivant SIMPLE Poussée de ROBOT

LUMIÈRE suivant SIMPLE Poussée de ROBOT

hai les gars c'est mon simple léger suite spurt robot. Les choses que vous avez besoin pour construire ce robot sont :1) deux transistors NPN BC3372) deux de LDR3) deux moteurs à courant continu 100 tr/min4) un support de batterie de 9v5) une maquett
Plus simple du monde ligne suite Robot

Plus simple du monde ligne suite Robot

Ici dans ce instructable je vais vous montrer comment faire plus simple ligne du monde robot qui suit. Plus simple en termes de nombre de pièces utilisées et la complexité du circuit.La plupart de la ligne suivante de robots sur internet utilisent de
Simple lumière de bouteille de vin / « Lampe »

Simple lumière de bouteille de vin / « Lampe »

j'ai été prise comme cadeaux de Noël pour les années donc je décide que je voudrais partager ! ils font aussi bonne nuit feux ! la plupart des fournitures ont été achetée dans le magasin local du dollar et cela prend moins de cinq minutes pour vous !
Lumière d’Arduino suite Robot

Lumière d’Arduino suite Robot

Vue d'ensembleCette instructable utilisera trois photo-résistances (résistances dépendantes légers) et un Arduino pour contrôler le mouvement d'un robot. N'importe quel châssis robot commun peut être utilisé pour le robot. Les capteurs de lumière ser
LUMIÈRE suivant SIMPLE Poussée de ROBOT en ACTION

LUMIÈRE suivant SIMPLE Poussée de ROBOT en ACTION

hai les gars c'est une vidéo de mon robot suivant lumière en action.
DIY flamme Simple suite Robot sans microcontrôleur

DIY flamme Simple suite Robot sans microcontrôleur

Il s'agit d'un plaisir à faire le robot. Le départ de robot pour déplacer si le capteur détecte la flamme, soyez prudent lorsque vous utilisez un élément plus léger ou autre à l'aide de la flamme.Composants requis :1 x roue de Castor2 roues de x2 x m
MJRoBot I - étapes simples pour construire un robot autonome.

MJRoBot I - étapes simples pour construire un robot autonome.

Il y a quelques mois, j'ai terminé mon premier cours d'électronique en ligne. C'était une nouvelle expérience, mais il a réveillé en moi une passion ancienne très somnolence, l'électronique !Le parcours était : EE40LX : Interfaces électroniques, par
LINUS : La ligne qui suit robot

LINUS : La ligne qui suit robot

C'est ma tentative à une ligne robot qui suit. J'ai amélioré fondamentalement ce que je suis allé donc je vais juste donner et vue d'ensemble de la construction et vous permettent d'utiliser votre pensée. J'ai utilisé des Lego comme base et ensuite f
Ma ligne de Arduino suite Robot!!! -Avec Pololu QTR-6 a IR réflectance capteurs

Ma ligne de Arduino suite Robot!!! -Avec Pololu QTR-6 a IR réflectance capteurs

j'ai utilisé un Arduino Duemillanove avec l'ATMega 328. Propulsion est assurée par les deux parallaxe continue Rotation/Servos Futaba. Mon capteur est la matrice de capteurs de réflectance de IR Pololu QTR-6 a, et c'est tous hors tension 4 piles rech
Super Simple lumière tente

Super Simple lumière tente

je me suis inspiré pour faire ce projet après avoir vu la tente légère PVC postée sur le blog de la marque. Cette tente légère utilise une boîte en carton et quelques substance blanche (Tyvek) et vous permet de prendre des photos raisonnables de prod
La simple lumière vers le haut, table animée. Aucune connaissance en électronique nécessaire !

La simple lumière vers le haut, table animée. Aucune connaissance en électronique nécessaire !

C'est facile et super cool de faire. Oui, oui, je sais qu'il y a quelques autres Instructables là-bas sur la façon de construire une lumière vers le haut de tableau, mais celui-ci est différent. Le tableau est basé sur Instructable de mrgalleta, mais