FollowTheLine
This commit is contained in:
6
.idea/micro_bit_interface.iml
generated
6
.idea/micro_bit_interface.iml
generated
@@ -1,8 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="jdk" jdkName="Python 3.10 (micro_bit_interface)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.10 (micro_bit_interface)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
@@ -1,29 +1,40 @@
|
||||
import maqueen_driver
|
||||
import microbit
|
||||
import music
|
||||
|
||||
md = maqueen_driver.Driver()
|
||||
|
||||
|
||||
class FollowTheLine:
|
||||
def __init__(self):
|
||||
self.__activated = 0
|
||||
self.__repeated = 0
|
||||
|
||||
def run(self):
|
||||
while True:
|
||||
if md.getDistance() < 20:
|
||||
md.stop()
|
||||
md.setLEDs(on=1)
|
||||
music.pitch(440, 20)
|
||||
else:
|
||||
if md.getLineTracker(1) == 0:
|
||||
self.__activated = 0
|
||||
md.motor(0, 100, 0, 255)
|
||||
elif md.getLineTracker(2) == 0:
|
||||
self.__activated = 0
|
||||
md.motor(0, 255, 0, 100)
|
||||
if md.getLineTracker(1) == 0:
|
||||
self.__activated = 0
|
||||
if self.__repeated >= 75 and self.__repeated < 150:
|
||||
self.__repeated += 1
|
||||
md.motor(0, 10, 0, 100)
|
||||
elif self.__repeated >= 100:
|
||||
md.motor(0, 0, 0, 100)
|
||||
else:
|
||||
if self.__activated <= 50:
|
||||
self.__activated += 1
|
||||
md.motor(0, 140, 0, 140)
|
||||
else:
|
||||
md.motor(0, 255, 0, 255)
|
||||
self.__repeated += 1
|
||||
md.motor(0, 50, 0, 100)
|
||||
elif md.getLineTracker(2) == 0:
|
||||
self.__activated = 0
|
||||
self.__repeated += 1
|
||||
if self.__repeated >= 75 and self.__repeated < 150:
|
||||
self.__repeated += 1
|
||||
md.motor(0, 100, 0, 10)
|
||||
elif self.__repeated >= 100:
|
||||
md.motor(0, 100, 0, 0)
|
||||
else:
|
||||
self.__repeated += 1
|
||||
md.motor(0, 100, 0, 50)
|
||||
else:
|
||||
self.__repeated = 0
|
||||
if self.__activated <= 2000:
|
||||
self.__activated += 1
|
||||
md.motor(0, 100, 0, 100)
|
||||
else:
|
||||
md.motor(0, 255, 0, 255)
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
import maqueen_driver
|
||||
|
||||
md = maqueen_driver.Driver()
|
||||
|
||||
|
||||
class FollowTheLineDumnb:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def run(self):
|
||||
while True:
|
||||
if md.getLineTracker(1) == 1:
|
||||
md.motor(0, 10, 0, 75)
|
||||
elif md.getLineTracker(2) == 2:
|
||||
md.motor(0, 75, 0, 10)
|
||||
else:
|
||||
md.motor(0, 75, 0, 75)
|
||||
@@ -1,3 +1,3 @@
|
||||
import ftl
|
||||
import ftl_dumb_version
|
||||
|
||||
ftl.FollowTheLine().run()
|
||||
ftl_dumb_version.FollowTheLineDumnb().run()
|
||||
|
||||
Reference in New Issue
Block a user