Internet of Things
powered by Raspberry Pico W
Интернет вещей (IoT, Internet of Things) — это как волшебство, когда обычные предметы вокруг нас начинают "общаться" друг с другом через интернет. Представь, что твой чайник может отправить сообщение твоему смартфону, что вода закипела, или твой холодильник может напомнить тебе купить молоко, потому что оно заканчивается. Все эти предметы: чайники, холодильники, лампочки, термостаты, и даже машины, могут быть подключены к интернету, чтобы делать нашу жизнь удобнее.

Эти "умные" устройства собирают информацию с датчиков или ввода пользователей, обрабатывают её, и могут действовать автоматически или по команде с твоего телефона или компьютера. Например, можно настроить систему так, чтобы когда ты приближаешься к дому на машине, ворота гаража открывались автоматически, а свет в доме зажигался. Интернет вещей делает предметы умнее, помогая им работать вместе, чтобы сделать нашу жизнь лучше.
Raspberry Pi Pico — это маленькая, но мощная платка для электронных проектов, которая может помочь тебе создать почти что угодно, от умного дома до игрушек и инструментов для учебы. Представь себе маленький кусочек пластика размером с почтовую марку, но на этом кусочке сидит микрокомпьютер, который ждет, чтобы ты придал ему жизнь кодом.

У него есть пины (как маленькие ножки), которые можно соединить с лампочками, датчиками, моторчиками и другими компонентами, чтобы создавать разные устройства. Ты можешь программировать Pico на microPython, что делает его доступным даже для начинающих. Это отличный способ начать свое путешествие в мир электроники и программирования, играя и экспериментируя с реальными проектами.
Урок 1
Установка среды разработки и установка необходимых библиотек
  • Установка Thonny и первое подключение Raspberry Pi Pico W к компьютеру — это простой процесс, который можно выполнить в несколько этапов. Поехали
  • Установка Thonny - нашей среды разработки
  • 1. Скачайте Thonny: Перейдите на официальный сайт Thonny (https://thonny.org) и скачайте последнюю версию IDE для вашей операционной системы (Windows, macOS или Linux).
  • 2. Установите Thonny: Запустите скачанный установочный файл и следуйте инструкциям на экране. На большинстве операционных систем процесс установки довольно прост и не требует специальных настроек.
  • 3. Запустите Thonny: После завершения установки запустите Thonny. Вы увидите рабочую среду IDE, готовую к использованию.
  • Первое подключение Raspberry Pi Pico W к компьютеру
  • Подготовка к подключению
  • 1. Подключите micro USB кабель к Raspberry Pi Pico W: В наборе у вас есть кабель micro USB, совместимый с Raspberry Pi Pico W.
  • 2. Переведите Pico W в режим загрузки: Для этого подключите Pico к USB-порту компьютера, удерживая нажатой кнопку BOOTSEL(это маленькая кнопка на Pico) и подключите micro USB кабель к Pico и компьютеру. Отпустите кнопку после подключения. Это необходимо для того, чтобы устройство было распознано как внешний накопитель.
  • Настройка Thonny для работы с Pico W
  1. Запустите Thonny: Найдите и откройте Thonny на вашем компьютере.
  2. Выберите Pico как устройство: В Thonny перейдите в "Tools" > "Options" > "Interpreter" и выберите "MicroPython (Raspberry Pi Pico)". Убедитесь, что в качестве порта выбрано ваше устройство.
  3. Нажмите OK: Теперь вы готовы начать программировать!

  • Теперь вы готовы начать программирование на Python с помощью Thonny и вашего Raspberry Pi Pico W. Вы можете начать с простых проектов, таких как мигание светодиодом или чтение данных с датчиков, чтобы ознакомиться с процессом программирования микроконтроллера.
На картинке изображен интерфейс Thonny IDE, программы для написания и загрузки кода на микроконтроллеры, включая Raspberry Pi Pico W.

В правом нижнем углу видно, что выбрана плата Raspberry Pi Pico и используется порт COM3 для связи с ней.

Урок 2
Поморгаем светодиодом установленным на плате
  • Давайте напишем инструкцию по загрузке кода на Raspberry Pi Pico W, чтобы заставить встроенный светодиод мигать. Это классический проект для начинающих, который поможет тебе познакомиться с программированием микроконтроллера.

Шаг 1: Подготовь своё рабочее место
  • 1. Убедись, что у тебя установлена среда разработки Thonny IDE. Если нет, вернись к инструкции по установке Thonny.
  • 2. Подключи Raspberry Pi Pico W к компьютеру с помощью кабеля micro USB, удерживая нажатой кнопку BOOTSEL, чтобы перевести его в режим загрузки.

Шаг 2: Открой Thonny и настрой интерпретатор
  • 1. Запусти Thonny IDE на своём компьютере.
  • 2. Перейди в меню Tools → Options (или Thonny → Preferences на Mac), затем в раздел Interpreter.
  • 3. Выбери MicroPython (Raspberry Pi Pico) из списка и убедись, что в качестве порта выбрано твоё устройство (Raspberry Pi Pico). Нажми OK.

Шаг 3: Напиши код для мигания светодиодом
  • Теперь, когда ты настроил среду, давай напишем простой код на Python, который заставит встроенный светодиод на Raspberry Pi Pico W мигать.
  • 1. В новом файле в Thonny напиши код который представлен ниже

Шаг 4: Загрузи код на Raspberry Pi Pico W
  • 1. Сохрани код на Pico, выбрав File → Save As и убедись, что сохраняешь его на своём Raspberry Pi Pico W (выбери в диалоговом окне устройство Raspberry Pi Pico).
  • 2. Дай файлу имя, например, `blink.py`, и нажми Save.
  • После сохранения код автоматически запустится, и ты увидишь, как встроенный светодиод на Raspberry Pi Pico W начнёт мигать каждую секунду.

Этот код будет бесконечно включать и выключать встроенный светодиод на Raspberry Pi Pico W с интервалом в 0.5 секунды, создавая эффект мигания. Метод led.value() используется для получения текущего состояния светодиода (включен или выключен), и затем мы используем логическое отрицание (not) для изменения его на противоположное. Функция sleep(0.5) создает задержку в 0.5 секунды между переключениями состояния, чтобы мигание не было слишком быстрым.

# Импортируем класс Pin из модуля machine для управления пинами GPIO
from machine import Pin
# Импортируем функцию sleep из модуля time для создания паузы
from time import sleep

# Создаем объект Pin для управления встроенным светодиодом
# 'LED' указывает на встроенный светодиод, Pin.OUT устанавливает пин как выход
led = Pin('LED', Pin.OUT)

# Создаем бесконечный цикл, чтобы светодиод продолжал мигать
while True:
    # Изменяем состояние светодиода на противоположное
    # Если он был включен (1), то выключаем (0), и наоборот
    led.value(not led.value())
    
    # Ждем полсекунды перед следующим изменением состояния светодиода
    sleep(0.5)
Урок 3
Считаем температуру с датчика установленного на плате
Чтобы считать температуру со встроенного датчика температуры на Raspberry Pi Pico W, выполните следующие шаги:
  1. Подключите Raspberry Pi Pico W к компьютеру с помощью кабеля micro USB.
  2. Откройте Thonny IDE на вашем компьютере.
  3. Создайте новый файл в Thonny и вставьте код указанный ниже:
  4. Сохраните файл на вашем Pico W. Выберите "File" → "Save as" и убедитесь, что вы сохраняете его на Pico, а не на компьютере.
  5. Запустите скрипт, нажав на кнопку "Run" в Thonny. Вы увидите показания температуры в консоли Thonny.
Этот код будет непрерывно считывать температуру с встроенного датчика и выводить результаты в консоль каждые две секунды. Обратите внимание, что показания встроенного датчика температуры могут быть не очень точными и могут быть подвержены влиянию температуры микроконтроллера.


# Импортируем класс ADC для аналого-цифрового преобразования и модуль time для управления временем
from machine import ADC
import time

# Создаем объект ADC для считывания аналогового сигнала с 4-го канала GPIO
adc = ADC(4)

# Бесконечный цикл для непрерывного считывания и вывода температуры
while True:
    # Считываем значение с АЦП и преобразуем его в напряжение
    ADC_voltage = adc.read_u16() * (3.3 / (65536))
    
    # Преобразуем напряжение в температуру в градусах Цельсия
    # Используем характеристики датчика температуры, которые указаны в его документации
    temperature_celcius = 27 - (ADC_voltage - 0.706)/0.001721
    
    # Преобразуем температуру в градусы Цельсия в температуру в градусы Фаренгейта
    temp_fahrenheit = 32 + (1.8 * temperature_celcius)
    
    # Выводим измеренные температуры в консоль
    print("Temperature: {}°C {}°F".format(temperature_celcius, temp_fahrenheit))
    
    # Задержка на 500 миллисекунд перед следующим измерением
    time.sleep_ms(500)
В нижней области Shell будут отображаться данные с датчика

Попробуйте согреть датчик дыханием

Измените код так, чтобы данные обновлялись раз в 5 секунд

Internet of Things
powered by Raspberry Pico W