Stap 3: Integratie van licht sensoren
VOID Setup {}
pinMode ("analoge pin", INPUT);
digitalWrite ("analoge pin", hoge);
}
Deze manier, alles wat u hoeft te doen is een pin van de LDR sluit aan op de analoge input pin, en de andere pin aan grond.
Met behulp van deze code, kunt u de waarden van de twee lichtsensoren lezen en deze vervolgens weergeven via de seriële monitor. Dit is het eerste deel van de robot. Later zullen we de waarden van de lichtsensor gebruiken om motoren dienovereenkomstig.
De fysieke opstelling is eenvoudig. Sluit één pin van beide licht sensoren aan de grond, de andere twee pinnen twee analoge ingang 1 en 2.
Analoge pin 1 is voor de juiste sensor, analoge ingang 2 voor het linker sensor.
Code kopiëren vanaf dit punt:
/****************************************************************************************************************
-Programma voor het lezen van de twee LDRs
* gemaakt door: Anuj
* (c) copyright
*
*
* Fysieke installatie:
* Twee LDRs aangesloten op grond en analoge pin 1(Right) en analoge pin 2(left)
*
*
******************************************************************************************************************/
Met behulp van de Arduino Duemilinove
PIN definities - hecht een variabele aan een pin.
Const int RightMotor = 2; Deze pin wordt gebruikt om in- of uitschakelen van de juiste motor. Verbonden aan de basis van een NPN-transistor.
Const int LeftMotor = 3; Deze pin wordt gebruikt om in- of uitschakelen van de linker motor. Verbonden aan de basis van een NPN-transistor.
Const int RightSensor = 1; Deze pin wordt gebruikt om te lezen van de waarde van de recht-Sensor.
Const int LeftSensor = 2; Deze pin wordt gebruikt om de waarde van de Sensor links lezen.
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
de Setup-methode wordt uitgevoerd zodra wanneer het programma wordt uitgevoerd. Wanneer de
Arduino wordt teruggesteld, de Setup wordt opnieuw uitgevoerd.
VOID Setup {}
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); Maakt een interne pullup weerstand
digitalWrite (A2, hoge); Maakt een interne pullup weerstand
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 ("\nReading lichtsensoren."); Aan het eind van de void setup zo geplaatst dat het is loopt eenmaal, vlak voor de void loop
}
de loop-methode wordt uitgevoerd over en weer,
zolang de Arduino macht heeft
void loop {}
SensorLeft = analogRead(LeftSensor); Dit leest de waarde van de sensor, dan slaat het op het bijbehorende gehele getal.
delay(1); de vertraging kan de analoog naar digitaal converter IC te herstellen voor de volgende lezing.
SensorRight = analogRead(RightSensor); Dit leest de waarde van de sensor, dan slaat het op het bijbehorende gehele getal.
delay(1); de vertraging kan de analoog naar digitaal converter IC te herstellen voor de volgende lezing.
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 werken en als de code ook goed werkt.
Dit staat bekend als de foutopsporing.
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("\n"); Wordt een nieuwe lijn afgedrukt immers de nodige gegevens worden weergegeven.
}