LDRs + Arduino = en enkel robot som kan känna av ljuset! (3 / 3 steg)
Steg 3: LDRs + Arduino = en enkel robot som kan känna av ljuset!
Nedan är ett exempel på koden till vara belastat upp till Arduino:
...
void loop()
{
läsa de faktiska LDRs värden och subtrahera med den första sensor Läs, måste det göras för att avgöra ett starttillstånd som kommer att
användas som en referenspunkt för alla beteenden.
_leftSensorReading = analogRead(SENSOR_LEFT) - _leftSensorDif;
_rightSensorReading = analogRead(SENSOR_RIGHT) - _rightSensorDif;
Delay(100);
om värdena är högre än den servo hastigheten, sedan anropa calibrateSensors()-metoden.
om (_leftSensorReading > MAX_VEL * 3 || _leftSensorReading < MAX_VEL *-3) calibrateSensors();
om (_rightSensorReading > MAX_VEL * 3 || _rightSensorReading < MAX_VEL *-3) calibrateSensors();
int leftForward = (_rightSensorReading > 0? ((_rightSensorReading > MAX_VEL)? MAX_VEL: _rightSensorReading): 0);
int leftBackward = (_rightSensorReading > 0? (((_rightSensorReading *-1) > MAX_VEL)? MAX_VEL: (_rightSensorReading *-1)): 0);
int rightForward = (_leftSensorReading > 0? ((_leftSensorReading > MAX_VEL)? MAX_VEL: _leftSensorReading): 0);
int rightBackward = (_leftSensorReading > 0? (((_leftSensorReading *-1) > MAX_VEL)? MAX_VEL: (_leftSensorReading *-1)): 0);
gå (LEFT_FORW, leftForward);
gå (LEFT_BACK, leftBackward);
gå (RIGHT_FORW, rightForward);
gå (RIGHT_BACK, rightBackward);
}
...
Och nedan kan du se det fungerar.
Snälla, är välkommen att skicka din åsikt.
Tack.