SERob3 (python) Խնդիր #3 - Լուսամփոփ՝ կախված գծին հետեւող սենսորից
Posted: Mon Apr 20, 2020 11:08 pm
A Lamp Depending on a Line tracking sensor
| Лампа, которая зависит от датчика отслеживания линии
Այսօր մենք կստեղծենք լուսամփոփ՝ կախված գծին հետեւող սենսորներից։
Դրա համար մեզ հարկավոր է․
1) SERob3 ղեկավարիչ (controller),
2) լեդ լույսեր՝ իրենց ռեզիստորներով, լարեր եւ ըստ ցանկության՝ մակետային սալիկ (breadboard):
3) գծին հետեւող սենսորներ։
Կատարել միացումները․ առաջին սենսորը միացնել ղեկավարիչի վրա գտնվող «D In/O» բաժնի pin 0-ին, երկրորդ սենսորը՝ նույն բաժնի pin 1-ին։ Առաջին Լեդը միացնել Pin 2-ին, երկրորդ Լեդը միացնել Pin 3-ին, իսկ երրորդը՝ Pin 4-ին։ SERob3 ղեկավարիչի մինուսը միացնել breadboard-ի մինուսին եւ Լեդ լույսերի կարճ ոտքերը ռեզիստորների միջոցով միացնել breadboard-ի մինուսին։
Անցնենք ծրագրին․ ծրագիրը ստեղծելու համար անհրաժեշտ է օգտվել «time» եւ «Gpio» գրադարաններից։ Գրանցել Gpio-ն որպես «myGpio»։ Գործողություններն անդադար շարունակելու համար օգտագործել while(1) հրամանը։
Եթե երկու սենսորներն էլ տեսնում են սեւ գույնը, ապա լուսամփոփը պետք է սկսի աշխատել, եթե ոչ՝ չաշխատի։ Սկզբում միանում է կարմիր լույսը, սպասում ենք 1 վայրկյան, միանում է 2-րդ լույսը, սպասում ենք 1 վայրկյան, միանում է 3-րդ լույսը։ Սպասում ենք 5 վայրկյան եւ կրկին ստուգում ենք։
Եթե սենսորները չեն կարդում սեւ գույնը, ապա միշտ միանում է կարմիր լույսը։
Այնուհետեւ SERob-ին միանալուց հետո անհրաժեշտ է մտնել այն կատալոգը, որտեղ գտնվում է ծրագիրը։ Դրա համար բացում ենք տերմինալը և գրում․ «cd projects», այնուհետեւ «cd SERob3», «cd problems» «sudo python2» եւ ֆայլի անվանումը «traffic_light.py»։
Վերջ, մենք ստացանք մեզ անհրաժեշտ արդյունքը
| Лампа, которая зависит от датчика отслеживания линии
Այսօր մենք կստեղծենք լուսամփոփ՝ կախված գծին հետեւող սենսորներից։
Դրա համար մեզ հարկավոր է․
1) SERob3 ղեկավարիչ (controller),
2) լեդ լույսեր՝ իրենց ռեզիստորներով, լարեր եւ ըստ ցանկության՝ մակետային սալիկ (breadboard):
3) գծին հետեւող սենսորներ։
Կատարել միացումները․ առաջին սենսորը միացնել ղեկավարիչի վրա գտնվող «D In/O» բաժնի pin 0-ին, երկրորդ սենսորը՝ նույն բաժնի pin 1-ին։ Առաջին Լեդը միացնել Pin 2-ին, երկրորդ Լեդը միացնել Pin 3-ին, իսկ երրորդը՝ Pin 4-ին։ SERob3 ղեկավարիչի մինուսը միացնել breadboard-ի մինուսին եւ Լեդ լույսերի կարճ ոտքերը ռեզիստորների միջոցով միացնել breadboard-ի մինուսին։
Տեսնել նկարները
Սեղմեք այստեղ
Code: Select all
from SERob3 import Gpio
import time
myGpio = Gpio()
while (1):
Սեղմեք այստեղ
Code: Select all
if (myGpio.In(0)) == 1 and (myGpio.In(1)) == 1:
myGpio.Out(2, True)
myGpio.Out(3, False)
myGpio.Out(4, False)
time.sleep(1)
myGpio.Out(2, False)
myGpio.Out(3, True)
myGpio.Out(4, False)
time.sleep(1)
myGpio.Out(2, False)
myGpio.Out(3, False)
myGpio.Out(4, True)
time.sleep(5)
Սեղմեք այստեղ
Code: Select all
else:
myGpio.Out(2, True)
myGpio.Out(3, False)
myGpio.Out(4, False)
Տեսնել ավելին
Ինչպես աշխատացնել լեդ լույսեր շարժիչ՝ viewtopic.php?f=8&t=18&sid=f9b45d875506 ... 4a1a2d5994
Ինչպես աշխատացնել գծին հետևող սենսոր՝ viewtopic.php?f=8&t=9&sid=f9b45d8755063 ... 4a1a2d5994)
Ինչպես աշխատացնել գծին հետևող սենսոր՝ viewtopic.php?f=8&t=9&sid=f9b45d8755063 ... 4a1a2d5994)
Code example
Code: Select all
from SERob3 import Gpio
import time
myGpio = Gpio()
while (1):
if (myGpio.In(0)) == 1 and (myGpio.In(1)) == 1:
myGpio.Out(2, True)
myGpio.Out(3, False)
myGpio.Out(4, False)
time.sleep(1)
myGpio.Out(2, False)
myGpio.Out(3, True)
myGpio.Out(4, False)
time.sleep(1)
myGpio.Out(2, False)
myGpio.Out(3, False)
myGpio.Out(4, True)
time.sleep(5)
else:
myGpio.Out(2, True)
myGpio.Out(3, False)
myGpio.Out(4, False)
Տերմինալի հրամաններ
Code: Select all
cd projects
cd SERob3
cd problems
sudo python2 traffic_light.py