ev3dev/ev3dev-lang-python

Hello, I'm newbie with EV3DEV and I'm trying to make my absolute sensor working on my ev3.

dlech opened this issue · 5 comments

dlech commented

Hello, I'm newbie with EV3DEV and I'm trying to make my absolute sensor working on my ev3.
The sensor is recognized by the brick but i have a problem with loading the "sensor.lego" module.
Here is the error message in vscode :

Traceback (most recent call last):
File "/home/robot/vscode-hello-python-master/test mindstorm.py", line 5, in
from sensor.lego import Sensor
ImportError: No module named 'sensor'

Kernel 4.14.117-ev3dev-2.3.5-ev3

Can you help me please ?

Originally posted by @gaminoi in #650 (comment)

dlech commented

Can you share the full program?

Yes :

#!/usr/bin/env python3

import time
from sensor.lego import Sensor
from ev3dev2.port import LegoPort

def main():

    absport = LegoPort(address='ev3-ports:in2')
    absport.mode = 'nxt-i2c'
    abs = Sensor('ev3-ports:in2:i2c17')
    abs.mode = "TILT"
    print(abs.value(0))
    
    time.sleep(5)

if __name__ == '__main__':
    main()
dlech commented

The docs say that the Sensor class is in the ev3dev2.sensor module, not sensor.lego.

Your the best dlech ! It works fine if I remove the LegoPort configuration.
Here is the final code :

#!/usr/bin/env python3
import time
import os
from ev3dev2.sensor import Sensor

def main():

    print('\x1Bc', end='') #RAZ écran
    os.system('setfont ' + 'Lat15-Terminus24x12') #Police

    abs = Sensor('ev3-ports:in2:i2c17')
    abs.mode = "TILT"
    for i in range(20):
        print(abs.value(0))
        time.sleep(0.1)

if __name__ == '__main__':
    main()`

Thank you !!

It sounds like you have solved the problem. Please close this issue if that is the case.