
Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-23 14:38

Vítejte v tutoriálu 8!
V tomto krátkém tutoriálu trochu odbočíme od zavádění nových aspektů programování v jazyce sestavení, abychom ukázali, jak přesunout naše prototypovací součásti na samostatnou desku s plošnými spoji. Důvodem je to, že v tomto okamžiku je naše hlavní prototypovací prkénko zaplněno tolika čipy, dráty, tlačítky a LED diodami, že je stále obtížnější testovat nové věci a protože nakonec stejně musíme přesunout součásti na vlastní desky "Mohli bychom také začít hned." Mnoho z vás pravděpodobně již umí věci, kterým se budeme v tomto tutoriálu věnovat, a tak se na tento výukový program můžete dívat jen jako na odpočinkovou přestávku od kódování.
Dnes tedy přesuneme náš kostkový váleček ATmega328P a doprovodný pár kostek na externí desku s připojením k naší hlavní desce pro komunikaci s ní a pro napájení. Kromě toho bude zapojení a fungování kostek v této komponentě samostatné.
Pravděpodobně z toho můžete předvídat, že naším konečným cílem je provést to s každou ze součástí, které na cestě vytvoříme, takže až budeme hotovi, můžeme je všechny schovat do pěkně vypadajícího balíčku, který bude fungovat pomocí stisků tlačítek, aniž byste viděli všechny vodičů a vnitřních funkcí.
Většinu tohoto tutoriálu strávíme fyzickými úkoly, jako je navrhování obvodu, mapování prototypové desky a pájení věcí dohromady, ale na konci je třeba trochu programování poté, co věci přesuneme. Důvodem je, že nakonec budeme používat 2vodičové sériové rozhraní ke komunikaci mezi naším hlavním "hlavním" ovladačem a všemi "podřízenými" řadiči, které tvoří součásti našeho celkového projektu v této sérii tutoriálů, a jak si vzpomínáte, v Tutoriálu 6 jsme vymysleli jakousi metodu typu Morseova abeceda pro komunikaci našich hodů kostkami z hracího kostky (výukový program 4) do analyzátoru registrů (výukový program 5), který zobrazoval výsledek hodu kostkami binárně na 8 LED diodách. No, to byl jen způsob komunikace „roll your own“, který jsem se rozhodl použít, protože v té době bylo příliš brzy na to, abychom se dostali do 2vodičové sériové komunikace. Nyní jsme téměř připraveni ponořit se do hlubokého konce sériové komunikace a uděláme to v Tutoriálu 10, ale prozatím musíme předvídat budoucí vývoj a znovu zapojit naše LED diody s kostkami, abychom uvolnili dvě piny, které potřebujeme pro sériovou komunikaci.
Jedná se o piny SCL a SDA na ATmega328P. Na pinoutovém diagramu můžete vidět, že se jim také říká ADC5 a ADC4, když se používají v převodu analogově na digitální, nazývají se PCINT13 a PCINT12, když se používají jako piny „Pin Change Interrupt“, a nakonec jim obecně říkáme PC5 a PC4 když jsou jednoduše považovány za piny na PortC. Vzhledem k tomu, že jsme tyto dva piny použili jako součást válečku na kostky z různých důvodů (hlavní z nich bylo, že to usnadnilo kódování a zapojení kabelů k LED diodám na desce), budeme nyní muset upravit náš kód a mírně jej znovu zapojit uvolněte tyto kolíky pro budoucí komunikaci.
Začneme tedy návrhem, řezáním, zapojením a pájením. Poté znovu napíšeme hrací kostku, aby fungovala s naším novým nastavením, a nakonec ji otestujeme, abychom se ujistili, že stále funguje.
K dokončení tohoto kurzu budete potřebovat následující položky:
- Standardní věci, které vždy potřebujete a které se přestanu neustále opakovat: vaše prototypovací deska, vaše kopie datového listu a sady instrukcí a vaše mozky.
- Prototypovací deska plošných spojů bezdrátového obvodu, jako je tato: https://www.ebay.com/itm/191416297627 Budu používat verzi této desky Measure Explorer 103RAWD: https://www.ebay.com/itm/103RAT -obvod-proto-proto … protože jich mám po ruce spoustu, ale verze 103RAW-0, na kterou odkazuji výše, bude fungovat také dobře.
- Zastřihovače, dráty, pájka, páječka, „pomocné ruce“nebo cokoli na držení věcí atd. Atd. Atd. Znovu, od této chvíle přestanu také vypisovat tyto věci. Pokud jste se v těchto výukových programech skutečně dostali tak daleko, pravděpodobně již máte všechny tyto věci.
Zde je odkaz na kompletní sbírku mých návodů k assembleru AVR:
Krok 1: Navrhněte schéma zapojení



Skvělou věcí na deskách Measure Explorer je, že když si uděláte čas a zmapujete věci na začátku, můžete si na konci ušetřit spoustu kabeláže. Začneme tedy tím, že věnujeme trochu času návrhu našeho rozložení, než začneme cokoli pájet. S tímto druhem desky musíte přestřihnout spoustu spojovacích vodičů, což není tak snadné, ale výsledkem je velmi pěkná kompaktní deska s minimem nepořádku zamotaných vodičů. První věc, kterou musíme udělat, je navrhnout naše obvod tak, aby se vešel na desku. Pěkný způsob, jak to udělat, je stáhnout si mapu desky a poté ji použít k hraní s různými návrhy, dokud nenajdete ten, který funguje. Zde je rozložení pro ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp
Krok 2: Vystřihněte obvod na desce



Nejprve si vezměte nářez a pomocí rozvržení, které jste zmapovali v předchozím kroku, nakreslete svůj obvod na desku. Tj. nakreslete čáry, které představují dráty. Nekreslete nic, pokud jde o součásti, pouze spojovací vodiče, jak ukazuje první obrázek. Všimněte si, že když se pokazíte (a pokud jste něco jako já, v těchto krocích pokazíte věci mnohokrát), můžete použít gumu a vymazat řádek. Udělejte to pro obě strany desky.
Dále musíte přerušit spoje kolem čar. Pokud se podíváte pozorně na desku, uvidíte, že každý otvor pro kolíky je spojen se 4 sousedními otvory na obou stranách desky, takže všechny otvory na desce jsou navzájem propojeny, když začnete. Takže je musíte odříznout po obou stranách každého z vašich vodičů, abyste je izolovali. Nejběžnějším způsobem řezání je nůž Exacto. Nasávám ale nože Exacto a asi bych se pořezal. Používám tedy Dremel s tenkým nástavcem řezného nástroje. Přál bych si, abych měl nějaký druh brusného nástavce, který se dostal do ostrého bodu, protože by to fungovalo nejlépe - ale nemám takový, takže jsem použil nástavec pro řezací pilu. (Poznámka přidána: Po dokončení tohoto projektu jsem zjistil, že menší hlavy „těžkého řezacího kotouče“pro Dremels fungují nejlépe, vypadají jako malé kruhy brusného papíru a fungují jako zde zobrazený řezací nástroj, kromě toho, že mají menší průměr atd. je mnohem snazší vidět a ovládat, kde stříháte)
Po cestě je užitečné držet desku na světle a ujistit se, že jsou dráty skutečně proříznuty. Možná vás štve, že na obou stranách desky jsou spoje, takže budete muset proces řezání opakovat i s druhou stranou, ale myslím, že až to skončí, uvidíte smysl toho. Udělal jsem spoustu chyb, když jsem řezal dráty, které neměly být přestřiženy, a mít druhou stranu stále připojenou se ukázalo jako pěkné.
Vyjmutí obvodu na desku bude vyžadovat docela dost času a trpělivosti, ale jakmile se v tom vyznáte, je to docela zábava.
Krok 3: Pájejte součásti a vyzkoušejte



Nyní, když jste izolovali všechny vodiče ve vaší desce s obvody, můžete začít pájet jednotlivé součásti.
Nejprve jsem připájel diody LED pro jednu z kostek, poté jsem ze svého prkénka vzal kladné a záporné vodiče a otestoval připojení pro každou LED, abych se ujistil, že jsou navzájem izolované a že fungují.
Podobně s ostatními zemřít.
Poté připojte odpor ke každé kostce a odpor 10K na zadní straně desky.
Poté připojte krystalový oscilátor, krytky 22pf, tlačítka a ATmega328P. Možná budete chtít pájet zásuvku na čip a poté do ní vložit ATmega328P, abyste ji mohli odstranit, pokud chcete, a znovu ji použít v něčem jiném. Právě jsem připájel svůj čip k desce, protože vím, co nakonec vytváříme se všemi těmito výukovými programy, a vím, že se mi bude líbit natolik, že nebudu chtít čip vyndat.
Všimněte si při pohledu na zadní stranu desky způsob, jakým jsme připojili záhlaví. Použil jsem dlouhé kolíkové záhlaví a ohnul je vodorovně, aby nevyčnívaly z desky. To proto, abych nakonec mohl desku překrýt na úroveň tlačítek a LED diod kontejnerem a nepřekážela mi záhlaví. Máme záhlaví pro Tx, Rx, abychom mohli programovat čip, máme záhlaví pro SDA, SCL, abychom mohli později použít 2vodičovou komunikaci. a na druhé straně desky máme 3pinový konektor pro AVCC, AREF, GND. Mám všechny zemnící piny a piny VCC zapojené dohromady na čipu, takže potřebujeme pouze jeden příkon.
Nakonec, když je vše zapojeno, zapojíme kostku 1 do kostky 2 stejným způsobem, jako jsme to udělali na prkénku, abychom mohli ovládat obě kostky pouze pomocí 9 kolíků.
Nyní musíme upravit náš kód tak, aby ovládal toto nové nastavení.
Krok 4: Kód sestavy a video
Připojil jsem montážní kód a video s kostkou v provozu. Jediné, co jsem udělal, bylo převzít kód pro náš hrací kostku z výukového programu 6, upravit kolíky tak, aby odpovídaly novému rozložení, a odstranit podprogram komunikace, protože budeme psát novinka v Tutoriálu 10. Příště si znovu představíme klávesnici a naučíme se ovládat 7segmentové displeje. Uvidíme se!
Doporučuje:
AVR Assembler Tutorial 2: 4 Steps

AVR Assembler Tutorial 2: Tento tutoriál je pokračováním " AVR Assembler Tutorial 1 " Pokud jste neprošli výukovým programem 1, měli byste se hned zastavit a udělat to jako první. V tomto kurzu budeme pokračovat ve studiu programování v jazyce sestavení atmega328p u
AVR Assembler Tutorial 1: 5 Steps

AVR Assembler Tutorial 1: Rozhodl jsem se napsat sérii návodů, jak psát programy v assembleru pro Atmega328p, což je mikrokontrolér používaný v Arduinu. Pokud lidé zůstanou zájem, budu i nadále vydávat jeden týdně, dokud mi nedojde
AVR Assembler Tutorial 6: 3 Steps

AVR Assembler Tutorial 6: Welcome to Tutorial 6! Dnešní tutoriál bude krátký, kde vyvineme jednoduchou metodu pro komunikaci dat mezi jedním atmega328p a druhým pomocí dvou portů, které je spojují. Poté vezmeme hrací kostku z Tutoriálu 4 a Registrovat
AVR Assembler Tutorial 9: 7 Steps

AVR Assembler Tutorial 9: Welcome to Tutorial 9. Dnes si ukážeme, jak ovládat jak 7segmentový displej, tak 4místný displej pomocí našeho kódu montážního jazyka ATmega328P a AVR. V průběhu toho budeme muset udělat odbočku v tom, jak používat zásobník
AVR Assembler Tutorial 11: 5 Steps

AVR Assembler Tutorial 11: Welcome to Tutorial 11! V tomto krátkém tutoriálu konečně postavíme první část našeho finálního projektu. První věc, kterou byste měli udělat, je přejít na úplně poslední krok tohoto tutoriálu a podívat se na video. Pak se vrať sem. [pozastavení, zatímco vy