Easy Arduino Light suite Robot (4 / 4 étapes)

Étape 4: Code

S’il vous plaît respecter qu’il a fallu un certain temps à comprendre et à écrire ce code :

Code par Jason McLaughlin

2015

const int channel_a_enable = 6 ; démarrage moteur a gauche

const int channel_a_input_1 = 4 ; positif/négatif 1

const int channel_a_input_2 = 7 ; positif/négatif 2

const int channel_b_enable = 5 ; démarrer le moteur b /right

const int channel_b_input_3 = 3 ; positif/négatif 1

const int channel_b_input_4 = 2 ; positif/négatif 2

const int RightSensor = A1 ; Lire le capteur droit

const int LeftSensor = A2 ; Lire le capteur gauche

Définitions de variable

int SensorLeft ; Cette option stocke la valeur de l’axe gauche capteur à utiliser plus tard dans le sketch

int SensorRight ; Cette option stocke la valeur de l’axe droit capteur à utiliser plus tard dans le sketch

int SensorDifference ; Cette valeur est utilisée pour déterminer la différence entre la gauche et la droite

void setup() {}

pinMode (channel_a_enable, sortie) ; Canal A activer

pinMode (channel_a_input_1, sortie) ; Une entrée 1 canal

pinMode (channel_a_input_2, sortie) ; Une entrée 2 Channel

pinMode (channel_b_enable, sortie) ; Permettre à canal B

pinMode (channel_b_input_3, sortie) ; Entrée du canal B 3

pinMode (channel_b_input_4, sortie) ; Entrée du canal B 4

pinMode (entrée, LeftSensor) ; Définit cette broche en tant qu’entrée. L’Arduino lira les valeurs de cette broche.

pinMode (entrée, RightSensor) ; Définit cette broche en tant qu’entrée. L’Arduino lira les valeurs de cette broche.

digitalWrite (A1, élevé) ; Permet de LDR

digitalWrite (A2, élevé) ; Permet de LDR

Serial.Begin(9600) ; Permet une connexion série par le biais de l’Arduino USB ou UART (bornes 0 & 1). Notez que le débit en bauds correspond à 9600

Serial.println (« \nBeginning lumière recherche de comportement ») ; Placé à la fin de void Setup() pour qu’il soit s’exécute une seule fois, juste avant le void Loop()}

void loop() {SensorLeft = 1023 - analogRead(LeftSensor); / / cela lit la valeur de la sonde, puis l’enregistre à l’entier correspondant.

Delay(1) ;

SensorRight = 1023 - analogRead(RightSensor) ; Ce lit la valeur de la sonde, puis l’enregistre à l’entier correspondant.

Delay(1) ;

SensorDifference = abs (SensorLeft - SensorRight) ; Il calcule la différence entre les deux capteurs et puis l’enregistre à un entier.

Cette section de l’esquisse est utilisée pour imprimer les valeurs de la / / capteurs par le biais de série de l’ordinateur. Utile pour déterminer les / / si les capteurs fonctionnent, et si le code fonctionne aussi correctement.

Serial.Print ("capteur à gauche =") ; Imprime le texte à l’intérieur des guillemets.

Serial.Print(SensorLeft) ; Imprime la valeur de la sonde de gauche.

Serial.Print("\t") ; Imprime un onglet (espace).

Serial.Print ("capteur à droite =") ; Imprime le texte à l’intérieur des guillemets.

Serial.Print(SensorRight) ; Imprime la valeur de la sonde de droit.

Serial.Print("\t") ; Imprime un onglet (espace).

Cette section de l’esquisse est ce qu’interperets effectivement les données et exécute ensuite les moteurs en conséquence.

Si (SensorLeft > SensorRight & & SensorDifference > 75) {/ / Ceci est interprété comme si le capteur de gauche indique plus de lumière que le capteur de droite, pour ce faire :

analogWrite (channel_a_enable, 255) ;

digitalWrite (channel_a_input_1, basse) ;

digitalWrite (channel_a_input_2, HIGH) ;

analogWrite (channel_b_enable, 255) ;

digitalWrite (channel_b_input_3, HIGH) ;

digitalWrite (channel_b_input_4, basse) ;

Serial.println("left") ; Ceci affiche gauche lorsque le robot serait vraiment tourner à gauche.

Delay(50) ;

}

Si (SensorLeft < SensorRight & & SensorDifference > 75) {/ / Ceci est interprété comme si le capteur gauche mesure moins de lumière que le capteur de droite, pour ce faire :

analogWrite (channel_a_enable, 255) ;

digitalWrite (channel_a_input_1, HIGH) ;

digitalWrite (channel_a_input_2, basse) ;

analogWrite (channel_b_enable, 255) ;

digitalWrite (channel_b_input_3, basse) ;

digitalWrite (channel_b_input_4, HIGH) ;

Serial.println("Right") ; Ceci affiche droit lorsque le robot aurait en fait tourner à droite.

Delay(50) ;

}

ElseIf (SensorDifference < 75) {/ / Ceci est interprété comme si la différence entre les deux capteurs est moins 125 (expérience en fonction de nos capteurs), pour ce faire :

analogWrite (channel_a_enable, 255) ;

digitalWrite (channel_a_input_1, HIGH) ;

digitalWrite (channel_a_input_2, basse) ;

analogWrite (channel_b_enable, 255) ;

digitalWrite (channel_b_input_3, HIGH) ;

digitalWrite (channel_b_input_4, basse) ;

Serial.println("Forward") ; Cela imprime vers l’avant lorsque le robot serait en fait aller de l’avant.

Delay(50) ;

}

Serial.Print("\n") ;

}

Articles Liés

LDRs + Arduino = un simple robot qui peut détecter la lumière !

LDRs + Arduino = un simple robot qui peut détecter la lumière !

An LDR est une résistance dépendant de la lumière et a de nombreuses utilisations, par exemple, un photocel qui peut allumer les lumières de votre maison quand sa faire sombre à l'extérieur.Une façon intéressante pour comprendre comment cela fonction
Arduino auto équilibrage Robot

Arduino auto équilibrage Robot

Dans ce projet, je vais décrire la construction de robots debout en équilibre avec le Arduino.We expliqué dans notre version précédente du projet android contrôlé. Dans ce projet, nous allons passer à notre contrôle. Let ' s go Let's get à notre proj
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
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
Extrêmement Simple ligne Robot avec Arduino qui suit

Extrêmement Simple ligne Robot avec Arduino qui suit

Dans ce Instructable, nous allons construire une ligne générique simple suivant arduinobot. Il y aura beaucoup de place à la créativité dans ce Instructable.Le robot, dans ce tutoriel, est propulsé hors de 4 piles AA et est capable de suivre un ruban
Arduino/w bricolage Robot Intelligent de Autonomus (électronique Pet)

Arduino/w bricolage Robot Intelligent de Autonomus (électronique Pet)

J'aime toutes sortes de robots spécialement l'autonomus ou les robots intelligents, qui ont un peu plus d'intelligence que d'éviter un obstacle. Alors j'ai décidé que je créerai mon propre robot intelligent peu coûteux qui a une construction à huis c
Tube Bot - un arduino smart bluetooth robot

Tube Bot - un arduino smart bluetooth robot

Il s'agit de mon premier instructables. Ici je montre comment faire un deux roues arduino bluetooth robot pas cher, à l'aide de tuyaux en PVC et ses articulations (pour faire le corps). C'est simple à faire et facile à programmer. Il ont beaucoup de
Arduino Omni roue Robot Rover - cours MAKE

Arduino Omni roue Robot Rover - cours MAKE

Cet Instructable a été créé dans l'accomplissement de l'exigence de projet de la Makecourse à l'Université de Floride du Sud (www.makecourse.com)Comme robot Rover ? Vous êtes un gourou DIY ? Je suis Larsha Johnson un étudiant en génie électrique à l'
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 mur éviter robot

Arduino mur éviter robot

Cette instructable suppose que très peu en ce qui concerne les connaissances préalables.S'il y a les endroits que vous vous sentez pourraient être améliorées ou clarifié, s'il vous plaît n'hésitez pas à message ou commentaire et je mettrai à jour.Voi
Arduino Light Theremin

Arduino Light Theremin

Un theremin est un appareil de musique électronique qui peut détecter la position d'une mains d'artistes interprètes ou exécutants et de créer des sons musicaux tout sans l'interprète jamais toucher l'appareil. Pour notre theremin lumière nous allons
Arduino Obstacle Avoidance Robot

Arduino Obstacle Avoidance Robot

Hé les gars,Matériel :1 microcontrôleur Arduino - http://www.robotshop.com/en/arduino-uno-usb-microc...2 Servos rotation continue - parallax http://www.robotshop.com/en/parallax-futaba-contin...1 180 degré Hi-Tec Servo HS-422 - http://www.robotshop.c
Arduino solaire suivi Robot

Arduino solaire suivi Robot

Il s'agit d'un simple suiveur solaire qui s'oriente automatiquement vers le soleil ou n'importe quelle source lumineuse de la lumière comme le soleil. Si vous placez des panneaux solaires sur ce robot, il peut augmenter leur productivité de 90 à 95 %
Robopod l’Arduino alimenté par Robot

Robopod l’Arduino alimenté par Robot

Robopod est un robot arduino simple qui utilise des antennes pour détecter les obstacles. Moteurs de Robopod sont contrôlées par un pont en H et alimentés par une pile de 9 volts.  Circuit de Robopods est basé sur une maquette pour modification facil