Buggy rolstoel Robot (9 / 10 stap)

Stap 9: hersenen


ik heb een kopie van mijn programma geplakt.  Ja, ik gebruikte Goto opdrachten... Ja, ik weet dat velen van u hen haten. Ze werkte voor wat ik nodig had. Ik sta echter open voor een constructieve bijdrage aan dit project.

Ik heb niet een programma geschreven sinds GWbasic. Old school die ik weet. Ik realiseer me dat dit programma kijkt een partij zoals een fundamentele flashback. Het werkt echter alleen als ik wilde.

/*
ROBOT STATION
Stephen J. Gardiner, CPS

Gemaakte 2012
Stephen J. Gardiner, CPS

*/
de code van de bibliotheek omvatten:
#include < LiquidCrystal.h >

initialiseren van de LCD-bibliotheek
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

Const int ledPin = 16;      de pin SYSTEEMMACHT rijden
Const int lCdPin = 13;      lCdPin
Const int redPin = 8;       OVERMATIGE RIT BEZIG
Const int FASTPin = 14;     Speed-up
Const int SLOWPin = 15;     Snelheid-Down
Const int pwm1Pin = 9;      PWM Pin 1
Const int pwm2Pin = 10;     PWM Pin2
int incomingByte;           een variabele om inkomende seriële gegevens in te lezen
int OVERRIDEOFF;

VOID Setup {}

Serial.begin(9600);         seriële communicatiepoorten te initialiseren:
Initialiseer de pinnen van de controle als een uitgangen:
pinMode (ledPin, OUTPUT);
pinMode (lCdPin, OUTPUT);
pinMode (redPin, OUTPUT);
pinMode (FASTPin, uitvoer);
pinMode (SLOWPin, uitvoer);
pinMode (pwm1Pin, OUTPUT);
pinMode (pwm2Pin, OUTPUT);


LCD.begin(16,4);            de LCD's aantal kolommen en rijen instellen:

lcd.setCursor (0, 0);        Een bericht op het LCD-scherm afdrukt.
digitalWrite (lCdPin, hoge);
LCD.Print ("ON-LINE");
Serial.Print ("Robot controle v6.1");
Serial.Print("\r");
Serial.Print("on-line");
Serial.Print("\r");
delay(1000);
digitalWrite (lCdPin, laag);
}

void loop {}
Stel de cursor op de kolom 0, lijn 1
(Opmerking: lijn 1 is de tweede rij, aangezien tellen met 0 begint):
lcd.setCursor(0,0);
lcd.setCursor(0,3);
int val1 = 100;             variabele op te slaan, DUTY CYCLE F + B
int val2 = 100;             variabele op te slaan, DUTY CYCLE L + R
analogWrite(pwm1Pin,val1);  DRIVE VOLTAGE NAAR 2.5 (+/-) INSTELLEN
analogWrite(pwm2Pin,val2);  DRIVE VOLTAGE NAAR 2.5 (+/-) INSTELLEN

zien of er binnenkomende seriële data:
Als (Serial.available() > 0) {}

Lees de oudste byte in de seriële buffer:
Ja ik weet Goto opdrachten, Ya'll hatem' ik werkt voor mij
incomingByte = Serial.read();
Als (incomingByte == ' o ') {goto DRIVEPOWER;}
Als (incomingByte == 'T') {goto OVERRIDEON;}
Als (incomingByte == 'C') {goto OVERRIDEOFF;}
Als (incomingByte == 'I') {goto sneller;}
Als (incomingByte == had') {goto TRAGER;}
Als (incomingByte == 'F') {goto vooruit;}
Als (incomingByte == 'B') {goto BACKWARD;}
Als (incomingByte == 'L') {goto links;}
Als (incomingByte == 'R') {goto recht;}
Serial.Print ("Robot controle v6.1");
LCD.Print ("READY");
Serial.Print("\r");
terugkeer;

Als er een hoofdletter O Schakel het station:
{DRIVEPOWER:
digitalWrite (ledPin, hoge);
digitalWrite (lCdPin, hoge);
LCD.Print ("DRIVE systeem POWER");
Serial.Print ("DRIVE systeem POWER");
delay(500);
lcd.setCursor(0,0);
digitalWrite (ledPin, laag);
delay(500);
digitalWrite (lCdPin, laag);
int val = 169;
LCD.Clear();
Serial.Print("\r");
Serial.Flush();
terugkeer;

}

{OVERRIDEON:
Als het een T OVERSCHRIJVEN op:
digitalWrite (redPin, hoge);
digitalWrite (lCdPin, hoge);
LCD.Print ("overmatige rit ENGAGED");
Serial.Print ("overmatige RIDE bezig");
delay(500);
lcd.setCursor(0,0);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
Als het een C OVERSCHRIJVEN uitgeschakeld is:
{OVERRIDEOFF:
digitalWrite (redPin, laag);
digitalWrite (lCdPin, hoge);
LCD.Print ("overmatige RIDE DIS bezig");
Serial.Print ("overmatige RIDE DIS bezig");
delay(1000);
lcd.setCursor(0,0);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Print("\r");
Serial.Flush();
terugkeer;
}
Als er een F te verhogen snelheid
{SNELLER:
digitalWrite (FASTPin, hoge);
digitalWrite (lCdPin, hoge);
LCD.Print ("sneller");
Serial.Print ("sneller");
delay(500);
lcd.setCursor(0,0);
digitalWrite (FASTPin, laag);
delay(500);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
Als er een hoofdletter S aan de lagere snelheid
{TRAGER:
digitalWrite (SLOWPin, hoge);
digitalWrite (lCdPin, hoge);
LCD.Print ("TRAGER");
Serial.Print ("langzamer");
delay(500);
lcd.setCursor(0,0);
digitalWrite (SLOWPin, laag);
delay(500);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
{NAAR VOREN:
digitalWrite (lCdPin, hoge);
LCD.Print ("vooruit");
Serial.Print ("vooruit");

int val2 = 200;                variabele @ 200 DUTY CYCLE = doorsturen
analogWrite(pwm2Pin,val2);     DRIVE VOLTAGE INGESTELD OP VOORWAARTS
delay(1000);
lcd.setCursor(0,0);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
{ACHTERUIT:
digitalWrite (lCdPin, hoge);
LCD.Print ("BACKWARD");
Serial.Print ("achteruit");
int val2 = 50;                 variabele @ 75 DUTY CYCLE = achterwaarts
analogWrite(pwm2Pin,val2);     SET STATION-VOLTAGE OM ACHTERUIT
delay(1000);
lcd.setCursor(0,0);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
{LINKS:
digitalWrite (lCdPin, hoge);
LCD.Print ("links");
Serial.Print ("links");
int val1 = 50;                  variabele @ TAAKCYCLUS van 100 = links
analogWrite(pwm1Pin,val1);      DRIVE VOLTAGE NAAR LINKS INSTELLEN
delay(1000);
lcd.setCursor(0,0);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
{RECHT:
digitalWrite (lCdPin, hoge);
LCD.Print ("recht");
Serial.Print ("recht");
int val1 = 220;                  variabele @ 200 DUTY CYCLE = rechts
analogWrite(pwm1Pin,val1);       SET STATION-SPANNING NAAR RECHTS
delay(1000);
lcd.setCursor(0,0);
digitalWrite (lCdPin, laag);
LCD.Clear();
Serial.Flush();
Serial.Print("\r");
terugkeer;
}
}
}

Gerelateerde Artikelen

Ultieme UpCycling: $40 rolstoel Robot

Ultieme UpCycling: $40 rolstoel Robot

ik moest doen wat onderzoek op slimme rolstoel technologie, en wat een betere manier om het te doen dan op een werkelijke rolstoel?Nou, was de betere manier upcycling 3 gebroken rolstoelen in één werkende rolstoel gebaseerde robot. Totale kosten voor
Hersenen-gecontroleerde rolstoel Robot

Hersenen-gecontroleerde rolstoel Robot

onze onafhankelijkheid Project indiening is uit te breiden onze vorige Brain-Controlled rolstoel project (1e prijswinnaar van de uitdaging van de gezondheid Humana in coördinatie met jerkey) in een nieuw ontwerp dat gebruikmaakt van een revolutionair
Bouw uw eigen Butler Robot!!!  -Tutorial, foto's en Video

Bouw uw eigen Butler Robot!!! -Tutorial, foto's en Video

bewerken: meer informatie over mijn projecten Bekijk mijn nIk doe ook consulting voor speciale effecten projecten/producten, Robotica en mechatronica. Kijk op mijn website - narobo.com voor meer details.Ooit wilde een butler-robot die tegen je praat,
6 wielen R/C kruiwagen met pneumatische Dump

6 wielen R/C kruiwagen met pneumatische Dump

Dit project begon leven gonna be een r/c grasmaaier. Het heeft nu morphed in deze zes wielen creatie. Als u bovenstaande video niet bekijken Klik hier.Stap 1: UPDATE! ZIE DE VIDEO HIERONDER. Dank u.Stap 2: Robot: materialen & ToolsMaterialen: Elektri
Gebaar, stem, joystick op basis rolstoel voor gehandicapten!

Gebaar, stem, joystick op basis rolstoel voor gehandicapten!

Elektronische rolstoelen zijn belangrijke motoriek apparaten voor gehandicapten en senior, en ze worden steeds belangrijker in onze vergrijzende samenleving. Daarom is veiliger en comfortabeler "intelligente rolstoelen" verwachting worden ontwik
Bedfellow Robot Bed

Bedfellow Robot Bed

Bedfellow is een autonome robot bed dat nieuwe engagementen opzoekt. Met andere woorden, heb ik robotized mijn persoonlijke bed om te socialiseren en zich met anderen te delen.Misschien een beetje meer van een toelichting is in orde. Een bedfellow ka
Aanpasbaar rolstoel voor gehandicapte honden

Aanpasbaar rolstoel voor gehandicapte honden

Een paar maanden geleden ontdekten we Luisa, een gehandicapte puppy die werd geboren zonder voorpoten op de website van een organisatie voor de bescherming van dieren (www.pro-tier.de) en besloten tot de bouw van een 3D-gedrukte rolstoel voor haar. I
Fundamentele tank-station robot controle over Bluetooth mbed met de Freescale K64F

Fundamentele tank-station robot controle over Bluetooth mbed met de Freescale K64F

Dit Instructable is gebaseerd op deze eerdere werk die laat hoe om te controleren van een typische tank-station stijl robot met behulp van de Arduino en een Android app zien, zoals weergegeven in deze RC auto voor Android Instructable.Ik heb gebruikt
K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

K-9 2.0. WiFi gecontroleerde en autonome Robot hond.

OPMERKING:In stap 22, heb ik gepost een update, verklaren sommige recente veranderingen/verbeteringen die ik, voornamelijk K-9 van elektrische systeem gemaakt heb en de sensor array, die u kunt nuttig vinden.FunctiesStevige houten (MDF) en acryl desi
Hoe maak je een low-cost Mobile Robot-platform

Hoe maak je een low-cost Mobile Robot-platform

Dit Instructable is over het bouwen van een robot basis ter ondersteuning van uw experimenten.Dit Instructable is bedoeld voor iedereen aan de slag op een laagspanning mobiel platform. Andere lezers kunnen vinden iets interessants hier ook dat uw kil
Hersenen-gecontroleerde rolstoel

Hersenen-gecontroleerde rolstoel

Hello!  Een heleboel mensen hebben geschreven ons zeggen ze een rolstoel Brain-Controlled aan het opbouwen zijn, en dat is geweldig!  We kijken ernaar uit om te helpen die u door de harde delen krijgen, maar sommigen van u hoeft niet alle hulp (missc
R/C Lego® "The Bull" Buggy

R/C Lego® "The Bull" Buggy

er zijn meer dan 20 modellen van LEGO®van Duin Buggy type auto, zelfs meer dan de modellen in de categorie LEGO® raceauto.Dune Buggy is meestal vier wielen rijden uit wegvoertuig, die niet gebruikt zou worden op de weg.Nu dat ik enthousiast over de "
Steampunk style demi-droid EZ-Robot controlled

Steampunk style demi-droid EZ-Robot controlled

FRED (vriendelijke Robotic Entertainment Droid) is dat een Instructable geïnspireerd "Steampunk" stijl demi-droid is gemaakt van gerecyclede metalen en bossen. Haar hoofd is een inspiratie uit verschillende YT voorbeelden. De ogen zijn handgemaa
Sparky - DIY Web-Based Telepresence Robot

Sparky - DIY Web-Based Telepresence Robot

de naam Sparky is gebaseerd op een acroniem voor zelf portret artefact Roving Chassis ik een lastige titel voor een kunstproject begonnen in de vroege jaren 90. Sinds die tijd Sparky geëvolueerd van een oversized RC speelgoed met een paar baby monito