Last updated
Demo code
{
//------------------------------------------------------------
//Name: Line finder digital mode
//Function: detect black line or white line
//Parameter: When digital signal is HIGH, black line
// When digital signal is LOW, white line
//-------------------------------------------------------------
int signalPin = 3; // connected to digital pin 3
void setup() {
pinMode(signalPin, INPUT); // initialize the digital pin as an output:
Serial.begin(9600); // initialize serial communications at 9600 bps:
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
if(HIGH == digitalRead(signalPin))
Serial.println("black");
else Serial.println("white"); // display the color
//delay(1000); // wait for a second
}
} cd yourpath/GrovePi/Software/Python/ nano grove_line_finder.py # "Ctrl+x" to exit #import time
import grovepi
# Connect the Grove Line Finder to digital port D7
# SIG,NC,VCC,GND
line_finder = 7
grovepi.pinMode(line_finder,"INPUT")
while True:
try:
# Return HIGH when black line is detected, and LOW when white line is detected
if grovepi.digitalRead(line_finder) == 1:
print "black line detected"
else:
print "white line detected"
time.sleep(.5)
except IOError:
print "Error" sudo python grove_line_finder.py