Easy licht van de Arduino Robot na (4 / 4 stap)

Stap 4: Code

Respecteer dat het duurde een tijdje om erachter te komen en het schrijven van deze code:

Code door Jason McLaughlin

2015

Const int channel_a_enable = 6; starten van de motor een /left

Const int channel_a_input_1 = 4; positieve/negatieve 1

Const int channel_a_input_2 = 7; positieve/negatieve 2

Const int channel_b_enable = 5; Start motor b /right

Const int channel_b_input_3 = 3; positieve/negatieve 1

Const int channel_b_input_4 = 2; positieve/negatieve 2

Const int RightSensor = a1 worden verkregen; Lees de juiste sensor

Const int LeftSensor = A2; Lees de linker sensor

Variabele definities

int SensorLeft; Deze slaat de waarde van de pin van de Sensor van de links te gebruiken later in de schets

int SensorRight; Deze slaat de waarde van de pin van de Sensor van het recht gebruik later in de schets

int SensorDifference; Deze waarde wordt gebruikt om te bepalen van het verschil tussen links en rechts

VOID Setup {}

pinMode (channel_a_enable, OUTPUT); Kanaal A inschakelen

pinMode (channel_a_input_1, OUTPUT); Kanaal A ingang 1

pinMode (channel_a_input_2, OUTPUT); Kanaal A ingang 2

pinMode (channel_b_enable, OUTPUT); Kanaal B inschakelen

pinMode (channel_b_input_3, OUTPUT); Kanaal B ingang 3

pinMode (channel_b_input_4, OUTPUT); Kanaal B ingang 4

pinMode (LeftSensor, INPUT); Hiermee definieert u deze pin als input. De Arduino leest waarden uit deze pin.

pinMode (RightSensor, INPUT); Hiermee definieert u deze pin als input. De Arduino leest waarden uit deze pin.

digitalWrite (A1, hoge); Hiermee LDR

digitalWrite (A2, hoge); Hiermee LDR

Serial.begin(9600); Kan een seriële verbinding met behulp van de Arduino USB of UART (pinnen 0 & 1). Merk op dat de baud-rate is ingesteld op 9600

Serial.println ("\nBeginning-licht op zoek naar gedrag"); Aan het eind van de void setup zo geplaatst dat het is loopt eenmaal, vlak voor de void loop}

void loop {SensorLeft = 1023 - analogRead(LeftSensor); / / dit leest de waarde van de sensor, dan slaat het op het bijbehorende gehele getal.

delay(1);

SensorRight = 1023 - analogRead(RightSensor); Dit leest de waarde van de sensor, dan slaat het op het bijbehorende gehele getal.

delay(1);

SensorDifference = abs (SensorLeft - SensorRight); Dit berekent het verschil tussen de twee sensoren en slaat het op een geheel getal.

Dit gedeelte van de schets wordt gebruikt voor het afdrukken van de waarden van de / / sensoren door middel van seriële naar de computer. Nuttig voor het bepalen van / / als de sensoren werkt en als de code ook goed werkt.

Serial.Print ("Sensor links ="); De tekst binnen de aanhalingstekens wordt afgedrukt.

Serial.Print(SensorLeft); Wordt de waarde van de Sensor links afgedrukt.

Serial.Print("\t"); Wordt een tabblad (spatie) afgedrukt.

Serial.Print ("Sensor rechts ="); De tekst binnen de aanhalingstekens wordt afgedrukt.

Serial.Print(SensorRight); Drukt de waarde van de recht-Sensor.

Serial.Print("\t"); Wordt een tabblad (spatie) afgedrukt.

Dit gedeelte van de schets is wat interperets eigenlijk de gegevens en voert de motoren dienovereenkomstig.

Als (SensorLeft > SensorRight & & SensorDifference > 75) {/ / Dit is geïnterpreteerd alsof de linker sensor meer leest licht dan de rechts-Sensor, dit doen:

analogWrite (channel_a_enable, 255);

digitalWrite (channel_a_input_1, laag);

digitalWrite (channel_a_input_2, hoge);

analogWrite (channel_b_enable, 255);

digitalWrite (channel_b_input_3, hoge);

digitalWrite (channel_b_input_4, laag);

Serial.println("left"); Dit drukt links wanneer de robot zou eigenlijk linksaf.

delay(50);

}

Als (SensorLeft < SensorRight & & SensorDifference > 75) {/ / Dit is geïnterpreteerd alsof de linker sensor minder leest licht dan de rechts-Sensor, dit doen:

analogWrite (channel_a_enable, 255);

digitalWrite (channel_a_input_1, hoge);

digitalWrite (channel_a_input_2, laag);

analogWrite (channel_b_enable, 255);

digitalWrite (channel_b_input_3, laag);

digitalWrite (channel_b_input_4, hoge);

Serial.println("right"); Dit drukt recht wanneer de robot zou eigenlijk turn Right.

delay(50);

}

else if (SensorDifference < 75) {/ / Dit is geïnterpreteerd alsof het verschil tussen de twee sensoren onder 125 (Experiment is aan onze sensoren), dit doen:

analogWrite (channel_a_enable, 255);

digitalWrite (channel_a_input_1, hoge);

digitalWrite (channel_a_input_2, laag);

analogWrite (channel_b_enable, 255);

digitalWrite (channel_b_input_3, hoge);

digitalWrite (channel_b_input_4, laag);

Serial.println("Forward"); Dit drukt Forward wanneer de robot eigenlijk vooruit zou gaan.

delay(50);

}

Serial.Print("\n");

}

Gerelateerde Artikelen

Licht van de Arduino Robot na

Licht van de Arduino Robot na

OverzichtDit instructable zal gebruik maken van drie photoresistors (licht afhankelijke weerstand) en een Arduino om controle van de beweging van een robot. Een gemeenschappelijk robot chassis kan worden gebruikt voor de robot. De lichte sensoren zal
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
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
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