Lumière d’Arduino suite Robot (6 / 6 étapes)

Étape 6: Code d’Arduino

Code de l’Arduino et étalonnage. Télécharger le code donné ci-dessous à l’Arduino et suivez les instructions ci-dessous le code d’étalonnage.

/ * Lampe de poche après le Robot Code 25/03/2014

Copiez le code suivant utilise trois résistances de charge légères positionnés
à droite, avant et côtés gauches d’un robot de contrôle
Motion. Quand la lumière d’une résistance suffisante tombe sur l’un des
les capteurs, le robot tourne à droit, s’avance ou se transforme
gauche.
*/

Broches de la commande du moteur
int E1 = 5 ; Activez le code pin pour moteur droite
int M1 = 4 ; Broche de commande de vitesse pour moteur gauche
int E2 = 6 ; Activer le code pin pour le moteur gauche
int M2 = 7 ; Broche de commande de vitesse pour moteur droite

Des vitesses de moteurs suivantes sont déterminées par l’expérience
pour que le robot se déplace vers l’avant en ligne droite.
int leftMotorSpeed = 215 ;
int rightMotorSpeed = 185 ;

int sensorPinRight = 0 ; Broche droite capteur
int sensorPinCenter = 1 ; Goupille de centrage capteur
int sensorPinLeft = 2 ; Broche du capteur gauche

int lightReadingRight ;
int lightToleranceRight = 1000 ; Capteur de lecture nécessaire pour déclencher le virage à droite

int lightReadingCenter ;
int lightToleranceCenter = 1000 ; Capteur de lecture nécessaire pour déclencher le mouvement vers l’avant

int lightReadingLeft ;
int lightToleranceLeft = 1000 ; Capteur de lecture nécessaire pour déclencher le virage à gauche

int readingDelay = 100 ; Délai entre les lectures

void setup()
{
pinMode(M1,OUTPUT) ;
pinMode(M2,OUTPUT) ;

Décommentez la série flux à des fins d’étalonnage
Serial.Begin(9600) ;
}

void loop()
{
Décommentez les lignes séries impression à des fins d’étalonnage

Prendre la lecture du capteur droit
lightReadingRight = analogRead(sensorPinRight) ;
Serial.Print ("droit de lecture du capteur:") ;
Serial.println(lightReadingRight) ;

Prendre la lecture du capteur Centre
lightReadingCenter = analogRead(sensorPinCenter) ;
Serial.Print ("Centre de lecture du capteur:") ;
Serial.println(lightReadingCenter) ;

Prendre la lecture du capteur gauche
lightReadingLeft = analogRead(sensorPinLeft) ;
Serial.Print ("lecture de capteur à gauche:") ;
Serial.println(lightReadingLeft) ;

Aller de l’avant si assez de lumière est détecté du capteur Centre
Si (lightReadingCenter > lightToleranceCenter)
{
digitalWrite (M1, élevé) ;
digitalWrite (M2, élevée) ;
analogWrite (E1, leftMotorSpeed) ;
analogWrite (E2, rightMotorSpeed) ;
Delay(readingDelay) ;
Arrêter
digitalWrite (M1, faible) ;
digitalWrite (M2, faible) ;
analogWrite (E1, 0) ;
analogWrite (E2, 0) ;
}

Tourner à droite si assez de lumière est détecté du capteur droit
Si (lightReadingRight > lightToleranceRight)
{
digitalWrite (M1, faible) ;
digitalWrite (M2, élevée) ;
analogWrite (E1, leftMotorSpeed) ;
analogWrite (E2, rightMotorSpeed) ;
Delay(readingDelay) ;
Arrêter
digitalWrite (M1, faible) ;
digitalWrite (M2, faible) ;
analogWrite (E1, 0) ;
analogWrite (E2, 0) ;
}

Tourner à gauche, si assez de lumière est détecté du capteur gauche
Si (lightReadingLeft > lightToleranceLeft)
{
digitalWrite (M1, élevé) ;
digitalWrite (M2, faible) ;
analogWrite (E1, leftMotorSpeed) ;
analogWrite (E2, rightMotorSpeed) ;
Delay(readingDelay) ;
Arrêter
digitalWrite (M1, faible) ;
digitalWrite (M2, faible) ;
analogWrite (E1, 0) ;
analogWrite (E2, 0) ;
}
Delay(5000) ; Décommentez ce retard important à des fins de calibration moteur
}

Avec ce code téléchargé au robot, retirer les moteurs et ouvrir la série monitor pour jeter un oeil à la lecture des capteurs de lumière. J’ai fait mon étalonnage en lumière normale. Chacun des capteurs non couverts a donné des lectures de l’ordre de 1000 à 1100. Lentement, j’ai ajusté les trimmers jusqu'à ce que chaque capteur lire environ 1000. Un peu plus ou un peu moins ' s alright. Lorsque j’ai couvert un capteur de lumière, la lecture est tombé au haut 800 à 900 s à faible. Dans le code de l’Arduino, j’ai ensuite définir les variables de trois tolérance ; lightToleranceLeft, lightToleranceRight et lightToleranceCenter à 1000. Ainsi, lorsque le robot est dans l’obscurité, toutes les lectures seront au-dessous du seuil de déclenchement de 1000. Quand une lampe de poche est montré sur un capteur, la lecture de la sonde ira au-dessus du seuil de déclenchement et activer le mouvement approprié du robot.

Les numéros spécifiques, que j’ai utilisé pour mes capteurs particuliers ne sont pas importants. Ce qui est important, c’est que vous envoyez les lectures du capteur à la série monitor pour obtenir leurs lectures de lumière ambiantes. Puis, lentement ajuster les trims sur les capteurs jusqu'à ce que les lectures de toutes les trois capteurs sont sensiblement les mêmes. Puis couvrir chaque capteur et vous devriez obtenir une lecture plus bas. Définir vos variables de tolérance pour certaines lectures près de la lecture de lumière ambiante. Une lampe de poche qui brille sur le capteur doit ensuite appeler une lecture plus élevée que la tolérance, activant ainsi le robot.

Une dernière chose au sujet de l’étalonnage. Tout en bas du code de l’Arduino est une ligne commentée avec un délai de cinq secondes. J’ai décommenté cette ligne pour s’assurer que les moteurs étaient attachés correctement. Avec le robot suspendu au-dessus du sol, exécutez le code avec le robot dans l’obscurité. Faire la lumière sur le capteur avant et avec la sensation de vos mains qui voie les roues tournent. Si l’un d’eux se déplace vers l’arrière plutôt que vers l’avant, changer la position des fils de ce moteur sur le flasque arrière du moteur. Ensuite, faire la lumière sur le capteur de droit et sentir les roues. La roue droite devrait revenir en arrière et la roue gauche devrait aller de l’avant. Si l’inverse se produit, échanger les positions moteurs. M1 + devient M2 + et M1 - M2 - et vice versa. Enfin, mettez en commentaire le délai de cinq secondes et le télécharger à nouveau le code. Le robot devrait être prêt à aller.

Articles Liés

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
Comment utiliser le logiciel de programmation graphique au programme Arduino et robots ?

Comment utiliser le logiciel de programmation graphique au programme Arduino et robots ?

Salut tout le monde, la dernière fois j'ai vu un robot drôle pour enseigner aux enfants robotique (vous pouvez obtenir plus d'informations sur leur page Kickstarter ). Mais je suis plus intéressé par le mBlock de langage programmation graphique. Il e
Arduino base robotique Car(wireless controls+Autonomous)

Arduino base robotique Car(wireless controls+Autonomous)

Cette instructable est un Arduino base robotique voiture qui utilise Arduino, langage de programmation Arduino, pilote automobile, un écran LCD pour afficher l'état actuel de la voiture et même un module Bluetooth pour des communications sans fil dep
Arduino lumière après le Robot et en évitant

Arduino lumière après le Robot et en évitant

Il s'agit d'un smiple qui suivent ou éviter la lumière du projet.J'ai fait cette Simulation Proteus 8.3 pro.Composants requis:-1) Arduino uno.2) LDR 3.3) moteurs à engrenages de c.c 2.4) un Servo.5) k 1 trois résistances.6) un pont en H l290D7) one s
Easy Arduino Light suite Robot

Easy Arduino Light suite Robot

Il s'agit d'un tutoriel sur comment faire un léger robot suivant en utilisant Arduino, il a été simplifié afin que les débutants peuvent essayer ce projet trop. Ce projet devrait vous prendre seulement au plus d'une heure. J'espère que vous apprécier
Simple lumière suite Robot

Simple lumière suite Robot

Ce projet simple vous montrera comment créer un robot qui utilisera les deux résistances de faible coût photo pour suivre une lampe de poche. Il démontrera aussi une boucle de contrôle très simple.  Une boucle de régulation est un concept important d
Arduino basé robot suiveur de lumière

Arduino basé robot suiveur de lumière

une démo du diaporama que j'ai posté
La lumière suivant la plante Robot

La lumière suivant la plante Robot

Dans ce instructable, je vais vous montrer comment faire un robot qui se déplace d'une plante vers la lumière. Ce projet a été partiellement inspiré par l'un de mes anciens instructables, le planterbot. Ce projet est surtout pour le plaisir ; Si lais
Arduino ligne Robot suivants pour les débutants

Arduino ligne Robot suivants pour les débutants

* mise à jour GREEN 8 / 2 4 / 2 GREEN 1 voidsetup() {   // a variable created in here doesn't exist in loop } voidloop() {   // a variable created in here doesn't exist in setup } pour inclure plus de prix, source informations et modèles haut/bas/rou
Arduino 3D robot imprimé : Humbot Sargantana

Arduino 3D robot imprimé : Humbot Sargantana

Salut!Il s'agit de mon premier instructable, j'espère que vous aimez !J'ai conçu et programmé un robot Arduino basé. Il est complètement open source sous CC-BY-SA. Si vous aimez les robots, vous devez essayer celui-là. Je vous offre trois programmes
Lumière stroboscopique Arduino

Lumière stroboscopique Arduino

Voici le tutoriel comment construire stroboscope en utilisant l'Arduino.Étape 1: MarerialsVous aurez besoin :-Arduino Conseil d'administration,-Résistance 220 ohms,-LED,-2 potentiomètres,-Batterie.Étape 2: bâtiment Tout ce dont vous avez besoin est d
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
Arduino main robotisée avec retour haptique

Arduino main robotisée avec retour haptique

cette année pour la science fair, j'ai fait un projet d'ingénierie dans le but de créer un système pour fournir la rétroaction haptique d'une main robotique. La main robotique est contrôlée par les résistances de flex sur un gant porté sur la main de
NESBot : Arduino alimenté Robot battre Super Mario Bros de la NES

NESBot : Arduino alimenté Robot battre Super Mario Bros de la NES

ce guide vous emmènera à travers les étapes pour construire un NDA jeu robot.Vous aurez besoin :Un Arduino Duemilanove (autres conseils fonctionnera probablement, mais vous devrez ajuster les étapes de votre appareil)Travail de Console NESSuper Mario