Ovaj tutorijal je dio: SunFounder Rasberry Pi Pico Pico 4WD pametni komplet za automobil
Datoteke povezane s ovom grupom bit će prikazane zajedno. Linkovi do drugih videozapisa nalaze se ispod ovog članka.
Kurs Lekcija 2 od 10: Osnovni Python za upravljanje Raspberry Pi Pico 4WD Smart Car Kitom
U ovoj drugoj lekciji kursa Robojax Raspberry Pi Pico 4WD Smart Car, ulazimo u osnovne koncepte Python programiranja koji će vam omogućiti da upravljate svojim robotom. Ovaj vodič je dizajniran da vas odvede od nula iskustva u kodiranju do samopouzdanog pisanja skripti koje upravljaju hardverom. Umjesto da samo pamtite sintaksu, istražit ćemo "zašto" iza svakog koncepta, dajući vam alate za izgradnju i prilagođavanje vlastitih projekata. Do kraja ove lekcije, imat ćete solidno razumijevanje varijabli, kontrolnih tokova, funkcija i listi—gradivnih blokova za sve buduće projekte.
Ovo znanje nije samo za pametni automobil. Principi koje ćete ovdje naučiti su isti oni koji se koriste u bezbrojnim stvarnim aplikacijama. Ove vještine možete primijeniti na:
- Automatizaciju kućnog staklenika za kontrolu ventilatora, pumpi i svjetala na osnovu podataka sa senzora.
- Izgradnju prilagođenog sigurnosnog sistema koji pokreće alarme ili šalje obavijesti.
- Kreiranje interaktivnih umjetničkih instalacija koje reagiraju na okolinu.
- Razvijanje vlastitih prilagođenih ponašanja robota izvan onih unaprijed programiranih.
Hardver/Komponente
Da biste pratili hardverske primjere u ovoj lekciji, trebat će vam sljedeće komponente. Sve su one dio SunFounder Raspberry Pi Pico 4WD Smart Car Kita, ali se mogu kupiti pojedinačno za samostalne eksperimente.
- Raspberry Pi Pico: Mikrokontrolerski mozak projekta.
- LED dioda: Koristi se za demonstraciju digitalne izlazne kontrole.
- Otpornik (150Ω - 330Ω): Za ograničavanje struje i zaštitu LED diode.
- Kratkospojne žice: Za uspostavljanje veza na breadboardu.
- Breadboard: Za izradu prototipa vašeg kruga.
Vodič za povezivanje
Za hardversku demonstraciju u ovoj lekciji, izgradit ćemo jednostavan krug za kontrolu LED diode pomoću Raspberry Pi Pico. Povezivanje je jednostavno i predstavlja klasičan prvi korak u fizičkom računarstvu. Ključ je u korištenju otpornika za ograničavanje struje kako bi se spriječilo pregorevanje LED diode. Otpornik je spojen serijski sa LED diodom. Duga noga LED diode (anoda) je pozitivna veza, a kratka noga (katoda) je negativna veza.
U videu, instruktor koristi otpornik spojen na ground pin i kratku nogu LED diode. Duga noga je spojena na GPIO pin 22. Ova postavka omogućava Pico-u da pošalje visok (3.3V) signal na pin da uključi LED diodu i nizak (0V) signal da je isključi.
Napomena: Dijagram povezivanja je prikazan u videu. Molimo pogledajte vizualni vodič za tačan raspored.
Objašnjenje koda
Ova lekcija se fokusira na osnovnu Python sintaksu i logiku, što je neophodno za upravljanje vašim robotom. Hajde da raščlanimo ključne koncepte obrađene u videu. Primjeri koda su napisani u MicroPython-u, verziji Pythona dizajniranoj za rad na mikrokontrolerima poput Raspberry Pi Pico.
Varijable i tipovi podataka
Varijable su poput označenih kutija u kojima pohranjujete informacije. U Pythonu, ne morate deklarirati tip varijable; on se zaključuje iz vrijednosti koju dodijelite. (u videu na 03:33)
age = 23 # Ovo je cijeli broj
name = "Ahmad" # Ovo je string (tekst)
pi = 3.14 # Ovo je float (decimalni broj)
Ove varijable možete koristiti u proračunima i ispisivati njihove vrijednosti. Na primjer, da biste izračunali broj dana za datu dob, mogli biste koristiti days = age * 365. Funkcija print() se koristi za prikaz izlaza na konzoli.
Uslovni iskazi (If/Else)
Uslovni iskazi omogućavaju vašem kodu da donosi odluke. Ovo je ključno da bi robot reagirao na svoju okolinu, poput zaustavljanja kada detektuje prepreku. (u videu na 07:39)
age = 16
if age >= 17:
print("Možete voziti")
else:
print("Premladi za vožnju")
if iskaz provjerava uslov. Ako je uslov True, izvršava se uvučeni blok koda ispod njega. Ako je False, izvršava se kod pod else iskazom. Uvlačenje (razmaci na početku linije) je kritično u Pythonu; ono definira koji kod pripada kojem bloku.
Petlje (For i While)
Petlje se koriste za ponavljanje bloka koda. Ovo je idealno za zadatke poput skeniranja vrijednosti senzora ili pokretanja motora kroz niz koraka. (u videu na 09:04)
For petlja: Ova petlja se ponavlja određeni broj puta.
for x in range(5): # x će biti 0, 1, 2, 3, 4
print(x)
While petlja: Ova petlja se nastavlja sve dok je uslov tačan. Ovo je korisno za kreiranje glavne programske petlje koja radi zauvijek dok se ne dogodi određeni događaj. (u videu na 12:13)
x = 9
while x > 5:
print("Vrijednost x je:", x)
x = x - 1 # Smanji x
print("Petlja završena")
Budite oprezni sa while True: petljama. One će raditi zauvijek osim ako ne koristite break iskaz za izlazak iz petlje ili ne zaustavite program.
Funkcije
Funkcije su višekratno upotrebljivi blokovi koda koji obavljaju određeni zadatak. One pomažu da vaš kod bude organiziran i sprječavaju ponavljanje. (u videu na 14:52)
def calculate_days(years):
days = years * 365
return days
# Sada ovu funkciju možemo koristiti više puta
days_in_10_years = calculate_days(10)
print("Dana u 10 godina:", days_in_10_years)
Ovdje je calculate_days funkcija koja uzima argument (years) i vraća vrijednost. Ovo je efikasnije nego pisati istu kalkulaciju iznova i iznova. Video također pokazuje kako jedna funkcija može pozvati drugu, omogućavajući vam da izgradite složene operacije od jednostavnih, testabilnih dijelova.
Liste
Liste se koriste za pohranjivanje uređene kolekcije stavki. Ovo je savršeno za pohranjivanje niza komandi za vašeg robota, poput "naprijed", "nazad", "lijevo" i "desno". (u videu na 19:15)
move = ["naprijed", "nazad", "lijevo", "desno", "stop"]
print(len(move)) # Ispisuje broj stavki u listi (5)
print(move[0]) # Ispisuje prvu stavku, "naprijed"
# Možete dodati stavke
move.append("litica")
# Možete ukloniti stavke
move.pop() # Uklanja "litica"
# Možete promijeniti stavke
move[2] = "letjeti" # Mijenja treću stavku u "letjeti"
Liste su nulti-indeksirane, što znači da je prva stavka na indeksu 0. Funkcija len() daje vam dužinu liste, a možete koristiti for petlju za prolazak kroz sve stavke. Funkcija enumerate() je također predstavljena, koja vam daje i indeks i vrijednost tokom petlje, što je korisno za rad s više pinova ili senzora.
Rad s Pinovima i Vremenom
Ovo je mjesto gdje povezujete Python logiku s fizičkim svijetom. Koristite machine biblioteku za kontrolu GPIO pinova Pico-a. (u videu na 25:16)
from machine import Pin
import time
# Postavite pin 22 kao izlaz
led = Pin(22, Pin.OUT)
# Uključite i isključite LED
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Također možete čitati s pina postavljanjem kao ulaz s Pin(2, Pin.IN). time biblioteka je ključna za dodavanje kašnjenja (time.sleep()) i za mjerenje proteklog vremena koristeći time.ticks_ms() ili pretvaranje između vremenskih formata s time.localtime() i time.mktime(). Ovo je ključno za logiku zasnovanu na vremenu, poput kreiranja signala širinsko-impulsne modulacije (PWM) za kontrolu brzine motora.
Živi Projekat/Demonstracija
U videu, instruktor pruža živu demonstraciju ovih koncepata. Počinje prikazujući jednostavne print() naredbe i dodjele varijabli u Python interpreteru. Zatim prelazi na složenije primjere, vizualno pokazujući kako if naredbe mijenjaju tok programa na osnovu vrijednosti varijable.
Instruktor zatim demonstrira praktičan hardverski primjer povezujući LED na Raspberry Pi Pico. Piše jednostavan MicroPython skript koji uključuje i isključuje LED s jednosekundnim kašnjenjem, pokazujući direktan rezultat kontrole fizičkog izlaza s kodom. Ovaj praktični primjer učvršćuje vezu između programske logike i akcije u stvarnom svijetu. Lekcija se završava pokazujući kako koristiti enumerate za upravljanje više pinova i kako koristiti time modul za naprednije operacije vremena i rasporeda.
Poglavlja
- [00:00] Uvod u kurs Raspberry Pi Pico Smart Car
- [01:31] Pregled kursa i mogućnosti kompleta
- [03:33] Varijable i tipovi podataka u Pythonu
- [07:39] Uslovne naredbe (If/Else)
- [09:04] Razumijevanje For petlji
- [12:13] Istraživanje While petlji
- [14:52] Definiranje i korištenje funkcija
- [19:15] Rad s listama i strukturama podataka
- [25:16] Kontrola GPIO pinova s MicroPython-om
- [29:54] Praktični primjer: Treptanje LED-a
- [31:15] Napredna kontrola pinova s Enumerate
- [31:24] Rad s vremenskim funkcijama
Ovaj tutorijal je dio: SunFounder Rasberry Pi Pico Pico 4WD pametni komplet za automobil
- Kurs Lekcija 1 od 10: Raspberry Pi Pico 4WD pametni auto komplet od SunFounder od Robojax
- Kurs Lekcija 3 od 10: Sastavljanje Raspberry Pi Pico 4WD pametnog autića kita od SunFounder-a od strane Robojax-a
- Kurs Lekcija 4 od 10: Raspberry Pi Pico ekspanzijska ploča za 4WD pametni automobil komplet
- Kurs Lekcija 5 od 10: Upravljanje RGB LED WS2812B pomoću Raspberry Pi Pico
- Kurs Lekcija 6 od 10: Upravljanje DC motorima koristeći Raspberry Pi Pico 4WD Smart Car Kit
- Lekcija 7 od 10: Praćenje linije, detekcija litice Kalibrirajte senzor sivih tonova Raspberry Pi Pico automobil
- Kurs Lekcija 8 od 10: Raspberry Pi Pico pametni automobil – Lekcija 8: Servo motor i praćenje objekata
- Kurs Lekcija 9 od 10: Izbjegavanje prepreka koristeći Raspberry Pi Pico 4WD pametni automobil
- Kurs Lekcija 10 od 10: Upravljanje Raspberry Pi Pico 4WD pametnim automobilskim kompletom putem mobilne aplikacije
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
Resursi i reference
Još nema resursa.
Datoteke📁
Nema dostupnih datoteka.