SERob3 (python) Խնդիր #3 - Լուսամփոփ՝ կախված գծին հետեւող սենսորից

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

SERob3 (python) Խնդիր #3 - Լուսամփոփ՝ կախված գծին հետեւող սենսորից

Post by davbaghdasaryan »

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-ի մինուսին։


Տեսնել նկարները

picture2.png
picture2.png (150.29 KiB) Viewed 10877 times
picture1.png
picture1.png (131.28 KiB) Viewed 10877 times
Անցնենք ծրագրին․ ծրագիրը ստեղծելու համար անհրաժեշտ է օգտվել «time» եւ «Gpio» գրադարաններից։ Գրանցել Gpio-ն որպես «myGpio»։ Գործողություններն անդադար շարունակելու համար օգտագործել while(1) հրամանը։
Սեղմեք այստեղ

Code: Select all

from SERob3 import Gpio
import time

myGpio = Gpio()

while (1):

Եթե երկու սենսորներն էլ տեսնում են սեւ գույնը, ապա լուսամփոփը պետք է սկսի աշխատել, եթե ոչ՝ չաշխատի։ Սկզբում միանում է կարմիր լույսը, սպասում ենք 1 վայրկյան, միանում է 2-րդ լույսը, սպասում ենք 1 վայրկյան, միանում է 3-րդ լույսը։ Սպասում ենք 5 վայրկյան եւ կրկին ստուգում ենք։
Սեղմեք այստեղ

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


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

Code: Select all

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

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

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

Задача #3 - Лампа, которая зависит от датчика отслеживания линии

Post by davbaghdasaryan »

Сегодня мы создадим лампу, которая зависит от датчиков отслеживания линии.
Для этого нам потребуются:

1) SERob3 контроллер (controller),
2) светодиоды со своими резисторами, провода и макетная плата (breadboard), по желанию,
3) датчики отслеживания линии.

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

Code: Select all

from SERob3 import Gpio
import time

myGpio = Gpio()

while (1):
Если оба датчика видят черный цвет, то лампа должна заработать, а если нет - не должна. Сначала зажигается красный свет, ждем 1 секунду, зажигается 2-ой свет, ждем 1 секунду, зажигается 3-ий свет. Ждем 5 секунд и снова проверяем.
Если датчики не читают черный цвет, то всегда зажигается красный свет.
Code:

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)

	else:
		myGpio.Out(2, True)
		myGpio.Out(3, False)
		myGpio.Out(4, False)
После подключения к SERob-у указываем каталог, в котором находится программа. Для этого пишем: "cd projects", "cd SERob3", затем - "cd problems".
Запускаем "traffic_light.py". Для этого пишем "sudo python2" и название файла.
Вот и все. Мы получили необходимый нам результат. При приближении машины к черной линии лампа зажигается.

Terminal:

Code: Select all

cd projects/
cd SERob3/
cd problems/
sudo python2 traffic_light.py
Код программы:

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)


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

A Lamp Depending on a Line tracking sensor

Post by davbaghdasaryan »

Today we will create a lamp depending on a line tracking sensor.
This requires
1) SERob3 controller
2) LED lights with their resistors, wires and breadboard(optionally)
3) Line tracking sensors

Do the connections first.
 Connect the first sensor with the pin 0 of the “D In/0” section on the controller, connect the second sensor with the pin 1 of the same section. Connect the first LED with Pin 2, second one-with Pin 3 and the third one-with the Pin 4. The minus of the SERob3 controller must be connected with the minus of the breadboard and the short legs of LED lights must be connected with the breadboard minus through resistors.

Pictures
picture1.png
picture1.png (131.28 KiB) Viewed 10718 times
picture1.png
picture1.png (131.28 KiB) Viewed 10718 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”. In order to continue the subsequent operations uninterrupted we need to use the “while (1)” command.

Code:

Code: Select all

from SERob3 import Gpio
import time

myGpio = Gpio()

while (1):

If both sensors perceive the black color, then the lamp will work, otherwise it should not work.
The red light turns on first. Wait 1 second, then the second light turns on. Wait another 1 second. The second light turns on. Wait 5 seconds and check again.
Code:

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)

If the sensors don’t read the black colour, then the red light always turns on.
Code:

Code: Select all

else:
		myGpio.Out(2, True)
		myGpio.Out(3, False)
		myGpio.Out(4, False)


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


After connecting with the SERob mention the catalogue where the program is located. Type “cd projects”, “cd SEROb3”, then “cd problems”.
Let’s run the “traffic_light.ру”.
Type “sudo python2” and the filename.

Terminal:

Code: Select all

cd projects
cd SERob3
cd problems
sudo python2 traffic_light.py
So, we got the results we needed.
When the device is close to the black line, the lamp works.


Attachments
picture2.png
picture2.png (150.29 KiB) Viewed 10718 times

Post Reply