Բարեւ ձեզ։ Այսօր մենք կքննարկենք մի խնդիր՝ կփոփոխենք հաստատուն հոսանքի շարժիչի արագությունը հեռաչափից կախված։ Դրա համար մեզ անհրաժեշտ է՝
1) SERob3 controller (ղեկավարիչ),
2) Ուլտրաձայնային հեռաչափ,
3) հաստատուն հոսանքի շարժիչ իր դրայվերով։
Սկզբում շարժիչը միացնում ենք դրայվերին հետեւյալ կերպ՝
Շարժիչը միացնում ենք SERob3-ի motors բաժնի pin 0-ին, հեռաչափի input-ը՝
D In/O բաժնի pin 3-ին, իսկ output-ը՝ նույն բաժնի pin 4-ին։
Վերջ։ Սխեման ավարտեցինք։ Ծրագիրը ստեղծելու համար նախ օգտվում ենք «time myPwm», «time» և «Usrf» գրադարաններից։ Գրանցում ենք «Usrf»-ը որպես «myUsrf» եւ «Pwm»-ը՝ որպես «myPwm»։
Սեղմեք այստեղ
Code: Select all
from SERob3 import Pwm
from SERob3 import Usrf
import time
myUsrf = Usrf()
myPwm = Pwm()
Code: Select all
while (1):Code: Select all
print(myUsrf.Distance(3))
Կատարել համեմատությունները. եթե հեռավորությունը մեծ է 50սմ-ից, ապա շարժիչը գտնվի սպասող վիճակում, եթե փոքր է 7սմ- ից` կանգնի, իսկ եթե մեծ է 7սմ-ից եւ փոքր է 50սմ-ից, ապա x – ին տանք հեռավորություն * 50 / 70 արժեքը։
Տեսնել ավելին
Ինչպես աշխատացնել շարժիչները՝ viewtopic.php?f=8&t=13&sid=17e4575f4952 ... 622f88284])
Ինչպես աշխատացնել հեռաչափը՝ viewtopic.php?f=8&t=10&sid=17e4575f4952 ... 5622f88284)
Ինչպես աշխատացնել հեռաչափը՝ viewtopic.php?f=8&t=10&sid=17e4575f4952 ... 5622f88284)
Code example
Code: Select all
from SERob3 import Pwm
from SERob3 import Usrf
import time
myUsrf = Usrf()
myPwm = Pwm()
while (1):
print(myUsrf.Distance(3))
time.sleep(0.5)
if myUsrf.Distance(3) > 50:
myPwm.Out(0, 0)
if myUsrf.Distance(3) < 7:
myPwm.Out(0, 0)
if myUsrf.Distance(3) < 50 and myUsrf.Distance(3) > 7:
x = myUsrf.Distance(3) * 70 / 50
myPwm.Out(0, x)
Տերմինալի հրամաններ
Code: Select all
cd projects
cd SERob3
cd problems
sudo python2 Usrf_motor.py