Tartalomjegyzék:

A Dragon Rider 500 használata az AVR Dragon -nal: 10 lépés
A Dragon Rider 500 használata az AVR Dragon -nal: 10 lépés

Videó: A Dragon Rider 500 használata az AVR Dragon -nal: 10 lépés

Videó: A Dragon Rider 500 használata az AVR Dragon -nal: 10 lépés
Videó: Muay-Thai 🔞🔞🔞🥊🥊🙏🏻🙏🏻 2024, Július
Anonim
A Dragon Rider 500 használata az AVR Dragon készülékkel
A Dragon Rider 500 használata az AVR Dragon készülékkel

Ez az oktatóanyag az Ecros Technologies által kínált Dragon Rider 500 néhány funkciójának összeomlása. Kérjük, vegye figyelembe, hogy az Ecros weboldalán nagyon részletes felhasználói kézikönyv található.

A Dragon Rider egy interfészkártya, amely az AVR Dragon by Atmel nevű AVR mikrokontroller programozójával használható. További információ: Atmel Wesite: https://www.atmel.com/ AVR Dragon link: https://www.atmel.com/dyn/products/tools_card.asp? Tool_id = 3891 Dragon Rider 500 by Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Dragon Rider 500 összeszerelés Instructable: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/Tudjon meg mindent az AVR mikrovezérlőkről: https://www.avrfreaks.net Ez az utasítás idővel növekedhet, ezért nézzen vissza újra és újra!

1. lépés: AVR haver

Az AVR Dragon programozásához programozási szoftverre van szüksége. Az AVRdude -ot az Ubuntu operációs rendszerrel (linux) használom, és nagyon elégedett vagyok az eredménnyel. Ez az utasítás nem foglalkozik a programozási szoftver bonyolultságával. Ha nem tudja, hogyan kell beállítani vagy használni a programozó szoftvereket, akkor nézze meg ezt az utasítást, hogy gyorsabban tudjon haladni: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Gondolom, hogy ha megvásárolt és összeszerelt egy Dragon Rider 500-at, akkor már tudja, hogyan kell programozni egy chipet az AVR Dragon-nal….. tovább!

2. lépés: ATtiny2313 - A LED -ek villogása

ATtiny2313 - A LED -ek villogása
ATtiny2313 - A LED -ek villogása
ATtiny2313 - A LED -ek villogása
ATtiny2313 - A LED -ek villogása
ATtiny2313 - A LED -ek villogása
ATtiny2313 - A LED -ek villogása

Programozzunk egy ATtiny2313-at, amely egy 20 tűs mikrokontroller. A Dragon Rider 500 aljzat több különböző méretű AVR mikrovezérlőhöz is rendelkezik. Ide tartoznak: 8, 20, 28 és 40 tűs foglalatok. Attól függően, hogy melyik foglalatot használja, a Dragon Rider táblán lévő jumper -ket eltérő módon kell beállítani.

Jumper beállítások

Állítsa a jumpereket a Dragon Rider -re úgy, hogy a söntök a következő csapokat kössék össze. (pin4 a J22 -J -24 középső csapja) Tüskék: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41Ez az alapbeállítás lehetővé teszi az ISP -t (rendszerprogramozásban).

Blinky Blinky

A programozás nem tesz jót, ha nincs programoznivalója. Írtam egy nagyon rövid kódpéldát a Dragon Rider LED -jeinek egyenkénti villogására. Szalagkábellel csatlakoztassa a LED fejlécet (J29) a PortB fejléchez (J2).

Programozás

Mellékeltem a C fájlt, valamint egy makefile -t és a hexafájlt. Ahogy a bevezetőben említettem, nem tudom lefedni a programozás szoftveroldalát az Instructable -ban. Programozzon úgy, mint az AVR Dragon esetében, mivel a Dragon Rider egyáltalán nem változtatja meg a dolgok szoftveroldalát.

3. lépés: Az LCD kiegészítő használata

Az LCD kiegészítő használata
Az LCD kiegészítő használata

Íme egy egyszerű módja az LCD kiegészítő használatának. Ekkor a "Dragon Rider" felirat jelenik meg az LCD képernyőn.

Hardver:

  • 2313
  • R/W jumper: Az R/W -t a "BIT1" -hez kell csatlakoztatni a Dragon Rider Board -on (lásd a magyarázatot a szerelési utasításban)
  • J23: Ezt a jumpert telepíteni kell az ISP programozáshoz, de el kell távolítani, hogy az LCD megfelelően működjön.
  • Csatlakoztassa az LCD -t a B porthoz szalagkábellel (J31 - J2)

Szoftver

Peter Fleury LCD könyvtárát használom az LCD vezérléséhez 4 bites módban. Nézze meg Péter honlapját a könyvtár letöltéséhez. Győződnie kell arról, hogy az lcd.c le van fordítva a kódjával, és a következő módosításokat hajtja végre az lcd.h fájlban:

A belső RC oszcillátort használjuk, ezért az XTAL -t 1MHz -re kell beállítani:

#define XTAL 1000000

  • A portbeállításokat PORTB -ra kell állítani:
  • #define LCD_PORT PORTB

  • A 4 adatvonal pinout -ját ki kell igazítani:
  • #define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7

  • Az RS, RW és E érintkezőket módosítani kell:
  • #define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2

    A fő program nagyon egyszerű, Peter Fleury LCD könyvtárában végzett munkájának köszönhetően. KÓD:

    #include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON); // Inicializálja az LCD -t úgy, hogy a kurzor ki van kapcsolva lcd_clrscr (); // Az LCD képernyő törlése lcd_gotoxy (5, 0); // Vigye a kurzort erre a helyre lcd_puts ("Dragon"); // Tedd ezt a karakterláncot az LCD -re lcd_gotoxy (6, 1); // Vigye a kurzort erre a helyre lcd_puts ("Rider"); // Helyezze ezt a karakterláncot az LCD -re (;;) {// Ne csináljon semmit örökké (Az üzenet már megjelenik az LCD -n)}}

    Kód csatolva

    A mellékelt kód tartalmazza Peter Fleury LCD könyvtárát (lcd.c és lcd.h) az ő engedélyével. Köszönöm Péter! Az egyetlen módosítás, amit elvégeztem, hogy a megfelelő csapokat állítom be a Defines -ben. Kérjük, látogasson el a webhelyére a csomag letöltéséhez: https://www.jump.to/fleuryMegtettem egy makefile -t is, amelyet Eric B. Weddington és Jorg Wunsch írtam. Küldtem egy PM -et Jorgnak az avrfreaks.net -en, de soha nem kaptam tőle választ. A makefile -ben van néhány módosítás, amelyek a Linux és a Dragon használatához igazodnak. Köszönöm mindkettőtöknek, kérlek, tudjátok meg velem a preferenciáimat, ha megosztom a munkáitokat.

    4. lépés: 28 tűs UC ISP programozás (ATmega8)

    28 tűs UC ISP programozás (ATmega8)
    28 tűs UC ISP programozás (ATmega8)
    28 tűs UC ISP programozás (ATmega8)
    28 tűs UC ISP programozás (ATmega8)

    A következő projekt leszerelése egy ATmega8-at fog használni, amely egy 28 tűs avr. Itt található az alapvető jumper készlet a 28 tűs mikrovezérlők ISP programozásához.

    Jumper beállítások

    Állítsa a jumpereket a Dragon Rider -re úgy, hogy a söntök a következő csapokat kössék össze. (a pin4 a J22 -J -24 középső csapja) Csapok: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Technikai információ

    • A J11 és J12 ilyen módon történő csatlakoztatása lehetővé teszi, hogy ezeket a csapokat I/O csapként használja. Az alternatív megoldás az lenne, ha ezeket a csapokat a külső kristályhoz való csatlakozáshoz vezetnénk.
    • A J13 ilyen módon történő csatlakoztatása lehetővé teszi számunkra, hogy alaphelyzetben használjuk. Az alternatíva ezt a csapot a PORTC fejléchez irányítaná I/O tűként való használatra. (ennek sok hátránya lenne, többek között az, hogy képtelen programozni ezt a chipet az ISP segítségével).
    • A J16 és J22-J24 ilyen módon vannak csatlakoztatva, hogy a megfelelő csapokat (Reset, MISO, MOSI és SCK) az AVR Dragon ISP fejlécéhez vezesse.

    5. lépés: Speciális LCD és gombok használata: a nagy óra

    Speciális LCD és gombok használata: a nagy óra
    Speciális LCD és gombok használata: a nagy óra

    Ez egy szórakoztató projekt, amely az LCD képernyőt és a gombokat használja. Valós idejű óra funkciókkal és egyedi karakterekkel fogunk foglalkozni az LCD -n. Az alsó képen látható az 19:26:07 óra nagy számban megjelenítve az LCD képernyőn. Minden szám a megjelenített karakterek 2x2 rácsát használja a nagy szám megjelenítéséhez. Ez egy betűtípust használ, amelyet eredetileg az Xtinus írt az XBMC projekthez. A gombok az óra beállítására szolgálnak. A bal bal növeli az órákat, a felfelé növeli a perceket, a jobb oldali 12 és 24 órás időtartamot vált, az Enter billentyű pedig nullára állítja a másodperceket. Az óra nem tart túl jó időt, mivel a nagyon pontatlan belső oszcillátort használjuk, de ez a program könnyen megváltoztatható egy sokkal pontosabb külső kristály használatához. Lásd ezt működés közben az alábbi videóban. A kód működésének magyarázata rendben van, de most nincs időm. Egyelőre csatlakoztassa az LCD fejlécet (J31) a PORTD (J4) és a gombfejlécet (J30) a PORTB (J2) csatlakozóhoz. Győződjön meg arról, hogy mind az SW1, mind az SW2 kikapcsolt helyzetben van. Csatlakoztassa az AVR Dragont egy USB -kábelhez, és a kábel másik végét a számítógéphez. Kapcsolja be az SW2 -t, és programozza az ATmega8 -at az Ön által választott programozó szoftverrel (az alábbi hexadecimális fájl; a biztosítékok a gyári beállításokra vannak kiégetve). ezt kikapcsolt állapotban.

    6. lépés: Nagyfeszültségű programozás

    A nagyfeszültségű párhuzamos programozással újjáélesztettem egy ATtiny2313 készüléket, amelyre rossz biztosítékbeállításokat állítottam be. Másodszor is szükségem volt rá, amikor ezen az utasításon dolgoztam, mert véletlenül beírtam a kívánt lfuse beállítást a hfuse regiszterbe ….. hopp. A nagyfeszültségű párhuzamos programozás egy praktikus eszköz az Ön rendelkezésére! Az alábbiakban felsorolom az áthidaló beállításaimat: HASZNÁLJA SAJÁT KOCKÁZATÁRA, A PROGRAMOZÁS TÍPUSA KÁROSÍTHATJA A VÁSÁRLÁSÁT, HA NEM TUDJA, MIT TESZ !! Nagyfeszültségű párhuzamos programozás: ATtiny2313 az U3 aljzatban: SW1 - OFFSW2 - ONJ5, J6, J7 - csatlakoztassa az 1 -es és 2 -es tűt J8-J13, J18, J19, J20, J22-J28, J24) Más chipek esetén meg kell tudnia találni a szükséges beállításokat az Atmel STK500 használati útmutatójából.

    7. lépés: Bővítés a táblán túl

    Bővítés a táblán túl
    Bővítés a táblán túl

    Úgy látom, hogy könnyű kezelőpanellel kezelni. Ez sokkal nagyobb rugalmasságot tesz lehetővé a prototípusok készítésében és a kódok egyidejű kifejlesztésében. Az alábbiakban néhány kenyeretáblát lát a Dragon Rider -hez csatlakoztatva. Csatlakoztatom a szalagkábeleket a megfelelő portokhoz az egyik végén. A másik oldalon áthidaló vezetékeket használok a megfelelő ICD vezeték csatlakoztatásához a kenyértáblákkal.

    8. lépés: Következtetés

    Ebben az utasításban még sok minden más is részt vehet. Éppen ma este készítek egy adaptert, amely lehetővé teszi a 6 tűs programozási fejléc használatát anélkül, hogy eltávolítaná a sárkányt a Dragon Riderből. Tájékoztatást adok arról, hogyan építhetsz egyet… hamarosan. Ha van más dolog, amit úgy gondolja, hogy hozzá kell adni, írjon megjegyzést.

    9. lépés: 6 tűs internetszolgáltató hozzáadása

    6 tűs internetszolgáltató hozzáadása
    6 tűs internetszolgáltató hozzáadása
    6 tűs internetszolgáltató hozzáadása
    6 tűs internetszolgáltató hozzáadása
    6 tűs internetszolgáltató hozzáadása
    6 tűs internetszolgáltató hozzáadása

    Általában minden projektemhez beépítek egy 6 tűs internetszolgáltató fejlécet, hogy szükség esetén átprogramozhassam a chipet, és ne kelljen levennem a projekt tábláról. A sárkánylovasnak sajnos nincs 6 tűs internetszolgáltató-fejléce, de rájöttem, hogyan tehetem elérhetővé.

    Figyelem!

    Ez egy hackelés. Ha nem tudja pontosan, hogyan működik ez, ne tegye

    Figyelmeztettek. Létrehoztam saját adaptertáblámat és 3 tűs jumpert, hogy ellássam a 6 tűs isp fejlécet. A Dragon Rider programozásra és 8 tűs mikrokontrollerre van állítva. Hárompólusú foglalat segítségével a J8-at ugrom az 1-es és a 3-as érintkezők csatlakoztatásához. Ez az órajelet a PortB csatlakozóhoz irányítja. Ezután egy áthidaló kábelt futtatok a PortB fejlécből az adaptertáblámra, és íme! Az alábbiakban képek találhatók…. kérlek, kérlek, kérlek, ne tedd ezt, ha nem érted igazán, mit csinálsz, mivel károsíthatod az AVR Dragonodat, vagy rosszabb esetben, ha ezt rosszul csinálod.

    Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2

    10. lépés: RSS olvasó soros kapcsolat és LCD használatával

    RSS olvasó soros csatlakozás és LCD használatával
    RSS olvasó soros csatlakozás és LCD használatával
    RSS olvasó soros csatlakozás és LCD használatával
    RSS olvasó soros csatlakozás és LCD használatával

    Továbbra is játszom ezzel a fejlesztői táblával. Ezúttal egy délután egy részét egy RSS olvasás fejlesztésével töltöttem (főleg a dolgok python oldalán). Nem hiszem, hogy ez indokolttá tenné a saját tanulságát, ezért ide teszem.

    Hardver

    Mi a Dragon Rider 500 -at használjuk fejlesztőlapként. Ez biztosítja az összes szükséges hardvert (feltéve, hogy megvan az összes kiegészítő készlet). Ennek ellenére biztosan megteheti ezt a saját hardverbeállításával:

    • ATmega8 mikrokontroller (vagy bármelyik, amely rendelkezik USART -al és elegendő tűvel minden csatlakozáshoz
    • A mikrokontroller programozásának módja (az AVR Dragon -t használom)
    • MAX232 chip a soros kommunikációhoz
    • DB9 csatlakozó
    • HD44780 LCD képernyő
    • Kristály (én 8MHz -es kristályt használtam)
    • Vegyes kondenzátorok és ellenállások

    Az alábbiakban egy vázlat látható. A Dragon Rider -en kreativitást kell használnunk a kapcsolatok irányításához. Általában a D port közvetlenül csatlakoztatható az LCD fejléchez. Ez itt nem így van, mert a soros kapcsolathoz szükséges USART PD0 -t és PD1 -et használ. Továbbá a B port nem használható, mert a PB6 és a PB7 a külső kristályhoz használatos. Az alábbi képen láthatom a megoldást erre a problémára. Csatlakoztatok egy szalagkábelt az LCD, a B és a D port fejléceihez, majd áthidaló vezetékek segítségével készítsem el a megfelelő útvonalakat. Ne felejtse el csatlakoztatni a feszültséget és a földelést az LCD fejléchez.

    Szoftver

    Ennek a projektnek a szoftvere két részből áll, a mikrovezérlő firmware -je és a python -szkript az RSS -hírcsatornák lekaparásához és a soros kapcsolaton keresztül történő elküldéséhez. AVR -firmware Újra Peter Fleury LCD -könyvtárát használom (https://jump.to /fleury). Erőteljes és tömör, sokoldalú és könnyen módosítható a hardver beállításához. Ha megnézi a mellékelt fejlécfájlt (lcd.h), látni fogja, hogy 4 bites módban futok, a D port az adatbitek, és a B port a vezérlőbitek. Ennek a firmware-nek a koncepciója nagyon egyszerű:

    • Miután bekapcsolta a mikrokontrollert, megjelenik az „RSS Reader” felirat, majd várja a soros adatokat.
    • Minden fogadott soros adat bájt hatására egy 16 karakterből álló puffer balra tolódik, és hozzáadja a bájtot a pufferhez, majd megjeleníti a puffert.
    • A mikrovezérlő három speciális parancsot fogad el: 0x00, 0x01 és 0x02. Ezek tiszta képernyők, léptessenek a 0. sorra, illetve az 1. sorra.

    Pyton Scrypt írtam egy pyton szkriptet az RSS adatok lekaparására és a soros kapcsolaton keresztül történő elküldésére. Ehhez szükség van a "pyserial" python modulra, amelyet valószínűleg telepítenie kell a rendszerére, hogy ez működjön. Az RSS hírcsatorna a pyton fájl tetején konfigurálható. Vegye figyelembe, hogy meg kell adnia a hírcsatorna nevét, valamint a hírcsatorna URL -címét. Három példa van, biztos vagyok benne, hogy követheti ezeket a megfelelő szintethez. Mindez működik

    • Szerelje össze a hardvert
    • Programozza be a mikrokontrollert (a dragon_rss.hex használható, ha nem szeretné ezt saját maga lefordítani). Biztosítékbeállítások az ATmega8 készülékhez 8 MHz -es kristály használatával: lfuse = 0xEF hfuse = 0xD9
    • Kapcsolja be a Dragon Rider -t, és győződjön meg arról, hogy a soros kábel csatlakoztatva van (az LCD -n olvasható: "RSS Reader")
    • Futtassa a python programot (python serial_rss.py)
    • Élvezd

    Ajánlott: