Мазмуну:

Python жана Raspberry Piнин GPIO пиндери менен бир нече LEDди башкаруу: 4 кадам (сүрөттөр менен)
Python жана Raspberry Piнин GPIO пиндери менен бир нече LEDди башкаруу: 4 кадам (сүрөттөр менен)

Video: Python жана Raspberry Piнин GPIO пиндери менен бир нече LEDди башкаруу: 4 кадам (сүрөттөр менен)

Video: Python жана Raspberry Piнин GPIO пиндери менен бир нече LEDди башкаруу: 4 кадам (сүрөттөр менен)
Video: Fysetc Spider V1.1 - Servo install 2024, Июль
Anonim
Python жана Raspberry Piнин GPIO казыктары менен бир нече светодиоддорду башкаруу
Python жана Raspberry Piнин GPIO казыктары менен бир нече светодиоддорду башкаруу

Бул Инструкция RaspberryPiдеги 4 светодиодду иштетүү үчүн бир нече GPIO казыктарын кантип башкарууну көрсөтөт. Ал ошондой эле Pythonдогу параметрлер жана шарттуу билдирүүлөр менен тааныштырат.

Мурунку инструкциябыз Raspberry Piнин GPIO пиндерин LEDди башкаруу үчүн колдонуу GPIO.output буйругун колдонуу менен бир LEDди кантип күйгүзүү жана өчүрүү керек экенин көрсөтөт. Бул Инструкция сиздин схемаңызга көбүрөөк көзөмөл кылууну үйрөтүү үчүн ошол билимге негизделген.

1 -кадам: Сизге эмне керек

Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот
Сизге эмне керек болот

- Raspbian менен RaspberryPi мурунтан эле орнотулган. Сиз ошондой эле мониторго, чычканга жана баскычтопко же алыскы иштакта аркылуу Piге кире алышыңыз керек. Сиз Raspberry Piнин каалаган моделин колдоно аласыз. Эгерде сизде Pi Zero моделдеринин бири бар болсо, анда GPIO портуна кээ бир баштыктарды сайгыңыз келиши мүмкүн.

- Кызыл, Көк, Сары жана Жашыл LED

- Solderless прототиптештирүү тактасы

- 4 x 330 Ом резисторлор

- Кээ бир Эркектен Аялга секирүүчү зымдар

2 -кадам: Районуңузду куруңуз

Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз
Сиздин Районуңузду куруңуз

Жогорудагы схеманы панелиңизге куруңуз, компоненттердин бири да тийбей турганын жана LED диоддору туура жолго туташканын текшериңиз.

Жарык диоддоруңуздагы оң жана терс коргошундарды (полярдуулукту) кантип аныктайсыз? Эгерде сиз LEDди жакшылап карасаңыз, анда түстүү корпустун ичинде эки кичинекей металл бар экенин көрөсүз. Булар анод жана катод деп аталат. Катод экөөнүн эң чоңу, ошондой эле LED терс коргошунга туташкан.

Сиз схемаңызды текшергенден кийин, жогорудагы схемага ылайык Raspberry Piнин GPIO төөнөгүчтөрүн туташтырыңыз.

3 -кадам: Светодиоддорду башкаруу жана текшерүү үчүн скрипт түзүңүз

Светодиоддорду башкаруу жана сыноо үчүн скрипт түзүңүз
Светодиоддорду башкаруу жана сыноо үчүн скрипт түзүңүз

Сиздин Raspberry Pi'де IDLE ачыңыз (Меню> Программалоо> Python 2 (IDLE)).

Жаңы долбоорду ачыңыз Файл> Жаңы Файлга өтүңүз. Андан кийин төмөнкү кодду териңиз (же көчүрүп чаптаңыз):

GPO катары RPi. GPIO импорттоо

импорттоо убактысы GPIO.setmode (GPIO. BCM) GPIO.setup (17, GPIO. OUT) GPIO.setup (18, GPIO. OUT) GPIO.setup (22, GPIO. OUT) GPIO.setup (23, GPIO. OUT) GPIO.output (17, True) time.sleep (3) GPIO.output (17, False) time.sleep (1) GPIO.output (18, True) time.sleep (3) GPIO.output (18, False) time.sleep (1) GPIO.output (22, True) time.sleep (3) GPIO.output (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. чыгаруу (23, False)

Долбооруңузду Raspberry Pis Documents папкасында multilights.py (Файл> Сактоо) катары сактаңыз.

Raspberry Pi'де Терминалды ачыңыз (Меню> Аксессуарлар> Терминал) жана төмөнкүлөрдү терүү менен Документтер папкаңызга өтүңүз:

cd/home/pi/Документтер

Эми сиз жаңы скриптиңизди төмөнкүлөрдү терүү менен иштете аласыз:

python multilights.py

Жарык күйгүзүү жана өчүрүү үчүн аны кезеги менен алат. Жогорудагы скрипт time.sleep командасын колдонуп, ар бир кадамдын ортосунда тыныгуу жаратып, ар бир жарык 3 секундга күйүп турат жана кийинки жарыкты күйгүзүүдөн мурун 1 секунд күтөт.

4 -кадам: Параметрлерди жана шарттуу билдирүүлөрдү колдонуу менен ийкемдүүлүктү кошуу

Параметрлерди жана шарттуу билдирүүлөрдү колдонуу менен биз жогорудагы скриптти кыйла ийкемдүү кыла алабыз.

Параметр сиз скриптте кийинчерээк колдоно турган маанини сактоого мүмкүндүк берет. Көбүнчө баалуулуктардын түрлөрү саптар (текст), бүтүн сандар (бүтүн сандар) же калкып чыгуулар (ондук сандар) болуп саналат.

Шарттык билдирүү коддун сегментинин аткарылышы керекпи же жокпу, белгилүү бир шарттын аткарылгандыгын текшерүү аркылуу аныктайт. Шарт ошондой эле параметрлерди камтышы мүмкүн.

Сиздин Raspberry Piдеги IDLEди ачыңыз жана жаңы долбоорду ачыңыз (Файл> Жаңы Файл). Андан кийин төмөнкүлөрдү териңиз. Өтмөк баскычын колдонуу менен бардык чегинүүлөрдүн (өтмөктөрдүн) камтылышын камсыз кылуу үчүн этият болуңуз:

GPO катары RPi. GPIO импорттоо

sys импорттоо убактысы argv whichled = argv [1] ledaction = argv [2] LEDa = 17 LEDb = 18 LEDc = 22 LEDd = 23 GPIO.setmode (GPIO. BCM) GPIO.setup (LEDa, GPIO. OUT) GPIO. setmode (GPIO. BCM) GPIO.setup (LEDb, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDc, GPIO. OUT) GPIO.setmode (GPIO. BCM) GPIO.setup (LEDd, GPIO. OUT) if ledaction == "off": ifled == "a": ifio == "a": GPIO.output (LEDa, False) if ifled == "b": GPIO.output (LEDb, False) ifled if == "c": GPIO.output (LEDc, False) if == "d" ifled: GPIO.output (LEDd, False) if if== "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. чыгаруу (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": ifled == "a": GPIO.output (LEDa, True) ifled == "b": GPIO.output (LEDb, True) if ifled == "c": GPIO.output (LEDc, True) if ifled == "d": GPIO.output (LEDd, True) ifled if == "all": GPIO.output (LEDa, Чыныгы) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Долбооруңузду controllight.py катары сактаңыз (Файл> Сактоо) Документтер папкасында. Эми Терминалды ачыңыз (Меню> Аксессуарлар> Терминал) жана төмөнкү буйрукту териңиз:

python controllight.py b күйгүзүү

Экинчи LED күйгүзүлүшү керек. Эми төмөнкүлөрдү териңиз:

python controllight.py b өчүк

Экинчи LED өчүшү керек.

5, 6, 7 жана 8 -саптарда биз LEDa, LEDb, LEDc жана LEDd параметрлерин түзөбүз, кайсы GPIO пинди биз кайсы LEDга туташтырдык. Бул сценарийге олуттуу өзгөртүүлөрдү киргизбестен, башка GPIO казыктарын колдонууга мүмкүнчүлүк берет.

Мисалы, эгер биз анын ордуна биринчи светодиоддорду Pin 3кө (GPIO 2) туташтыра турган болсок, анда 5 -сапты төмөндөгүдөй өзгөртүү керек:

LEDa = 2

4 -сапта controllight.pyден кийин терилген баалуулуктар (c) жана ledaction (on) параметрлерине сакталат. Андан кийин скрипт бул параметрлерди колдонот, бир катар Шарттуу билдирүүлөр менен бирге кайсы LEDди көзөмөлдөп, күйгүзүү же өчүрүү керектигин чечет.

16 -сап (эгерде ledaction == "on":) болсо - шарттуу билдирүү. Бул билдирүүдөн кийинки сызыктар билдирменин шарты аткарылганда гана иштейт. Бул сценарийде шарты боюнча ledaction текстти камтыйт.

Скрипттин башка шарттуу билдирүүлөрүн окуп, Терминалга төмөнкү буйрукту тергенде эмне болорун алдын ала айта аласызбы?

python controllight.py бардыгы күйгүзүлгөн

Эмнеге муну коё берип, жообуңузду төмөндөгү комментарийлер бөлүмүнө жазбасаңыз болот.

Сунушталууда: