Home > Technologie > Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

0
Advertisement

Arduino Wanderroboter (Improvisiert)

Dies ist ein Tutorial, wie man einen Arduino Roboter, der Wunder um und zu vermeiden Wände und andere Hindernisse zu machen. Es ist eine sehr einfache Sache zu tun und basiert für Anfänger und sie zu lehren und sie in Robotik, es macht Spaß zu tun, ich weiß, mein Hund liebt dies, bellt es und jagt es um das Haus.

(Sorry, das ist nicht eine sehr gute instrustruable, das ist meine erste und immer noch ein Hang davon.)

Schritt 1: Kurse

Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

Sammeln Sie Ihre Artikel:

Arduino Uno oder Mega: http: //www.freetronics.com.au/products/eleven#.VZ ... // uno Link

H-Brücke Schild: http: //www.freetronics.com.au/products/eleven#.VZ ...

Ultra Sonic Sensor: http: //www.freetronics.com.au/products/eleven#.VZ ...

Chassis: http: //www.freetronics.com.au/products/eleven#.VZ ...

Batterien: Ich schlage vor, 3 9v Batterien

Werkzeuge:

(Sie brauchen nicht wirklich Werkzeuge, aber vielleicht ...)

Abisolierzangen

Lötkolben

Zange

Schritt 2: Verdrahtung

Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

Arduino Wanderroboter (Improvisiert)

Beginnen Sie mit dem Arduino Uno;

Setzen Sie den H-Brückenschirm auf die Oberseite; (Sicherstellen, dass die Stifte alle an den richtigen Stellen sind)

Verbinden Sie den Sensor mit dem Schirm, setzen Sie den "Trigon" auf Pin 10: stellen Sie das "Echo" auf Pin 9: und dann Gnd auf GND und Positiv auf 5V;

Verbinden Sie 2 9v Batterien zum Schild; (Tun Sie es in einer Reihenschaltung)

Fügen Sie die 2 Gleichstrommotoren den Eingängen hinzu;

Schritt 3: Aufsetzen des Chassis

Arduino Wanderroboter (Improvisiert)

Es sollte so etwas aussehen, sobald es fertig ist. Der Sensor sollte sich an der Vorderseite des Chassis befinden. Das Arduino dahinter und dann die Akkus hinter dem Arduino.

(Sorry mein Chassis ist noch nicht angekommen)

Schritt 4: Code

Hier ist mein Code;

Bitte respektiere es hat mir Zeit, dies zu schreiben;

// Code von Jason McLaughlin
// 2015

Const int channel_a_enable = 6;

Const int channel_a_input_1 = 4;

Const int channel_a_input_2 = 7;

Const int channel_b_enable = 5;

Const int channel_b_input_3 = 3;

Const int channel_b_input_4 = 2;

#define trigPin 10

#define echoPin 9

Void setup () {

PinMode (trigPin, OUTPUT);

PinMode (echoPin, INPUT);

PinMode (channel_a_enable, OUTPUT); // Kanal A aktivieren

PinMode (channel_a_input_1, OUTPUT); // Kanal A Eingang 1

PinMode (channel_a_input_2, OUTPUT); // Kanal A Eingang 2

PinMode (channel_b_enable, OUTPUT); // Kanal B aktivieren

PinMode (channel_b_input_3, OUTPUT); // Eingang Kanal B 3

PinMode (channel_b_input_4, OUTPUT); // Eingang Kanal B 4

Serial.begin (9600);

Serial.println ( "Inbetriebnahme"); aufrechtzuerhalten.

Void Schleife () {

// Ping / Ultraschallsensor

Int Dauer, Entfernung;

DigitalWrite (trigPin, HIGH);

DelayMicroseconds (1000);

DigitalWrite (trigPin, LOW);

Dauer = pulseIn (echoPin, HIGH);

Abstand = (Dauer / 2) / 29,1;

Serial.print (Entfernung);

Serial.println (cm);

Verzögerung (0);

//Vorwärts

If (Entfernung> 5) {Serial.println ( "forwards :)";

AnalogWrite (channel_a_enable, 255);

DigitalWrite (channel_a_input_1, HIGH);

DigitalWrite (channel_a_input_2, LOW);

AnalogWrite (channel_b_enable, 255);

DigitalWrite (channel_b_input_3, HIGH);

DigitalWrite (channel_b_input_4, LOW);

Verzögerung (50);

AllInputsOff ();}

Sonst wenn (Abstand <5)

aufrechtzuerhalten.

Else {Serial.println ( "Channel A Idle");

AnalogWrite (channel_a_enable, 0);

DigitalWrite (channel_a_input_1, LOW);

DigitalWrite (channel_a_input_2, LOW);

Verzögerung (50);

AllInputsOff ();}

Wenn (Abstand <5)

{Serial.println ( "Turing");

AnalogWrite (channel_a_enable, 255);

DigitalWrite (channel_a_input_1, LOW);

DigitalWrite (channel_a_input_2, HIGH);

AnalogWrite (channel_b_enable, 255);

DigitalWrite (channel_b_input_3, HIGH);

DigitalWrite (channel_b_input_4, LOW);

Verzögerung (50);

AllInputsOff ();}

Sonst if (Entfernung> 5) {}

sonst

{Serial.println ( "Channel A reverse Idle");

AnalogWrite (channel_a_enable, 0);

DigitalWrite (channel_a_input_1, LOW);

DigitalWrite (channel_a_input_2, LOW);

Verzögerung (50);

AllInputsOff ();}

aufrechtzuerhalten.

Void allInputsOff ()

{

DigitalWrite (4, LOW);

DigitalWrite (7, LOW);

DigitalWrite (6, LOW);

DigitalWrite (3, LOW);

DigitalWrite (2, LOW);

DigitalWrite (5, LOW);

aufrechtzuerhalten.

Related Reading