Lego Mindstorms ev3 ev3Dev

aktuell

getting started

getting started with ev3Def ==> neue Version mit VS Code

  • microSDHC Karte mit Adapter insert into PC
  • download ev3dev stretch and extract .img
  • .img → write disk image to SD Karte oder mit sudo dd if=/wkData/tmp/ev3dev-stretch-ev3-generic-2018-08-06.img of=/dev/sdc. Achtung auf wk13 gab es immer IO Fehler, funktionierte nur auf wkHP!
  • insert card into brick and power on. Boot. USB Kabel verbinden. Nach Anleitung auf Brick und auf PC Verbindung aufsetzen (namens ev3Dev)
    • Achtung nur Mac Adresse stehen lassen Pfad auf PC (enp0s20u8 o.ä.) wegputzen!
  • ssh robot@ev3Dev.local und Passwort maker
  • bzw caja connection darauf
  • Inf:legoEv3 python3 programme schreiben
  • make executable
  • ./t1.py

Brick Befehle

  • File Browser → clicken auf Python file → wird asgeführt
  • power up: click auf central key
  • power off: so vielemal auf back clicken, bis Auswahl kommt
  • Affengriff = back, left, central ⇒ Screen wird schwarz: back loslassen ⇒ boot
  • MicroSD mit Pinzette rausziehen

python

  • Inf:legoEv3/motor1.py :led, sound and motor movements plus reading motor state and position
    • own thread for state reading, motor command from main, however
    • without locking dies with invlaid int because of concurrent data modification in self._position, value = self.get_attr_int(self._position, 'position') File "/usr/lib/python3/dist-packages/ev3dev2/__init__.py", line 263, in get_attr_int
  • Inf:legoEv3/motor2.py : same as motor1 above, but 1 thread for all motorcommands, command are send as a lambda to queue, which is thread safe and has get method with timeout

microPython

Alternativen zu ev3Dev Python