Licht van de Arduino Robot na (6 / 6 stap)

Stap 6: Arduino code


Arduino code en kalibratie. Uploaden van de code die hieronder wordt gegeven aan de Arduino en volg de aanwijzingen van de kalibratie hieronder de code.

/ * Zaklamp na Robot, Code 3/25/2014

Deze code maakt gebruik van drie lichte afhankelijke weerstanden geplaatst
aan de rechterkant, de voorkant en de linker zijden van een robot te controleren
beweging. Wanneer licht van voldoende sterkte valt op een van
de sensoren, de robot draait rechts, naar voren beweegt of draait
links.
*/

Motorische controle pinnen
int E1 = 5; Laat speld voor juiste motor
int M1 = 4; Snelheid controle pin voor linker motor
int E2 = 6; Pin voor de linker motor inschakelen
int M2 = 7; Snelheid controle pin voor juiste motor

De volgende motor snelheden worden bepaald door experiment
zodat de robot vooruit in een rechte lijn gaat.
int leftMotorSpeed = 215;
int rightMotorSpeed = 185;

int sensorPinRight = 0; Juiste sensor pin
int sensorPinCenter = 1; Centrum pin van de sensor
int sensorPinLeft = 2; Linker sensor pin

int lightReadingRight;
int lightToleranceRight = 1000; Sensor lezen moest leiden tot rechtsaf

int lightReadingCenter;
int lightToleranceCenter = 1000; Sensor lezen moest leiden tot voorwaartse beweging

int lightReadingLeft;
int lightToleranceLeft = 1000; Sensor lezen moest leiden tot linksaf

int readingDelay = 100; De wachttijd tussen de lezingen

VOID Setup
{
pinMode(M1,OUTPUT);
pinMode(M2,OUTPUT);

Uncomment de seriële feed voor calibratie doeleinden
Serial.begin(9600);
}

void loop
{
Uncomment de regels seriële afdrukken voor calibratie doeleinden

Neem lezing van juiste sensor
lightReadingRight = analogRead(sensorPinRight);
Serial.Print ("rechts Sensor lezen:");
Serial.println(lightReadingRight);

Neem lezing van centrum sensor
lightReadingCenter = analogRead(sensorPinCenter);
Serial.Print ("Centreren sensorgegevens:");
Serial.println(lightReadingCenter);

Neem lezing van links sensor
lightReadingLeft = analogRead(sensorPinLeft);
Serial.Print ("links sensorgegevens:");
Serial.println(lightReadingLeft);

Vooruit als voldoende licht van centrum sensor wordt gevonden
Als (lightReadingCenter > lightToleranceCenter)
{
digitalWrite (M1, hoge);
digitalWrite (M2, hoge);
analogWrite (E1, leftMotorSpeed);
analogWrite (E2, rightMotorSpeed);
delay(readingDelay);
Stop
digitalWrite (M1, laag);
digitalWrite (M2, laag);
analogWrite (E1, 0);
analogWrite (E2, 0);
}

Sla rechtsaf als voldoende licht van juiste sensor wordt gevonden
Als (lightReadingRight > lightToleranceRight)
{
digitalWrite (M1, laag);
digitalWrite (M2, hoge);
analogWrite (E1, leftMotorSpeed);
analogWrite (E2, rightMotorSpeed);
delay(readingDelay);
Stop
digitalWrite (M1, laag);
digitalWrite (M2, laag);
analogWrite (E1, 0);
analogWrite (E2, 0);
}

Linksaf als voldoende licht van links sensor wordt gevonden
Als (lightReadingLeft > lightToleranceLeft)
{
digitalWrite (M1, hoge);
digitalWrite (M2, laag);
analogWrite (E1, leftMotorSpeed);
analogWrite (E2, rightMotorSpeed);
delay(readingDelay);
Stop
digitalWrite (M1, laag);
digitalWrite (M2, laag);
analogWrite (E1, 0);
analogWrite (E2, 0);
}
delay(5000); Uncomment deze lange vertraging voor motor calibratie doeleinden
}

Met deze code geüpload naar de robot, koppel de motoren en open de seriële monitor een kijkje nemen op de lezingen van de lichte sensoren. Ik deed mijn kalibratie in normale kamer licht. Elk van de ongedekte sensoren gaf lezingen in het bereik van 1000 tot 1100. Ik heb aangepast langzaam de grastrimmers totdat elke sensor Lees ongeveer 1000. Een beetje meer of een beetje minder is goed. Wanneer ik verdoezeld een sensor van licht, zakte de lezing naar de hoge 800s tot lage 900s. In de Arduino code stel ik de tolerantie van de drie variabelen; lightToleranceLeft, lightToleranceRight, en lightToleranceCenter tot 1000. Dus, wanneer de robot in duisternis is, alle lezingen zullen hieronder het triggerniveau van 1000. Wanneer een zaklamp in een sensor wordt weergegeven, zal de sensorgegevens gaan boven het triggerniveau en activeer de juiste beweging van de robot.

De specifieke nummers die ik voor mijn specifieke sensoren gebruikte zijn niet belangrijk. Belangrijk is dat je de sensor lezingen naar de seriële monitor sturen om hun ambient licht lezing. Dan pas langzaam de grastrimmers op de sensoren totdat de lezingen van alle drie sensoren ongeveer hetzelfde zijn. Vervolgens verdoezelen elke sensor en moet je een lagere lezing. Stel uw tolerantie variabelen om wat te lezen in de buurt van de ambient licht lezing. Een zaklamp schijnen op de sensor moet dan beroep doen op een lezing die hoger is dan de tolerantie, dus het activeren van de robot.

Een laatste ding met betrekking tot de kalibratie. Aan de onderkant van de Arduino-code is een commentaar lijn met een vertraging van vijf seconden. Ik uncommented deze regel om ervoor te zorgen dat de motoren correct zijn aangesloten. Met de robot geschorst van de grond, de code uitvoert met de robot in het donker. Een licht schijnen op de voorste sensor en met je handen voelen die manier de wielen draaien. Als een van hen in beweging achteruit in plaats van vooruit is, schakelen de positie van de draden van die motor op de motor schild. Vervolgens een licht schijnen op de juiste sensor en het gevoel van de wielen. Het juiste wiel moet gaan achteruit en het linker wiel moet gaan. Als het tegendeel gebeurt, ruilen de motor posities. M1 + wordt M2 + en M1 - M2- en vice versa. Ten slotte, commentaar uit de vijf seconden vertraging en de code opnieuw te uploaden. De robot moet klaar om te gaan.

Gerelateerde Artikelen

Easy licht van de Arduino Robot na

Easy licht van de Arduino Robot na

Dit is een tutorial over hoe te maken van een lichte volgende robot met behulp van Arduino, zodat beginners kunnen proberen dit project ook is vereenvoudigd. Dit project zou u slechts moeten nemen op het grootste deel van een uur. Ik hoop dat u genie
Ben - een licht volgende Breadboard Arduino Robot

Ben - een licht volgende Breadboard Arduino Robot

Ben het licht volgende Breadboard Arduino Robot is de tweede robot die ik gemaakt heb om te helpen robotica aan middelbare scholieren in een klasse die ik vrijwillig leren onderwijzen. De eerste robot heeft ook zijn eigen Instructable die kan hier wo
Gids voor beginners aan de opbouw van de Arduino robots met Bluetooth en Android

Gids voor beginners aan de opbouw van de Arduino robots met Bluetooth en Android

In deze tutorial gaan we om te gaan over het bouwen van een Arduino robot die kan worden aangestuurd via bluetooth met een Android telefoon/tablet. Dit is een beginnersgids die gaat kort over het proces van bedrading en programmeren van uw robot.Stap
Remote Controlled Arduino Robot met behulp van Wixel Transceivers

Remote Controlled Arduino Robot met behulp van Wixel Transceivers

UPDATE JAN 2012: dit project werd gekenmerkt op de Pololu website onder Resources/Community projecten.  http://www.Pololu.com/resources/communityprojectsINTRODUCTIEIn dit project, gebruik ik twee Pololu Wixel transceivers op afstand bedienen van een
Arduino Robot V2 (snel) ook stem gecontroleerde

Arduino Robot V2 (snel) ook stem gecontroleerde

Dit is mijn tweede versie van mijn arduino robot na 'Build uw eerste robot'. Mijn tweede versie is enigszins ingewikkeld in vergelijking met mijn ene maar biedt betere mogelijkheden. In dit instructable ga ik om u te tonen hoe het bouwen van een snel
Gebruik van een Arduino met een N64-controller

Gebruik van een Arduino met een N64-controller

er zijn tutorials die er voor het gebruik van een NES-controller met een Arduino, maar met behulp van de meer gecompliceerde N64-controller en de analoge joystick heeft een duidelijke aantrekkingskracht. Als u een Arduino rond hebt en wil niet te kop
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,
Johnny5 Arduino Robot DfRobotshop rover met afstandsbediening html interface

Johnny5 Arduino Robot DfRobotshop rover met afstandsbediening html interface

In deze post ik stap voor stap uitleggen hoe ik het opbouwen van een Arduino Robot gebaseerd en programmeren met Javascript. Ik uitleggen welke ontwerpkeuzen ik gemaakt, welke kaders en technologieën die ik gebruikt en hoe ik program en de robot geco
Arduino Robot (geïmproviseerde) dwalen

Arduino Robot (geïmproviseerde) dwalen

Dit is een tutorial over hoe te maken van een Arduino robot die zal wonder rond en vermijd muren en andere obstakels. Het is een zeer eenvoudig om te doen ands voor beginners en om te leren van hen en hun in robotica is gebaseerd, het is leuk om te d
Maken van een Arduino gecontroleerd licht-volgende bloem Bot

Maken van een Arduino gecontroleerd licht-volgende bloem Bot

In dit project van Arduino gebaseerde, maakt u een "biomimetische," of biologie-geïnspireerde, bloem die een lichtbron volgt. U heeft waarschijnlijk gezien dit probleem in uw kamerplanten! Planten vereisen zonlicht te groeien en bloeien, en &quo
(w / Video) Fundamentele Arduino Robot, lichte Seeker!

(w / Video) Fundamentele Arduino Robot, lichte Seeker!

Vele malen heb ik Googled voor "Arduino Robot" in de hoop het vinden van een robot te bouwen. Ik uiteindelijk vinden vele versies van een obstakel vermijden robot die gebruikmaakt van hetzij een infrarood of een sonar Bereikindicatie sensor gemo
BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

BOUW uw eigen INSECT ROBOT met behulp van de ARDUINO en SERVO

Hey daar, ben ik terug met een meer instructalble. Ik ga je leren hoe te bouwen van een Insect robot met behulp van Arduino en servomotoren. Klinkt cool, toch?. Wat u denkt over het gebruik van deze robot? Vanwege hun compacte formaat, die ze kunnen
Bouw een Robot van de Arduino Gripper met een DynamixShield.

Bouw een Robot van de Arduino Gripper met een DynamixShield.

In dit instructable ik zal u tonen hoe te snel en gemakkelijk bouwen de grijper van een afstandsbediening met behulp van de robot en Arduino nul en een DynamixShield. De DynamixShield is een nieuwe add-on voor de Arduino Due, nul of Mega die ik ben b
Controle licht met behulp van de Arduino met Relais module AC

Controle licht met behulp van de Arduino met Relais module AC

Hallo vrienden! Ik ben Ostin, ik ll laten zien hoe u kunt besturen van een lichte AC met Arduino met behulp van Relais module. Het is een eenvoudig project en ook zeer gevaarlijk als we gaan om met hoogspanning 220v. Probeer niet bent u een amateur i