mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
add examples/Car/main.py.
This commit is contained in:
parent
6bbdf5016b
commit
a06ee7f74d
96
examples/Car/main.py
Normal file
96
examples/Car/main.py
Normal file
@ -0,0 +1,96 @@
|
||||
import PikaStdLib
|
||||
import pikaRTThread
|
||||
import pikaRTDevice
|
||||
import PikaDebug
|
||||
|
||||
thread = pikaRTThread.Thread()
|
||||
mem = PikaStdLib.MemChecker()
|
||||
pdb = PikaDebug.Debuger()
|
||||
print('mem use max:')
|
||||
mem.max()
|
||||
# A2
|
||||
Ain1 = pikaRTDevice.GPIO()
|
||||
Ain1.setId(16)
|
||||
Ain1.setMode('out')
|
||||
Ain1.enable()
|
||||
# A4
|
||||
Ain2 = pikaRTDevice.GPIO()
|
||||
Ain2.setId(20)
|
||||
Ain2.setMode('out')
|
||||
Ain2.enable()
|
||||
# A6
|
||||
Apwm = pikaRTDevice.PWM()
|
||||
Apwm.setName('tim3pwm1')
|
||||
Apwm.setChannel(1)
|
||||
Apwm.setFreq(1000)
|
||||
Apwm.setDuty(0)
|
||||
Apwm.enable()
|
||||
# A3
|
||||
Bin1 = pikaRTDevice.GPIO()
|
||||
Bin1.setId(17)
|
||||
Bin1.setMode('out')
|
||||
Bin1.enable()
|
||||
# A5
|
||||
Bin2 = pikaRTDevice.GPIO()
|
||||
Bin2.setId(21)
|
||||
Bin2.setMode('out')
|
||||
Bin2.enable()
|
||||
# A7
|
||||
Bpwm = pikaRTDevice.PWM()
|
||||
Bpwm.setName('tim3pwm2')
|
||||
Bpwm.setChannel(2)
|
||||
Bpwm.setFreq(1000)
|
||||
Bpwm.setDuty(0)
|
||||
Bpwm.enable()
|
||||
|
||||
#PC4
|
||||
sensor1 = pikaRTDevice.GPIO()
|
||||
sensor1.setId(24)
|
||||
sensor1.setMode('in')
|
||||
sensor1.setPull('up')
|
||||
sensor1.enable()
|
||||
|
||||
#PC5
|
||||
sensor2 = pikaRTDevice.GPIO()
|
||||
sensor2.setId(25)
|
||||
sensor2.setMode('in')
|
||||
sensor2.setPull('up')
|
||||
sensor2.enable()
|
||||
|
||||
def motor1(speed: float):
|
||||
if speed > 0:
|
||||
Ain1.high()
|
||||
Ain2.low()
|
||||
Apwm.setDuty(speed)
|
||||
else:
|
||||
Ain1.low()
|
||||
Ain2.high()
|
||||
Apwm.setDuty(-speed)
|
||||
|
||||
|
||||
def motor2(speed: float):
|
||||
if speed > 0:
|
||||
Bin1.high()
|
||||
Bin2.low()
|
||||
Bpwm.setDuty(speed)
|
||||
else:
|
||||
Bin1.low()
|
||||
Bin2.high()
|
||||
Bpwm.setDuty(-speed)
|
||||
|
||||
def go():
|
||||
while True:
|
||||
if not sensor2.read():
|
||||
print('turn right...')
|
||||
motor1(0.6)
|
||||
motor2(-0.6)
|
||||
elif not sensor1.read():
|
||||
print('turn left...')
|
||||
motor1(-0.6)
|
||||
motor2(0.6)
|
||||
else:
|
||||
print('forword...')
|
||||
motor1(0.6)
|
||||
motor2(0.6)
|
||||
|
||||
go()
|
Loading…
x
Reference in New Issue
Block a user