SERob3 (python) Խնդիր #4 - Անջատիչից կախված լուսամփոփ։
Posted: Mon Apr 20, 2020 11:28 pm
Lamp with a switch | Лампа, которая зависит от переключателя
Այսօր մենք կստեղծենք անջատիչից կախված լուսամփոփ։
Դրա համար մեզ հարկավոր է`
1) SERob3 ղեկավարիչ (controller),
2) անջատիչ,
3) լեդ լույսեր՝ իրենց ռեզիստորներով, լարեր եւ ըստ ցանկության՝ մակետային սալիկ (breadboard):
Կատարել միացումները․ անջատիչը միացնել ղեկավարիչի վրա գտնվող «D In/O» բաժնի pin 0-ին։
SERob3-ի մինուսը միացնել breadboard-ի մինուսի գծին, իսկ Լեդ լույսերի կարճ ոտքերը ռեզիստորների միջոցով միացնել breadboard-ի մինուսի այդ գծին։ Առաջին Լեդը միացնել Pin 1-ին, երկրորդ Լեդը միացնել Pin 2-ին, իսկ երրորդը՝ Pin 3-ին։
Անցնենք ծրագրին․ ծրագիրը ստեղծելու համար անհրաժեշտ է օգտվել «time» եւ «Gpio» գրադարաններից։ Գրանցել Gpio-ն որպես «myGpio»։
Ստեղծել մի «x» փոփոխական եւ դրան տալ 0 արժեք։ Գործողություններն անդադար շարունակելու համար օգտագործել while(1) հրամանը։
Ստուգումներից առաջ միշտ սպասել 0.3 վայրկյան՝ «time.sleep(0.3)»։
Ստուգում ենք․ եթե Pin 0-ն հավասար է 0-ի (անջատիչը սեղմված է), ապա ստուգում ենք եթե «x<2», ապա x-ը ավելացնում ենք 1 արժեքով․ գրում ենք «x+1»։ Հակառակ դեպքում x-ին տալիս ենք 0 արժեք՝ x=0: Այսինքն՝ x-ը կունենա միայն 0, 1 կամ 2 արժեքը։
Եթե x=0, ապա վառվում է առաջին լույսը, եթե x=1՝ երկրորդ լույսը, եթե x=2, ապա՝ երրորդ լույսը։
Այնուհետեւ SERob-ին միանալուց հետո անհրաժեշտ է մտնել այն կատալոգը, որտեղ գտնվում է ծրագիրը։ Դրա համար բացում ենք տերմինալը և գրում․ «cd projects», այնուհետեւ «cd SERob3», «cd problems» «sudo python2» եւ ֆայլի անվանումը «Switch_Leds.py»։
Վերջ, մենք ստացանք մեզ անհրաժեշտ արդյունքը
Այսօր մենք կստեղծենք անջատիչից կախված լուսամփոփ։
Դրա համար մեզ հարկավոր է`
1) SERob3 ղեկավարիչ (controller),
2) անջատիչ,
3) լեդ լույսեր՝ իրենց ռեզիստորներով, լարեր եւ ըստ ցանկության՝ մակետային սալիկ (breadboard):
Կատարել միացումները․ անջատիչը միացնել ղեկավարիչի վրա գտնվող «D In/O» բաժնի pin 0-ին։
SERob3-ի մինուսը միացնել breadboard-ի մինուսի գծին, իսկ Լեդ լույսերի կարճ ոտքերը ռեզիստորների միջոցով միացնել breadboard-ի մինուսի այդ գծին։ Առաջին Լեդը միացնել Pin 1-ին, երկրորդ Լեդը միացնել Pin 2-ին, իսկ երրորդը՝ Pin 3-ին։
Անցնենք ծրագրին․ ծրագիրը ստեղծելու համար անհրաժեշտ է օգտվել «time» եւ «Gpio» գրադարաններից։ Գրանցել Gpio-ն որպես «myGpio»։
Ստեղծել մի «x» փոփոխական եւ դրան տալ 0 արժեք։ Գործողություններն անդադար շարունակելու համար օգտագործել while(1) հրամանը։
Ստուգումներից առաջ միշտ սպասել 0.3 վայրկյան՝ «time.sleep(0.3)»։
Սեղմեք այստեղ
Code: Select all
from SERob3 import Gpio
import time
myGpio = Gpio()
x = 0
while (1):
time.sleep(0.3)
Սեղմեք այստեղ
Code: Select all
if (myGpio.In(0)) == 0:
if x < 2:
x = x + 1
else:
x = 0
Սեղմեք այստեղ
Code: Select all
if x == 0:
myGpio.Out(1, True)
myGpio.Out(2, False)
myGpio.Out(3, False)
if x == 1:
myGpio.Out(1, False)
myGpio.Out(2, True)
myGpio.Out(3, False)
if x == 2:
myGpio.Out(1, False)
myGpio.Out(2, False)
myGpio.Out(3, True)
Տեսնել ավելին
Ինչպես աշխատացնել անջատիչ՝ viewtopic.php?f=8&t=8&sid=914d673afefbc ... dafde7be0a
Ինչպես աշխատացնել լեդ լույսեր՝ viewtopic.php?f=8&t=9&sid=914d673afefbc ... dafde7be0a)
Ինչպես աշխատացնել լեդ լույսեր՝ viewtopic.php?f=8&t=9&sid=914d673afefbc ... dafde7be0a)
Code example
Code: Select all
from SERob3 import servo
from SERob3 import Usrf
import time
myUsrf = Usrf()
while (1):
time.sleep(0.5)
if myUsrf.Distance(3) > 35
servo.Out(5, 90)
if myUsrf.Distance(3) < 35
servo.Out(5, 0)
if myUsrf.Distance(3) < 20
servo.Out(5, -90)
Տերմինալի հրամաններ
Code: Select all
cd projects
cd SERob3
cd problems
sudo python2 Switch_Leds.py