Stap 3: LDRs + Arduino = een eenvoudige robot die het licht kan voelen!
Hieronder is een voorbeeld van de code om te worden geüpload naar de Arduino:
...
void loop
{
Lees de werkelijke waarden van de LDRs en aftrekken met de eerste sensor lezen, moet het worden gedaan om te bepalen van een oorspronkelijke toestand die zal worden
gebruikt als een referentiepunt voor alle gedragingen.
_leftSensorReading = analogRead(SENSOR_LEFT) - _leftSensorDif;
_rightSensorReading = analogRead(SENSOR_RIGHT) - _rightSensorDif;
delay(100);
Als de waarden hoger dan de snelheid van de servo's zijn, moet u vervolgens calibrateSensors() methode aanroepen.
Als (_leftSensorReading > MAX_VEL * 3 || _leftSensorReading < MAX_VEL *-3) calibrateSensors();
Als (_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);
gaan (LEFT_FORW, leftForward);
gaan (LEFT_BACK, leftBackward);
gaan (RIGHT_FORW, rightForward);
gaan (RIGHT_BACK, rightBackward);
}
...
En hieronder kun je zien werken.
Voel u vrij om te posten uw mening.
Bedankt.