This tutorial is part of: Inteligentná súprava do auta SunFounder Rasberry Pi Pico Pico 4WD
Súbory súvisiace s touto skupinou sa zobrazia spolu. Odkazy na ďalšie videá nájdete pod týmto článkom.
Kurz Lekcia 2 z 10: Základný Python na ovládanie 4WD Smart Car Kitu s Raspberry Pi Pico
V tejto druhej lekcii kurzu Robojax Raspberry Pi Pico 4WD Smart Car sa ponoríme do základných konceptov programovacieho jazyka Python, ktoré vám umožnia ovládať vášho robota. Táto príručka je navrhnutá tak, aby vás posunula od nulových skúseností s kódovaním k sebavedomému písaniu skriptov, ktoré ovládajú hardvér. Namiesto memorovania syntaxe preskúmame „prečo" za každým konceptom, čo vám dá nástroje na vytváranie a prispôsobovanie vlastných projektov. Na konci tejto lekcie budete mať solídne pochopenie premenných, riadenia toku, funkcií a zoznamov – základných stavebných blokov pre všetky budúce projekty.
Tieto vedomosti nie sú len pre smart auto. Princípy, ktoré sa tu naučíte, sú rovnaké ako tie, ktoré sa používajú v nespočetných aplikáciách v reálnom svete. Tieto zručnosti môžete aplikovať na:
- Automatizáciu domáceho skleníka na ovládanie ventilátorov, čerpadiel a svetiel na základe údajov zo senzorov.
- Vytvorenie vlastného bezpečnostného systému, ktorý spúšťa alarmy alebo posiela upozornenia.
- Vytváranie interaktívnych umeleckých inštalácií, ktoré reagujú na prostredie.
- Vyvíjanie vlastných robotických správaní nad rámec predprogramovaných.
Hardvér/Komponenty
Na sledovanie hardvérových príkladov v tejto lekcii budete potrebovať nasledujúce komponenty. Všetky sú súčasťou súpravy SunFounder Raspberry Pi Pico 4WD Smart Car Kit, ale dajú sa kúpiť jednotlivo pre samostatné experimenty.
- Raspberry Pi Pico: Mikrokontrolér – mozog projektu.
- LED dióda: Používa sa na demonštráciu digitálneho výstupného ovládania.
- Rezistor (150Ω – 330Ω): Na obmedzenie prúdu a ochranu LED diódy.
- Prepojovacie vodiče: Na vytváranie spojení na breadboarde.
- Breadboard: Na prototypovanie vášho obvodu.
Sprievodca zapojením
Pre hardvérovú demonštráciu v tejto lekcii postavíme jednoduchý obvod na ovládanie LED diódy pomocou Raspberry Pi Pico. Zapojenie je jednoduché a je klasickým prvým krokom vo fyzickej výpočtovej technike. Kľúčové je použiť rezistor obmedzujúci prúd, aby sa LED dióda nespálila. Rezistor je zapojený sériovo s LED diódou. Dlhá nožička LED diódy (anóda) je pozitívne pripojenie a krátka nožička (katóda) je negatívne pripojenie.
Vo videu inštruktor používa rezistor pripojený k uzemňovaciemu pinu a krátkej nožičke LED diódy. Dlhá nožička je pripojená na GPIO pin 22. Toto nastavenie umožňuje Pico poslať vysoký signál (3,3 V) na pin, aby sa LED dióda zapla, a nízky signál (0 V), aby sa vypla.
Poznámka: Schéma zapojenia je zobrazená vo videu. Presné umiestnenie nájdete vo vizuálnom sprievodcovi.
Vysvetlenie kódu
Táto lekcia sa zameriava na základnú syntax a logiku Pythonu, ktorá je nevyhnutná na ovládanie vášho robota. Poďme si rozobrať kľúčové koncepty z videa. Príklady kódu sú napísané v MicroPythone, verzii Pythonu navrhnutej na spustenie na mikrokontroléroch, ako je Raspberry Pi Pico.
Premenné a dátové typy
Premenné sú ako označené škatule, do ktorých ukladáte informácie. V Pythone nemusíte deklarovať typ premennej; je odvodený z hodnoty, ktorú priradíte. (vo videu o 03:33)
age = 23 # Toto je celé číslo
name = "Ahmad" # Toto je reťazec (text)
pi = 3.14 # Toto je desatinné číslo
Tieto premenné môžete použiť vo výpočtoch a vypísať ich hodnoty. Napríklad na výpočet počtu dní pre daný vek by ste mohli použiť days = age * 365. Funkcia print() sa používa na zobrazenie výstupu do konzoly.
Podmienené príkazy (If/Else)
Podmienené príkazy umožňujú vášmu kódu robiť rozhodnutia. To je kľúčové, aby robot reagoval na svoje prostredie, napríklad zastavil, keď zistí prekážku. (vo videu o 07:39)
age = 16
if age >= 17:
print("Môžeš šoférovať")
else:
print("Príliš mladý na šoférovanie")
Príkaz if kontroluje podmienku. Ak je podmienka True, vykoná sa odsadený blok kódu pod ňou. Ak je False, vykoná sa kód pod príkazom else. Odsadenie (medzery na začiatku riadka) je v Pythone kritické; definuje, ktorý kód patrí do ktorého bloku.
Cykly (For a While)
Cykly sa používajú na opakovanie bloku kódu. To je ideálne pre úlohy, ako je skenovanie hodnôt senzorov alebo pohyb motora cez sekvenciu krokov. (vo videu o 09:04)
Cykel For: Tento cyklus iteruje konkrétny počet krát.
for x in range(5): # x bude 0, 1, 2, 3, 4
print(x)
Cykel While: Tento cyklus pokračuje, pokiaľ je podmienka pravdivá. To je užitočné na vytvorenie hlavného programového cyklu, ktorý beží donekonečna, kým nenastane konkrétna udalosť. (vo videu o 12:13)
x = 9
while x > 5:
print("Hodnota x je:", x)
x = x - 1 # Zníženie x
print("Cykel skončil")
Buďte opatrní s cyklami while True:. Budú bežať donekonečna, pokiaľ nepoužijete príkaz break na ukončenie cyklu alebo nezastavíte program.
Funkcie
Funkcie sú opätovne použiteľné bloky kódu, ktoré vykonávajú konkrétnu úlohu. Pomáhajú udržiavať váš kód organizovaný a zabraňujú opakovaniu. (vo videu o 14:52)
def calculate_days(years):
days = years * 365
return days
# Teraz môžeme túto funkciu použiť viackrát
days_in_10_years = calculate_days(10)
print("Dní za 10 rokov:", days_in_10_years)
Tu, calculate_days je funkcia, ktorá prijíma argument (years) a vracia hodnotu. Toto je efektívnejšie ako písať rovnaký výpočet znova a znova. Video tiež ukazuje, ako môže jedna funkcia volať druhú, čo vám umožňuje vytvárať zložité operácie z jednoduchých, testovateľných častí.
Zoznamy
Zoznamy sa používajú na ukladanie usporiadanej kolekcie položiek. To je ideálne na ukladanie sekvencie príkazov pre vášho robota, ako napríklad „dopredu", „dozadu", „vľavo" a „vpravo". (vo videu o 19:15)
move = ["dopredu", "dozadu", "vľavo", "vpravo", "stop"]
print(len(move)) # Vytlačí počet položiek v zozname (5)
print(move[0]) # Vytlačí prvú položku, "dopredu"
# Môžete pridať položky
move.append("útes")
# Môžete odstrániť položky
move.pop() # Odstráni "útes"
# Môžete zmeniť položky
move[2] = "letieť" # Zmení tretiu položku na "letieť"
Zoznamy sú indexované od nuly, čo znamená, že prvá položka je na indexe 0. Funkcia len() vám dá dĺžku zoznamu a môžete použiť cyklus for na prechod cez všetky položky. Funkcia enumerate() je tiež predstavená, ktorá vám počas cyklu dá index aj hodnotu, čo je užitočné pri práci s viacerými pinmi alebo senzormi.
Práca s pinmi a časom
Toto je miesto, kde pripájate logiku Pythonu k fyzickému svetu. Používate knižnicu machine na ovládanie GPIO pinov Pico. (vo videu o 25:16)
from machine import Pin
import time
# Nastavenie pinu 22 ako výstup
led = Pin(22, Pin.OUT)
# Zapnutie a vypnutie LED
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Môžete tiež čítať z pinu nastavením ako vstup pomocou Pin(2, Pin.IN). Knižnica time je nevyhnutná na pridávanie oneskorení (time.sleep()) a na meranie uplynutého času pomocou time.ticks_ms() alebo na prevod medzi časovými formátmi pomocou time.localtime() a time.mktime(). To je kľúčové pre logiku založenú na čase, ako je vytváranie signálu pulznej šírkovej modulácie (PWM) na ovládanie rýchlosti motora.
Živý projekt/demonštrácia
Vo videu inštruktor poskytuje živú demonštráciu týchto konceptov. Začína ukážkou jednoduchých príkazov print() a priradení premenných v interpretery Pythonu. Potom prechádza na zložitejšie príklady, vizuálne ukazujúc, ako príkazy if menia tok programu na základe hodnoty premennej.
Inštruktor potom demonštruje praktický hardvérový príklad pripojením LED k Raspberry Pi Pico. Napíše jednoduchý skript v MicroPythone, ktorý zapína a vypína LED s jednosekundovým oneskorením, čo ukazuje priamy výsledok ovládania fyzického výstupu kódom. Tento praktický príklad upevňuje spojenie medzi programovacou logikou a akciou v reálnom svete. Lekcia sa končí ukážkou, ako použiť enumerate na správu viacerých pinov a ako použiť modul time na pokročilejšie časovacie a plánovacie operácie.
Kapitoly
- [00:00] Úvod do kurzu Raspberry Pi Pico Smart Car
- [01:31] Prehľad kurzu a možnosti súpravy
- [03:33] Premenné a dátové typy v Pythone
- [07:39] Podmienené príkazy (If/Else)
- [09:04] Pochopenie cyklov For
- [12:13] Skúmanie cyklov While
- [14:52] Definovanie a používanie funkcií
- [19:15] Práca so zoznamami a dátovými štruktúrami
- [25:16] Ovládanie GPIO pinov s MicroPythonom
- [29:54] Praktický príklad: Blikanie LED
- [31:15] Pokročilé ovládanie pinov s Enumerate
- [31:24] Práca s časovými funkciami
This tutorial is part of: Inteligentná súprava do auta SunFounder Rasberry Pi Pico Pico 4WD
- Kurz Lekcia 1 z 10: Raspberry Pi Pico 4WD Smart Car Kit od SunFounder od Robojax
- Kurz Lekcia 3 z 10: Zostavenie Raspberry Pi Pico 4WD Smart Car Kit od SunFounder od Robojax
- Kurz Lekcia 4 z 10: Rozširujúca doska Raspberry Pi Pico pre 4WD Smart Car Kit
- Kurz Lekcia 5 z 10: Ovládanie RGB LED WS2812B pomocou Raspberry Pi Pico
- Kurz Lekcia 6 z 10: Ovládanie jednosmerných motorov pomocou Raspberry Pi Pico 4WD Smart Car Kit
- Lekcia 7 z 10: Sledovanie čiary, detekcia útesu Kalibrácia stupňa šede senzora Raspberry Pi Pico auto
- Kurz Lekcia 8 z 10: Raspberry Pi Pico Smart Car – Lekcia 8: Servomotor a sledovanie objektov
- Kurz Lekcia 9 z 10: Vyhýbanie sa prekážkam pomocou inteligentného auta Raspberry Pi Pico 4WD
- Kurz Lekcia 10 z 10: Ovládanie Raspberry Pi Pico 4WD Smart Car Kit pomocou mobilnej aplikácie
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.