Этот учебник является частью: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
Файлы, относящиеся к этой группе, будут отображаться вместе. Ссылки на другие видеоролики находятся ниже этой статьи.
Курс Урок 2 из 10: Основы Python для управления 4WD смарт-автомобилем на Raspberry Pi Pico
Во втором уроке курса Robojax Raspberry Pi Pico 4WD Smart Car мы погружаемся в фундаментальные концепции программирования на Python, которые позволят вам управлять вашим роботом. Это руководство разработано так, чтобы провести вас от нулевого опыта в программировании до уверенного написания скриптов, управляющих аппаратным обеспечением. Вместо простого запоминания синтаксиса мы исследуем «почему» за каждой концепцией, давая вам инструменты для создания и настройки собственных проектов. К концу этого урока у вас будет прочное понимание переменных, управляющих конструкций, функций и списков — строительных блоков для всех будущих проектов.
Эти знания нужны не только для умного автомобиля. Принципы, которые вы здесь изучите, используются в бесчисленных реальных приложениях. Вы можете применить эти навыки для:
- Автоматизации домашней теплицы для управления вентиляторами, насосами и освещением на основе данных с датчиков.
- Создания собственной системы безопасности, которая запускает сигнализацию или отправляет уведомления.
- Создания интерактивных художественных инсталляций, реагирующих на окружающую среду.
- Разработки собственных моделей поведения робота, выходящих за рамки предустановленных.
Аппаратное обеспечение/Компоненты
Чтобы следовать примерам с аппаратным обеспечением в этом уроке, вам понадобятся следующие компоненты. Все они входят в комплект SunFounder Raspberry Pi Pico 4WD Smart Car Kit, но их можно приобрести отдельно для самостоятельных экспериментов.
- Raspberry Pi Pico: Микроконтроллер — мозг проекта.
- Светодиод: Используется для демонстрации управления цифровым выходом.
- Резистор (150 Ом – 330 Ом): Для ограничения тока и защиты светодиода.
- Соединительные провода: Для создания соединений на макетной плате.
- Макетная плата: Для прототипирования вашей схемы.
Руководство по подключению
Для аппаратной демонстрации в этом уроке мы соберем простую схему для управления светодиодом с помощью Raspberry Pi Pico. Подключение простое и является классическим первым шагом в физических вычислениях. Ключевой момент — использовать токоограничивающий резистор, чтобы предотвратить перегорание светодиода. Резистор подключается последовательно со светодиодом. Длинная ножка светодиода (анод) — это положительное соединение, а короткая ножка (катод) — отрицательное.
В видео инструктор использует резистор, подключенный к контакту заземления и короткой ножке светодиода. Длинная ножка подключена к контакту GPIO 22. Эта схема позволяет Pico отправлять высокий сигнал (3,3 В) на контакт, чтобы включить светодиод, и низкий сигнал (0 В), чтобы выключить его.
Примечание: Схема подключения показана в видео. Пожалуйста, обратитесь к визуальному руководству для точного размещения.
Объяснение кода
Этот урок посвящен основному синтаксису и логике Python, которые необходимы для управления вашим роботом. Давайте разберем ключевые концепции, рассмотренные в видео. Примеры кода написаны на MicroPython — версии Python, предназначенной для работы на микроконтроллерах, таких как Raspberry Pi Pico.
Переменные и типы данных
Переменные подобны подписанным коробкам, в которых вы храните информацию. В Python не нужно объявлять тип переменной; он определяется автоматически из присвоенного значения. (в видео на 03:33)
age = 23 # Это целое число
name = "Ahmad" # Это строка (текст)
pi = 3.14 # Это число с плавающей точкой (десятичное)
Вы можете использовать эти переменные в вычислениях и выводить их значения. Например, чтобы рассчитать количество дней для данного возраста, вы можете использовать days = age * 365. Функция print() используется для вывода данных на консоль.
Условные операторы (If/Else)
Условные операторы позволяют вашему коду принимать решения. Это крайне важно для робота, чтобы реагировать на окружающую среду, например, останавливаться при обнаружении препятствия. (в видео на 07:39)
age = 16
if age >= 17:
print("You can drive")
else:
print("Too young to drive")
Оператор if проверяет условие. Если условие истинно (True), выполняется блок кода с отступом под ним. Если оно ложно (False), выполняется код под оператором else. Отступы (пробелы в начале строки) критически важны в Python; они определяют, какой код принадлежит какому блоку.
Циклы (For и While)
Циклы используются для повторения блока кода. Это идеально подходит для таких задач, как сканирование значений датчиков или перемещение двигателя через последовательность шагов. (в видео на 09:04)
Цикл For: Этот цикл повторяется определенное количество раз.
for x in range(5): # x будет 0, 1, 2, 3, 4
print(x)
Цикл While: Этот цикл продолжается, пока условие истинно. Это полезно для создания основного программного цикла, который работает бесконечно, пока не произойдет определенное событие. (в видео на 12:13)
x = 9
while x > 5:
print("Value of x is:", x)
x = x - 1 # Уменьшаем x
print("Loop finished")
Будьте осторожны с циклами while True:. Они будут работать бесконечно, если только вы не используете оператор break для выхода из цикла или не остановите программу.
Функции
Функции — это переиспользуемые блоки кода, которые выполняют определенную задачу. Они помогают поддерживать порядок в коде и предотвращают повторение. (в видео на 14:52)
def calculate_days(years):
days = years * 365
return days
# Теперь мы можем использовать эту функцию несколько раз
days_in_10_years = calculate_days(10)
print("Days in 10 years:", days_in_10_years)
Здесь calculate_days — это функция, которая принимает аргумент (years) и возвращает значение. Это эффективнее, чем писать одно и то же вычисление снова и снова. В видео также показано, как одна функция может вызывать другую, что позволяет создавать сложные операции из простых, тестируемых частей.
Списки
Списки используются для хранения упорядоченной коллекции элементов. Это идеально подходит для хранения последовательности команд для вашего робота, например, «вперёд», «назад», «влево» и «вправо». (в видео на 19:15)
move = ["forward", "back", "left", "right", "stop"]
print(len(move)) # Выводит количество элементов в списке (5)
print(move[0]) # Выводит первый элемент, "forward"
# Можно добавлять элементы
move.append("cliff")
# Можно удалять элементы
move.pop() # Удаляет "cliff"
# Можно изменять элементы
move[2] = "fly" # Изменяет третий элемент на "fly"
Списки индексируются с нуля, то есть первый элемент находится по индексу 0. Функция len() возвращает длину списка, а с помощью цикла for можно перебрать все элементы. Также представлена функция enumerate(), которая во время цикла даёт и индекс, и значение, что полезно при работе с несколькими пинами или датчиками.
Работа с пинами и временем
Здесь вы соединяете логику Python с физическим миром. Вы используете библиотеку machine для управления GPIO-пинами Pico. (в видео на 25:16)
from machine import Pin
import time
# Настройка пина 22 как выхода
led = Pin(22, Pin.OUT)
# Включение и выключение светодиода
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Вы также можете считывать данные с пина, настроив его как вход с помощью Pin(2, Pin.IN). Библиотека time необходима для добавления задержек (time.sleep()) и для измерения прошедшего времени с помощью time.ticks_ms() или преобразования между форматами времени с помощью time.localtime() и time.mktime(). Это важно для логики, основанной на времени, например, для создания сигнала широтно-импульсной модуляции (ШИМ) для управления скоростью двигателя.
Живой проект/демонстрация
В видео преподаватель проводит живую демонстрацию этих концепций. Он начинает с простых операторов print() и присваивания переменных в интерпретаторе Python. Затем он переходит к более сложным примерам, наглядно показывая, как операторы if изменяют ход программы в зависимости от значения переменной.
Затем преподаватель демонстрирует практический пример с оборудованием, подключая светодиод к Raspberry Pi Pico. Он пишет простой скрипт на MicroPython, который включает и выключает светодиод с задержкой в одну секунду, показывая прямой результат управления физическим выходом с помощью кода. Этот практический пример закрепляет связь между логикой программирования и реальными действиями. Урок завершается показом того, как использовать enumerate для управления несколькими пинами и как использовать модуль time для более продвинутых операций синхронизации и планирования.
Главы
- [00:00] Введение в курс «Умный автомобиль на Raspberry Pi Pico»
- [01:31] Обзор курса и возможности набора
- [03:33] Переменные и типы данных в Python
- [07:39] Условные операторы (If/Else)
- [09:04] Понимание циклов For
- [12:13] Изучение циклов While
- [14:52] Определение и использование функций
- [19:15] Работа со списками и структурами данных
- [25:16] Управление GPIO-пинами с помощью MicroPython
- [29:54] Практический пример: мигание светодиодом
- [31:15] Расширенное управление пинами с помощью Enumerate
- [31:24] Работа с функциями времени
Этот учебник является частью: SunFounder Rasberry Pi Pico Pico 4WD Smart Car Kit
- Курс Урок 1 из 10: Raspberry Pi Pico 4WD Smart Car Kit от SunFounder от Robojax
- Курс Урок 3 из 10: Сборка 4WD смарт-автомобиля Raspberry Pi Pico от SunFounder (Robojax)
- Курс Урок 4 из 10: Плата расширения Raspberry Pi Pico для 4WD смарт-автомобильного набора
- Курс Урок 5 из 10: Управление RGB-светодиодом WS2812B с помощью Raspberry Pi Pico
- Курс Урок 6 из 10: Управление двигателями постоянного тока с помощью Raspberry Pi Pico 4WD Smart Car Kit
- Урок 7 из 10: Отслеживание линии, обнаружение обрыва. Калибровка датчика оттенков серого. Автомобиль на Raspberry Pi Pico
- Курс Урок 8 из 10: Умный автомобиль на Raspberry Pi Pico – Урок 8: Серводвигатель и следование за объектом
- Курс Урок 9 из 10: Обход препятствий с использованием Raspberry Pi Pico 4WD Smart Car
- Курс Урок 10 из 10: Управление 4WD смарт-автомобилем Raspberry Pi Pico с помощью мобильного приложения
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
Ресурсы и ссылки
Ресурсов пока нет.
Файлы📁
Нет доступных файлов.