Найти Π² Π”Π·Π΅Π½Π΅
ВА - Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°

🌟 МигаСм свСтодиодом Π½Π° Raspberry Pi

πŸ‘‹Π’ΡΠ΅ΠΌ ΠΏΡ€ΠΈΠ²Π΅Ρ‚! БСгодня ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ πŸŒŸΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом Π½Π° Raspberry Pi. Рассмотрим простоС ΠΌΠΈΠ³Π°Π½ΠΈΠ΅, ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ШИМ, ΠΈ заставим ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒ ΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом ΠΏΡ€ΠΈ стартС систСмы. [Бколько ΠΌΠΎΠ³ΠΎ солов ΠœΠ˜Π“ΠΠ’Π¬] β­•ΠŸΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹... Π―Π·Ρ‹ΠΊ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ сСгодня ΠΌΠΈΠ³Π°Ρ‚ΡŒ - это Python. Установка ΠΏΠΈΡ‚ΠΎΠ½Π°: sudo apt-get install python3-picamera Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Ρ„Π°ΠΉΠ» для нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: sudo nano /home/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°.py Π­Ρ‚ΠΈΠΌ дСйствиСм ΠΌΡ‹ создадим ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСмы πŸ”΄ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ И Ρ‚Π°ΠΊ, ΠΌΡ‹ создали Ρ„Π°ΠΉΠ» ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄: import RPi.GPIO as IO # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ
import time # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ
IO.setmode (IO.BOARD) # Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ PIN35
while 1: # повторяСм бСсконСчно
IO.setup(35,IO.OUT) # Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 35 Π² качСствС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°
IO.output(35,1) # Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод
time.sleep(1)
ОглавлСниС

πŸ‘‹Π’ΡΠ΅ΠΌ ΠΏΡ€ΠΈΠ²Π΅Ρ‚! БСгодня ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ πŸŒŸΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом Π½Π° Raspberry Pi. Рассмотрим простоС ΠΌΠΈΠ³Π°Π½ΠΈΠ΅, ΠΌΠΈΠ³Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ШИМ, ΠΈ заставим ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒ ΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом ΠΏΡ€ΠΈ стартС систСмы.

[Бколько ΠΌΠΎΠ³ΠΎ солов ΠœΠ˜Π“ΠΠ’Π¬]

β­•ΠŸΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»Ρ‹...

Π―Π·Ρ‹ΠΊ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ сСгодня ΠΌΠΈΠ³Π°Ρ‚ΡŒ - это Python. Установка ΠΏΠΈΡ‚ΠΎΠ½Π°:

sudo apt-get install python3-picamera

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим Ρ„Π°ΠΉΠ» для нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:

  1. ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Ссли Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π½Π° самой ΠΌΠ°Π»ΠΈΠ½Π΅ Ссли Ρ‡Π΅Ρ€Π΅Π· SSH, Ρ‚ΠΎ пропускаСм этот ΠΏΡƒΠ½ΠΊΡ‚)
  2. И пишСм:
sudo nano /home/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°.py

Π­Ρ‚ΠΈΠΌ дСйствиСм ΠΌΡ‹ создадим ΠΈ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Ρ„Π°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ систСмы

πŸ”΄ΠŸΡ€ΠΎΡΡ‚ΠΎΠ΅ ΠΌΠΈΠ³Π°Π½ΠΈΠ΅

И Ρ‚Π°ΠΊ, ΠΌΡ‹ создали Ρ„Π°ΠΉΠ» ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄:

import RPi.GPIO as IO # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ
import time # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ
IO.setmode (IO.BOARD) # Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ PIN35
while 1: # повторяСм бСсконСчно
IO.setup(35,IO.OUT) # Π½Π°Π·Π½Π°Ρ‡Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚ 35 Π² качСствС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°
IO.output(35,1) # Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод
time.sleep(1) # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° 1 сСкунду
IO.output(35,0) # Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ свСтодиод
time.sleep(1) # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° 1 сСкунду

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ CTRL + X Π΄Π°Π»Π΅Π΅ Y ΠΈ ENTER

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

sudo python /home/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°.py

🟑ШИМ - миганиС

БСйчас ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΌΠΈΠ³Π°Ρ‚ΡŒ ΠΏΠ»Π°Π²Π½ΠΎ:

import RPi.GPIO as IO # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Π°ΠΌΠΈ
import time # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ
IO.setwarnings(False) # ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΠΎΠΊΠ°Π· Π»ΡŽΠ±Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ
IO.setmode (IO.BCM) # ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ GPIO35
IO.setup(35,IO.OUT) # ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ GPIO35 Π² качСствС Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π°
p = IO.PWM(35,100) # настраиваСм GPIO35 Π² качСствС ШИМ Π²Ρ‹Ρ…ΠΎΠ΄Π° с частотой ШИМ сигнала 100 Π“Ρ†
p.start(0) # Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ШИМ сигнала с коэффициСнтом заполнСния 0%
while 1: # бСсконСчный Ρ†ΠΈΠΊΠ»
for x in range (50): # исполняСм Ρ†ΠΈΠΊΠ» 50 Ρ€Π°Π·
p.ChangeDutyCycle(x) # измСняСм коэффициСнт заполнСния ШИМ
time.sleep(0.01) # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° 10 мс
for x in range (50): # исполняСм Ρ†ΠΈΠΊΠ» 50 Ρ€Π°Π·
p.ChangeDutyCycle(50-x) # измСняСм коэффициСнт заполнСния ШИМ
time.sleep(0.01) # Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π° 10 мс

Всё Ρ‚Π°ΠΊΠΆΠ΅: Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ CTRL + X Π΄Π°Π»Π΅Π΅ Y ΠΈ ENTER

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

sudo python /home/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°.py

πŸŸ ΠΠ²Ρ‚ΠΎΠ·Π°ΠΏΡƒΡΠΊ ΠΏΡ€ΠΈ стартС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ настроим автозапуск:

1. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Ρ„Π°ΠΉΠ»:

sudo nano /etc/rc.local

ЛистаСм Π² самый Π½ΠΈΠ· ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ exit 0 Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Ρ‡Ρ‚ΠΎ ΠΈ Π²ΠΎΠ΄ΠΈΠ»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅:

sudo python /home/имя_ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ/Π½Π°Π·Π²Π°Π½ΠΈΠ΅_Ρ„Π°ΠΉΠ»Π°.py &

Но Π½Π΅ Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ ΠΏΡ€ΠΎ & это обСспСчит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅.

Π”Π°Π»Π΅Π΅ всё стандартно CTRL + X Π΄Π°Π»Π΅Π΅ Y ΠΈ ENTER

И всё, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π½Π°ΡˆΡƒ ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒ свСтодиод автоматичСски Π·Π°ΠΌΠΈΠ³Π°Π΅Ρ‚.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

πŸ‘‰Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ‹ заставили Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ°Π»ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊ Π°Ρ€Π΄ΡƒΠΈΠ½ΠΊΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠΈΠ³Π°Ρ‚ΡŒ свСтодиодом. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ обучатся Ардуино ΠΈ Raspberry. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° наш ΠΊΠ°Π½Π°Π» Π² Π΄Π·Π΅Π½Π΅ ΠΈ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌΠ΅, ΠΈΠ»ΠΈ просто Π·Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° страницу ΠΊΠ°Π½Π°Π»Π°, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ интСрСсныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π½Π° Π°Ρ€Π΄ΡƒΠΈΠ½ΠΎ

Π”Π·Π΅Π½:

Вася ⚑ Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ° | Π”Π·Π΅Π½

Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌΠΌ:

Вася ⚑️ Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°

ВсСго Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ!