Hi
Can you provide me a example for the Grove Encoder (D2) connected to GrovePi+ board?
I tried following code but I always receive zeros.
import time
import grovepi
import atexit
atexit.register(grovepi.encoder_dis)
print "Reading from the encoder"
grovepi.encoder_en()
while True:
try:
[new_val,encoder_val] = grovepi.encoderRead()
if new_val:
print encoder_val
time.sleep(.5)
except IOError:
print ("Error")"
and this is definations;
"def encoder_en():
write_i2c_block(address, encoder_en_cmd + [unused, unused, unused])
time.sleep(.2)
def encoder_dis():
write_i2c_block(address, encoder_dis_cmd + [unused, unused, unused])
time.sleep(.2)
def encoderRead():
write_i2c_block(address, encoder_read_cmd + [unused, unused, unused])
time.sleep(.2)
data_back= bus.read_i2c_block_data(address, 1)[0:2]
#print data_back
if data_back[0]!=255:
return [data_back[0],data_back[1]]
else:
return [-1,-1]
"
If you can also suggest how to change D2 to other port to test the GrovePi+ or Grove encoder has a problem.
Thank you