Arduino Robot V2 (snel) ook stem gecontroleerde (10 / 11 stap)

Stap 10: Code


De code kan worden gevonden in de bijlagen. Voel je vrij om de code te wijzigen maar verlaat enkel een commentaar op wat u kwam met het.


Code

#include

Servo servoMain;

float temp;

int tempPin = 0;

int r_motor_n = 2; PWM-controle Motor recht-

int r_motor_p = 4; PWM-controle recht Motor +

int l_motor_p = 5; PWM-controle Motor links +

int l_motor_n = 7; PWM-controle Motor links-

int inschakelen = 3;

int licht = 9;

int enable2 = 6; PWM-CONTROLE-SNELHEID

int speed1 = 0; PWM-controle-snelheid

int incomingByte = 0; voor binnenkomende seriële gegevens

#include

#define TRIGGER_PIN 12 / / Arduino pin gebonden aan pin op de ultrasone sensor te activeren.

#define ECHO_PIN 11 / / Arduino pin gebonden aan echo pin op de ultrasone sensor.

#define MAX_DISTANCE 200 / / maximale afstand die wij wilt pingen voor (in centimeters). Maximale sensor afstand wordt begroot op 400-500cm.

NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); NewPing installatie van pennen en maximale afstand.

VOID Setup

{

servoMain.attach(10);

pinMode (r_motor_n, OUTPUT); Besturingselement instellen pinnen te worden uitgangen

pinMode (r_motor_p, OUTPUT);

pinMode (l_motor_p, OUTPUT);

pinMode (l_motor_n, OUTPUT);

pinMode (inschakelen, uitvoer);

pinMode (enable2, OUTPUT);

pinMode (lichtopbrengst,);

digitalWrite (r_motor_n, laag); beide motoren verrekening voor start-up

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, laag);

digitalWrite (inschakelen, laag);

digitalWrite (enable2, laag);

digitalWrite (light, hoge);

Serial.begin(9600);

Serial.Print ("Whats up im atoom, afgestemd!!! \n");

Serial.Print ("w = vooruit \n");

Serial.Print ("s = achterwaarts \n");

Serial.Print ("d = juiste \n");

Serial.Print ("een = linker \n");

Serial.Print ("f = Stop \n");

Serial.Print ("lame freaks robotics");

}

void loop

{

Als (Serial.available() > 0) {}

Lees de binnenkomende byte:

incomingByte = Serial.read();

}

switch(incomingByte)

{

geval van ': / / control om te stoppen met de robot

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 laag instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, 0);

analogWrite (enable2, 0);

Serial.println("Stop\n");

incomingByte ='* ';

breken;

kast 'R': //control voor recht

digitalWrite (r_motor_n, hoge); Motor richting, 1 hoog, 2 laag instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, hoge);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("right\n");

incomingByte ='* ';

breken;

geval 'L': //control voor links

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 hoog instellen

digitalWrite (r_motor_p, hoge);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, hoge);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("left\n");

incomingByte ='* ';

breken;

Case "F": //control voor forward

digitalWrite (r_motor_n, hoge); Motor richting, 1 hoog, 2 hoog instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, hoge);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("forward\n");

incomingByte ='* ';

breken;

Case "B": //control voor achterwaartse

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 laag instellen

digitalWrite (r_motor_p, hoge);

digitalWrite (l_motor_p, hoge);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("backwards\n");

incomingByte ='* ';

breken;

Case "f":

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 laag instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, 0);

analogWrite (enable2, 0);

Serial.println("Stop\n");

incomingByte ='* ';

breken;

geval zou ':

digitalWrite (r_motor_n, hoge); Motor richting, 1 hoog, 2 laag instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, hoge);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("right\n");

incomingByte ='* ';

breken;

geval 'a':

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 hoog instellen

digitalWrite (r_motor_p, hoge);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, hoge);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("left\n");

incomingByte ='* ';

breken;

Case 'w':

digitalWrite (r_motor_n, hoge); Motor richting, 1 hoog, 2 hoog instellen

digitalWrite (r_motor_p, laag);

digitalWrite (l_motor_p, laag);

digitalWrite (l_motor_n, hoge);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("forward\n");

incomingByte ='* ';

breken;

geval van ':

digitalWrite (r_motor_n, laag); Motor richting, 1 laag, 2 laag instellen

digitalWrite (r_motor_p, hoge);

digitalWrite (l_motor_p, hoge);

digitalWrite (l_motor_n, laag);

analogWrite (inschakelen, speed1);

analogWrite (enable2, speed1);

Serial.println("backwards\n");

incomingByte ='* ';

breken;

geval 'r': / / servo hoeken

servoMain.write(0);

breken;

't geval ':

servoMain.write(45);

breken;

Case 'y':

servoMain.write(90);

breken;

Case 'u':

servoMain.write(135);

breken;

Case 'i':

servoMain.write(180);

breken;

geval ' o ': / / PWM snelheid waarden

speed1 = 0;

breken;

Case '1':

speed1 = 155;

breken;

Case '2':

speed1 = 165;

breken;

Case '3':

speed1 = 175;

breken;

Case '4':

speed1 = 185;

breken;

Case '5':

speed1 = 195;

breken;

Case "6":

speed1 = 205;

breken;

Case '7':

speed1 = 215;

breken;

zaak '8':

speed1 = 225;

breken;

Case '9':

speed1 = 235;

breken;

Case "q":

speed1 = 255;

breken;

geval ben ':

Temp = analogRead(tempPin); Lees de temperatuur

temp temp = * 0.48828125;

Serial.Print ("TEMPRATUUR =");

Serial.Print(temp);

Serial.Print("*C");

Serial.println();

delay(1000);

breken;

kast 'p': / / tijd om te ping thr ultasonic sensor

delay(50); Wachten 50 MS tussen pings (ongeveer 20 pings/sec). 29ms moet de kortste wachttijd tussen pings.

unsigned int ons = sonar.ping(); Ping te sturen, ping tijd in microseconden (VS).

Serial.Print ("Ping:");

Serial.Print(US / US_ROUNDTRIP_CM); Ping tijd omzetten in afstand in cm en print resultaat (0 = buiten bepaalde afstand bereik)

Serial.println("cm");

breken;

delay(5000);

}

}

Steun mij en stemmen, als ik win ik garandeer je dat je tal van projecten zoals dit zien zou en als u eventuele problemen voelen vrij om PM mij.

Gerelateerde Artikelen

2WD stem gecontroleerde Robot met Arduino en BitVoicer Server

2WD stem gecontroleerde Robot met Arduino en BitVoicer Server

In dit Instructable ga ik tonen hoe te om een 2WD spraakgestuurde robot te bouwen. Hoewel ik ben alleen gelijkstroommotoren als wilt verplaatsen de robot controle, dezelfde aanpak kan worden gebruikt voor de controle van de stem stappenmotoren en ser
Stem gecontroleerde Arduino verlichting - Autobot

Stem gecontroleerde Arduino verlichting - Autobot

In dit instructable ik doorloopt het proces en de code om uw Arduino en uw thuis-PC in een stem gecontroleerde opdracht systeem voor verlichting of over iets anders die u met een Arduino bepalen kunt. De stem gecontroleerde arduino verlichting is mij
Arduino stem gecontroleerde Robot met RGB-LED

Arduino stem gecontroleerde Robot met RGB-LED

Hoi is dit mijn eerste project in instructable. Dit is een arduino robot gecontroleerd in drie ways.you kunt bepalen met behulp van spraak, knopbesturingselement en richtingscontrole met behulp van android apps. We kunnen ook een RGB led met Stembedi
Stem gecontroleerde Arduino Drone

Stem gecontroleerde Arduino Drone

De hommels zijn zeer goed speelgoed en hulpmiddelen, maar meestal ze niet geen extra vaardigheden. Ik ben dol op ieder model R/C vliegen en ik wilde even een R/C drone thats een beetje slimmer dan de gebruikelijke modellen. Dat is waarom ik ontwikkel
Arduino stem gecontroleerde robotarm

Arduino stem gecontroleerde robotarm

Heb je ooit gevoeld fustrated doen, ik wens u enerzijds meer had?Nou, zal dit u helpen.Dit is een robot die wat doen kan u wilt gewoon spreken aan bijvoorbeeld je kunt zeggen "up" en de robot zal doen een beetje beweging naar de zijkant dat u ge
Stem gecontroleerde Rover Robot

Stem gecontroleerde Rover Robot

Dit instructable is over het geen seriële gecontroleerde robot besturen met uw stem! Ik zal u tonen de schets van de Arduino gebruikt voor de rover robot en de Microsoft Visual Studio C# windows forms-toepassing. Dit is een zeer eenvoudige taak en ik
Stem gecontroleerde Switch with Arduino

Stem gecontroleerde Switch with Arduino

Dit is voor de eerste keer ben het uploaden van mijn project in Inscrutable. Dus als jullie ieder domme vinden negeren fouten gelieve het.Dus, over mijn project, dit is over de stem bediend lichten geïnspireerd door IRON-MAN film. JARVIS door Michel
4WD alle terrein Arduino Robot voor iedereen

4WD alle terrein Arduino Robot voor iedereen

Ik heb altijd graag robots die zich in ruw terrein verplaatsen kunnen. Deze keer heb ik besloten dat ik zal gebruik maken van kant en klare chassis enigszins wijzigen en het toevoegen van een paar extra onderdelen. Met behulp van een klaar chassis ko
DIY prothese Hand & onderarm (stem gecontroleerde)

DIY prothese Hand & onderarm (stem gecontroleerde)

* UPDATE * wilde Voeg een beetje hoe dit Instructable posten heeft positief beïnvloed mij. Naast de geweldige ontvangst en feedback die ik ontvangen in de wedstrijden en het succes dat heeft gehad in de wedstrijden hielp het me mijn belangen te defin
RC Truck aan Arduino Robot w / meerdere sensoren

RC Truck aan Arduino Robot w / meerdere sensoren

dit instructable heeft betrekking op de omzetting van een RC vrachtwagen in een gecontroleerde Arduino robot. Mijn bedoeling toen begin van dit project was A) om meer te leren over Arduino en programmering B) bouwen een betrouwbare low-cost platform
Maak een stem gecontroleerde voertuig!

Maak een stem gecontroleerde voertuig!

Om deze stem gecontroleerde voertuig, moet u een robotachtige platform, een Arduino board en sommige mp3-modules.Stap 1: Maken van een PlatformHet platform dat ik gebruikt om te bouwen van deze robot was het Cherokey 4WD platform. De eerste stap was
RC auto naar autonome Arduino Robot

RC auto naar autonome Arduino Robot

Hebt u ooit gewenst om te bouwen van een eenvoudige autonome Arduino robot? Ik werd geïnspireerd om het bouwen van een fundamentele Arduino robot om te helpen mijn begrip van de Arduino, de Arduino IDE, en de werking van de ultrasone sensoren en moto
Bob van de Robot - Arduino Robot kader

Bob van de Robot - Arduino Robot kader

Hallo daar collega makers!Ik zocht een mooie robot kader en ik heb geprobeerd uit veel van deze... uiteindelijk (zoals de meeste programmeurs doen) heb ik besloten dat ik mijn eigen robot kader moeten ontwikkelen!Dus wat er zo speciaal aan 'Bob The R
De veelzijdige Arduino Robot

De veelzijdige Arduino Robot

dit is mijn eerste arduino robot, en ik ben heel blij met het resultaat. Wat ik kwam met is een robot die met wijzigingen vrijwel alles op het gebied van kleine arduino robots doen kunt. De elektronica zijn zeer eenvoudig. U hoeft alleen een H-brug,