SERob3 (python) Խնդիր #4 - Անջատիչից կախված լուսամփոփ։

Post Reply
davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

SERob3 (python) Խնդիր #4 - Անջատիչից կախված լուսամփոփ։

Post by davbaghdasaryan »

Lamp with a switch | Лампа, которая зависит от переключателя


Այսօր մենք կստեղծենք անջատիչից կախված լուսամփոփ։
Դրա համար մեզ հարկավոր է`
1) SERob3 ղեկավարիչ (controller),
2) անջատիչ,
3) լեդ լույսեր՝ իրենց ռեզիստորներով, լարեր եւ ըստ ցանկության՝ մակետային սալիկ (breadboard):

Կատարել միացումները․ անջատիչը միացնել ղեկավարիչի վրա գտնվող «D In/O» բաժնի pin 0-ին։
SERob3-ի մինուսը միացնել breadboard-ի մինուսի գծին, իսկ Լեդ լույսերի կարճ ոտքերը ռեզիստորների միջոցով միացնել breadboard-ի մինուսի այդ գծին։ Առաջին Լեդը միացնել Pin 1-ին, երկրորդ Լեդը միացնել Pin 2-ին, իսկ երրորդը՝ Pin 3-ին։


picture1.png
picture1.png (239.55 KiB) Viewed 10548 times
Անցնենք ծրագրին․ ծրագիրը ստեղծելու համար անհրաժեշտ է օգտվել «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)

Ստուգում ենք․ եթե Pin 0-ն հավասար է 0-ի (անջատիչը սեղմված է), ապա ստուգում ենք եթե «x<2», ապա x-ը ավելացնում ենք 1 արժեքով․ գրում ենք «x+1»։ Հակառակ դեպքում x-ին տալիս ենք 0 արժեք՝ x=0: Այսինքն՝ x-ը կունենա միայն 0, 1 կամ 2 արժեքը։
Սեղմեք այստեղ

Code: Select all

        if (myGpio.In(0)) == 0:
                if x < 2:
                        x = x + 1
                else:
                        x = 0

Եթե x=0, ապա վառվում է առաջին լույսը, եթե x=1՝ երկրորդ լույսը, եթե x=2, ապա՝ երրորդ լույսը։
Սեղմեք այստեղ

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)
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)	

Այնուհետեւ SERob-ին միանալուց հետո անհրաժեշտ է մտնել այն կատալոգը, որտեղ գտնվում է ծրագիրը։ Դրա համար բացում ենք տերմինալը և գրում․ «cd projects», այնուհետեւ «cd SERob3», «cd problems» «sudo python2» եւ ֆայլի անվանումը «Switch_Leds.py»։
Տերմինալի հրամաններ

Code: Select all

cd projects
cd SERob3
cd problems
sudo python2 Switch_Leds.py
Վերջ, մենք ստացանք մեզ անհրաժեշտ արդյունքը

Last edited by davbaghdasaryan on Mon Aug 02, 2021 5:39 pm, edited 2 times in total.

davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

Задача #4 - Лампа, которая зависит от переключателя.

Post by davbaghdasaryan »

Сегодня создадим лампу, которая зависит от переключателя.
Для этого нам потребуются:
1) SERob3 контроллер (controller),
2) переключатель,
3) светодиоды со своими резисторами, провода и макетная плата (breadboard), по желанию.

Установить подключения: переключатель подключить к pin 0 секции "D In/O" контроллера.
Подключить минус SERob3 к линии минуса breadboard-а, а короткие ножки светодиодов через резисторы подключить к этой линии минуса breadboard-а. Первый светодиод подключить к Pin 1, второй светодиод - к Pin 2, а третий - к Pin 3.
picture1.png
picture1.png (239.55 KiB) Viewed 10320 times
Перейдем к программе. Для создания программы необходимо воспользоваться библиотеками "time" и "Gpio". Записать Gpio как "myGpio".
Создать переменную "x" и присвоить ей значение 0. Для непрерывного продолжения действий - воспользоваться командой while(1).
Перед проверкой всегда ждать 0.3 секунды: "time.sleep(0.3)".
Code:

Code: Select all

from SERob3 import Gpio
import time

myGpio = Gpio()

x = 0

while (1):
        time.sleep(0.3)
Проверяем. Если Pin 0 равен 0 (переключатель нажат), то проверяем, если "x<2", то x увеличиваем на 1 значение. Пишем "x+1". В противном случае x-у присваиваем значение 0 - x=0. То есть x будет иметь только значения 0, 1 или 2.
Code:

Code: Select all

        if (myGpio.In(0)) == 0:
                if x < 2:
                        x = x + 1
                else:
                        x = 0
Если x=0, то горит первый свет, если x=1 - второй свет, если x=3, то третий свет.
Code:

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)
Код программы:

Code: Select all

from SERob3 import Gpio
import time
		
myGpio = Gpio()

x = 0

while (1):
        time.sleep(0.3)
        if (myGpio.In(0)) == 0:
                if x < 2:
                        x = x + 1
                else:
                        x = 0

        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)
Чтобы запустить программу, указываем каталог, в котором находится программа. Для этого пишем "cd projects", "cd SerRob3", затем - "cd problems". Далее запускаем программу "Switch_leds.py". Для этого пишем "sudo python2" и название файла.
Вот и все. Мы получили необходимый нам результат
Terminal:

Code: Select all

cd projects/
cd SERob3/
cd problems/
sudo python2 Switch_leds.py


davbaghdasaryan
Posts: 101
Joined: Thu Apr 09, 2020 8:08 pm

Lamp with a switch

Post by davbaghdasaryan »

Today we will make a lamp with a switch.
It requires

1) SERob3 controller
2) A switch
3) LED lights with their resistors, wires and breadboard(optionally)

Make the connections
Connect the switch with the pin 0 of the “D In/O” secion on the controller
Connect the minus of the SERob3 to the minus line of the breadboard and the short legs of LED lights must be connected with the same minus line of the breadboard through resistors.Connect the first LED with the Pin 1, second LED with the Pin 2 and the third one with the Pin 3.
picture1.png
picture1.png (239.55 KiB) Viewed 10301 times
Let's move on to software. In order to create the program we need to use the “time” and “Gpio” libraries. Register the Gpio as “myGpio”.

Create a “x” variable and give it a value “0”. In order to continue the subsequent operations uninterrupted we need to use the “while (1)”
 Always wait for 0.3 seconds before checking- “time.sleep(0.3)”.

Code:

Code: Select all

from SERob3 import Gpio
import time

myGpio = Gpio()

x = 0

while (1):
        time.sleep(0.3)

Now check whether the Pin 0 is equal to 0(the switch is pushed). If the “x<2”, then add 1 value to X : “x+1”. Otherwise we give a 0 value to the X (X=0).In other words, x will have only 0, 1 or 2 values.
Code:

Code: Select all

        if (myGpio.In(0)) == 0:
                if x < 2:
                        x = x + 1
                else:
                        x = 0

If the x=0, then the first light will be turned on, if the x=1` the second light will be turned on, and in the case of x=3, the third light will be turned on.
Code:

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)


see more
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)	

In order to run the program we need to type the catalogue where the program is located. Type “cd projects”, “cd SERob3”, then “cd problems”.
Let’s run the “Switch_leds.ру” program next. Type “sudo python2” and the filename.

Terminal:

Code: Select all

cd projects
cd SERob3
cd problems
sudo python2 Switch_Leds.py
So, we got the results we needed.


Post Reply