This tutorial is part of: Комплет за паметни автомобили SunFounder Rasberry Pi Pico Pico 4WD
Датотеките поврзани со оваа група ќе бидат прикажани заедно. Линковите до други видеа се наоѓаат под оваа статија.
Лекција 2 од 10: Основен Python за управување со Raspberry Pi Pico 4WD Smart Car Kit
Во оваа втора лекција од курсот Robojax Raspberry Pi Pico 4WD Smart Car, навлегуваме во основните концепти на Python програмирањето кои ќе ви овозможат да го контролирате вашиот робот. Овој водич е дизајниран да ве одведе од нула искуство со кодирање до самоуверено пишување скрипти кои контролираат хардвер. Наместо само да меморирате синтакса, ќе го истражиме „зоштото“ зад секој концепт, давајќи ви алатки да градите и прилагодувате свои проекти. До крајот на оваа лекција, ќе имате солидно разбирање за променливите, контролата на текот, функциите и листите — градежните блокови за сите идни проекти.
Ова знаење не е само за паметен автомобил. Принципите што ќе ги научите овде се истите што се користат во безброј реални апликации. Можете да ги примените овие вештини на:
- Автоматизирање на домашна стаклена градина за контрола на вентилатори, пумпи и светла врз основа на податоци од сензори.
- Изградба на прилагоден безбедносен систем што активира аларми или испраќа известувања.
- Креирање интерактивни уметнички инсталации што реагираат на околината.
- Развивање сопствени прилагодени однесувања на роботи надвор од претходно програмираните.
Хардвер/Компоненти
За да ги следите хардверските примери во оваа лекција, ќе ви требаат следниве компоненти. Сите тие се дел од комплетот SunFounder Raspberry Pi Pico 4WD Smart Car, но можат да се купат поединечно за самостојни експерименти.
- Raspberry Pi Pico: Микроконтролерскиот мозок на проектот.
- LED диода: Се користи за демонстрација на дигитална излезна контрола.
- Отпорник (150Ω - 330Ω): За ограничување на струјата и заштита на LED диодата.
- Поврзувачки жици: За правење врски на breadboard.
- Breadboard: За прототипирање на вашето коло.
Водич за поврзување
За хардверската демонстрација во оваа лекција, ќе изградиме едноставно коло за контрола на LED диода со Raspberry Pi Pico. Поврзувањето е едноставно и е класичен прв чекор во физичкото пресметување. Клучот е да се користи отпорник за ограничување на струјата за да се спречи прегорување на LED диодата. Отпорникот е поврзан во серија со LED диодата. Долгата нога на LED диодата (анодата) е позитивната врска, а кратката нога (катодата) е негативната врска.
Во видеото, инструкторот користи отпорник поврзан со ground пинот и кратката нога на LED диодата. Долгата нога е поврзана со GPIO пин 22. Оваа поставка му овозможува на Pico да испрати висок (3.3V) сигнал до пинот за да ја вклучи LED диодата и низок (0V) сигнал за да ја исклучи.
Забелешка: Дијаграмот за поврзување е прикажан во видеото. Ве молиме погледнете го визуелниот водич за точно позиционирање.
Објаснување на кодот
Оваа лекција се фокусира на основните Python синтакси и логика, што е од суштинско значење за контрола на вашиот робот. Ајде да ги разложиме клучните концепти опфатени во видеото. Примерите на код се напишани во MicroPython, верзија на Python дизајнирана да работи на микроконтролери како Raspberry Pi Pico.
Променливи и типови на податоци
Променливите се како означени кутии каде што чувате информации. Во Python, не треба да го декларирате типот на променливата; тој се заклучува од вредноста што ја доделувате. (во видео на 03:33)
age = 23 # Ова е цел број
name = "Ahmad" # Ова е стринг (текст)
pi = 3.14 # Ова е float (децимален број)
Можете да ги користите овие променливи во пресметки и да ги печатите нивните вредности. На пример, за да го пресметате бројот на денови за дадена возраст, можете да користите days = age * 365. Функцијата print() се користи за прикажување на излез на конзолата.
Условни изјави (If/Else)
Условните изјави му овозможуваат на вашиот код да донесува одлуки. Ова е клучно за робот да реагира на својата околина, како запирање кога ќе открие пречка. (во видео на 07:39)
age = 16
if age >= 17:
print("Можеш да возиш")
else:
print("Премногу млад за да возиш")
Изјавата 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("Вредноста на x е:", x)
x = x - 1 # Намали x
print("Јамката заврши")
Бидете внимателни со while True: јамки. Тие ќе работат вечно освен ако не користите изјава break за да излезете од јамката или не ја запрете програмата.
Функции
Функциите се повеќекратно употребливи блокови код што извршуваат специфична задача. Тие помагаат да го одржувате вашиот код организиран и да спречите повторување. (во видео на 14:52)
def calculate_days(years):
days = years * 365
return days
# Сега можеме да ја користиме оваа функција повеќе пати
days_in_10_years = calculate_days(10)
print("Денови во 10 години:", days_in_10_years)
Овде, calculate_days е функција која прима аргумент (years) и враќа вредност. Ова е поефикасно отколку да ја пишувате истата пресметка одново и одново. Видеото исто така покажува како една функција може да повика друга, овозможувајќи ви да градите сложени операции од едноставни, тестирани делови.
Листи
Листите се користат за складирање на подредена колекција на ставки. Ова е совршено за складирање на низа команди за вашиот робот, како „напред“, „назад“, „лево“ и „десно“. (во видео на 19:15)
move = ["напред", "назад", "лево", "десно", "стоп"]
print(len(move)) # Печати го бројот на ставки во листата (5)
print(move[0]) # Печати ја првата ставка, „напред“
# Можете да додавате ставки
move.append("провира")
# Можете да отстранувате ставки
move.pop() # Отстранува „провира“
# Можете да менувате ставки
move[2] = "лета" # Ја менува третата ставка во „лета“
Листите се нула-индексирани, што значи дека првата ставка е на индекс 0. Функцијата len() ви ја дава должината на листата, и можете да користите for јамка за да поминете низ сите ставки. Функцијата enumerate() исто така е воведена, која ви дава и индекс и вредност за време на јамка, што е корисно за работа со повеќе пинови или сензори.
Работа со Пинови и Време
Ова е местото каде што ја поврзувате Python логиката со физичкиот свет. Ја користите библиотеката machine за да ги контролирате GPIO пиновите на Pico. (во видео на 25:16)
from machine import Pin
import time
# Поставете пин 22 како излез
led = Pin(22, Pin.OUT)
# Вклучете и исклучете ја LED светилката
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Можете исто така да читате од пин со поставување како влез со Pin(2, Pin.IN). Библиотеката time е суштинска за додавање на одложувања (time.sleep()) и за мерење на изминато време користејќи time.ticks_ms() или конвертирање помеѓу временски формати со time.localtime() и time.mktime(). Ова е клучно за логика базирана на време, како создавање на пулсно-ширинска модулација (PWM) сигнал за контрола на брзината на моторот.
Жив Проект/Демонстрација
Во видеото, инструкторот дава жива демонстрација на овие концепти. Тој започнува со покажување на едноставни print() изјави и доделување на променливи во Python интерпретер. Потоа преминува на посложени примери, визуелно покажувајќи како if изјавите го менуваат текот на програмата врз основа на вредноста на променливата.
Инструкторот потоа демонстрира практичен хардверски пример со поврзување на LED светилка на Raspberry Pi Pico. Тој пишува едноставна MicroPython скрипта која ја вклучува и исклучува LED светилката со одложување од една секунда, покажувајќи го директниот резултат на контролирање на физички излез со код. Овој практичен пример ја зацврстува врската помеѓу програмската логика и реалната акција. Лекцијата завршува со покажување како да се користи enumerate за управување со повеќе пинови и како да се користи модулот time за понапредни временски и распоредувачки операции.
Поглавја
- [00:00] Вовед во курсот за Raspberry Pi Pico Паметен Автомобил
- [01:31] Преглед на курсот и можности на комплетот
- [03:33] Променливи и типови на податоци во Python
- [07:39] Условни изјави (Ако/Инаку)
- [09:04] Разбирање на For јамки
- [12:13] Истражување на While јамки
- [14:52] Дефинирање и користење на функции
- [19:15] Работа со листи и структури на податоци
- [25:16] Контролирање на GPIO пинови со MicroPython
- [29:54] Практичен пример: Трепкање на LED светилка
- [31:15] Напредна контрола на пинови со Enumerate
- [31:24] Работа со временски функции
This tutorial is part of: Комплет за паметни автомобили SunFounder Rasberry Pi Pico Pico 4WD
- Курс Лекција 1 од 10: Raspberry Pi Pico 4WD паметен автомобил комплет од SunFounder од Robojax
- Лекција 3 од 10: Составување на Raspberry Pi Pico 4WD паметен автомобил комплет од SunFounder од Robojax
- Курс Лекција 4 од 10: Проширена плоча Raspberry Pi Pico за 4WD паметен автомобил комплет
- Курс Лекција 5 од 10: Контролирање на RGB LED WS2812B со користење на Raspberry Pi Pico
- Курс Лекција 6 од 10: Контролирање на DC мотори користејќи Raspberry Pi Pico 4WD паметен автомобил комплет
- Лекција 7 од 10: Следење на линија, детекција на карпа Калибрирање на сивоскалниот сензор Raspberry Pi Pico автомобил
- Курс Лекција 8 од 10: Паметен автомобил Raspberry Pi Pico – Лекција 8: Серво мотор и следење на објекти
- Курс Лекција 9 од 10: Избегнување пречки користејќи Raspberry Pi Pico 4WD паметен автомобил
- Курс Лекција 10 од 10: Контролирање на Raspberry Pi Pico 4WD паметен автомобил комплет со мобилна апликација
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
Resources & references
No resources yet.
Files📁
No files available.