Orodha ya maudhui:

Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR: Hatua 10
Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR: Hatua 10

Video: Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR: Hatua 10

Video: Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR: Hatua 10
Video: Part 1 - Around the World in 80 Days Audiobook by Jules Verne (Chs 01-14) 2024, Julai
Anonim
Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR
Jinsi ya Kutumia Mpanda farasi 500 na Joka lako la AVR

Mafunzo haya ni kozi ya ajali ya jinsi ya kutumia zingine za Saruji Rider 500 kutoka Teknolojia za Ecros. Tafadhali fahamu kuwa kuna Mwongozo wa Mtumiaji wa kina unaopatikana kwenye wavuti ya Ecros.

Joka Mpanda farasi ni bodi ya kiolesura cha kutumiwa na programu ya kudhibiti microcontroller ya AVR inayoitwa Joka la AVR na Atmel. Kwa habari zaidi: Wesmeri wa Atmel: https://www.atmel.com/Ungano wa Joka la AVR:: //www.ecrostech.com/AtmelAvr/DragonRider/index.htm Joka la Mpanda farasi 500 linaloweza kufundishwa: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- The-A / Jifunze yote juu ya wadhibiti wadhibiti wa AVR:

Hatua ya 1: Jamaa la AVR

Unahitaji programu ya programu ili kutumia Joka la AVR kwa programu. Ninatumia AVRdude na mfumo wa uendeshaji wa Ubuntu (linux) na ninafurahi sana na matokeo. Hii inayoweza kufundishwa haitashughulika na ugumu wa programu ya programu. Ikiwa haujui kusanidi au kutumia programu ya programu, angalia hii inayoweza kufundishwa ili kukuletea kasi zaidi: AVR-joka / Nadhani yangu ni kwamba ikiwa umenunua na kukusanyika Mpanda farasi 500 tayari unajua jinsi ya kupanga chip na Joka la AVR…. kuendelea!

Hatua ya 2: ATtiny2313 - Blink the LEDs

ATtiny2313 - Blink LEDs
ATtiny2313 - Blink LEDs
ATtiny2313 - Blink LEDs
ATtiny2313 - Blink LEDs
ATtiny2313 - Blink LEDs
ATtiny2313 - Blink LEDs

Wacha tupange ATtiny2313 ambayo ni mdhibiti mdogo wa pini 20. Joka Rider 500 ina soketi kwa wadhibiti anuwai wa ukubwa wa AVR. Hizi ni pamoja na: soketi 8, 20, 28, na 40. Kulingana na tundu unalotumia, wanarukaji kwenye ubao wa Joka la Joka lazima wawekwe tofauti.

Mipangilio ya Jumper

Weka kuruka juu ya Mpanda farasi wa Joka ili vizuizi viunganishe pini zifuatazo. (pin4 ni pini ya katikati ya J22-J-24) Pini: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41Huu ni usanidi wa kimsingi unaoruhusu ISP (Katika Programu ya Mfumo).

Blinky Blinky

Programu haina faida yoyote isipokuwa una kitu cha kupanga. Nimeandika mfano mfupi sana wa nambari ili kupepesa LED ya Joka la Rider kwa wakati mmoja Tumia kebo ya utepe kuunganisha kichwa cha LED (J29) kwa kichwa cha PortB (J2).

Kupanga programu

Nimejumuisha faili ya C na faili ya kutengeneza na faili ya hex. Kama nilivyosema kwenye utangulizi, siwezi kufunika upande wa programu kwenye Inayoweza Kusomwa. Mpango kama unavyotaka kwa Joka la AVR, kwani Mpanda farasi wa joka habadilishi upande wa programu hata kidogo.

Hatua ya 3: Kutumia programu jalizi ya LCD

Kutumia programu jalizi ya LCD
Kutumia programu jalizi ya LCD

Hapa kuna njia rahisi ya kutumia programu jalizi ya LCD. Hii itaandika "Dragon Rider" kwenye skrini ya LCD.

Vifaa:

  • 2313
  • R / W Jumper: R / W inapaswa kushikamana na "BIT1" kwenye Bodi ya Wapanda farasi (Tazama ufafanuzi katika Mkutano unaofaa)
  • J23: jumper hii lazima iwekwe kwa programu ya ISP lakini itolewe ili LCD ifanye kazi vizuri.
  • Unganisha LCD na PORT B ukitumia kebo ya utepe (J31 hadi J2)

Programu

Ninatumia maktaba ya LCD ya Peter Fleury kuendesha LCD katika hali ya 4-bit. Angalia Ukurasa wa Kwanza wa Peter kupakua maktaba. Utahitaji kuhakikisha kuwa lcd.c imekusanywa na nambari yako na kwamba unafanya mabadiliko yafuatayo kwa lcd.h:

Tunatumia oscillator ya ndani ya RC kwa hivyo XTAL inahitaji kuwekwa kwa 1MHz:

#fafanua XTAL 1000000

  • Mipangilio ya bandari inahitaji kurekebishwa kwa PORTB:
  • #fafanua LCD_PORT PORTB

  • Kuandika kwa mistari 4 ya data inahitaji kubadilishwa:
  • #fafanua LCD_DATA0_PIN 4 #fafanua LCD_DATA1_PIN 5 #fafanua LCD_DATA2_PIN 6 #fafanua LCD_DATA3_PIN 7

  • Pinout kwa RS, RW, na E inahitaji kubadilishwa:
  • #fafanua LCD_RS_PIN 3 #fafanua LCD_RW_PIN 1 #fafanua LCD_E_PIN 2

    Programu kuu ni shukrani rahisi sana kwa kazi ambayo Peter Fleury alifanya katika maktaba yake ya LCD.

    # pamoja na # pamoja na "lcd.h" int kuu (batili) {lcd_init (LCD_DISP_ON); // Anzisha LCD na mshale mbali lcd_clrscr (); // Futa skrini ya LCD lcd_gotoxy (5, 0); // Hamisha mshale kwenye eneo hili lcd_puts ("Joka"); // Weka kamba hii kwenye LCD lcd_gotoxy (6, 1); // Hamisha mshale kwenye eneo hili lcd_puts ("Mpanda farasi"); // Weka kamba hii kwenye LCD kwa (;;) {// Usifanye chochote milele (Ujumbe tayari umeonyeshwa kwenye LCD)}}

    Nambari Imeambatishwa

    Nambari iliyoambatanishwa ni pamoja na maktaba ya LCD ya Peter Fleury (lcd.c na lcd.h) kwa idhini yake. Asante Peter! Mabadiliko tu ambayo nimefanya ni kuweka pini sahihi katika Ufafanuzi. Tafadhali tembelea wavuti yake kupakua kifurushi hiki: Nilimtuma Waziri Mkuu kwa Jorg kwa avrfreaks.net lakini sikupokea jibu kutoka kwake. Kuna mabadiliko machache kwenye faili ya kutengeneza iliyoundwa kutumia Linux na Joka. Asante kwa nyinyi wawili, tafadhali niwekee upendeleo wako juu yangu nikishiriki kazi yako.

    Hatua ya 4: 28-pini Programu ya UC ISP (ATmega8)

    Programu 28 ya pini ya UC ISP (ATmega8)
    Programu 28 ya pini ya UC ISP (ATmega8)
    Programu 28 ya pini ya UC ISP (ATmega8)
    Programu 28 ya pini ya UC ISP (ATmega8)

    Ukandamizaji wa mradi unaofuata utatumia ATmega8 ambayo ni avr 28-pin. Hapa kuna jumper ya msingi iliyowekwa kwa programu ya ISP vidhibiti-pini 28.

    Mipangilio ya Jumper

    Weka kuruka juu ya Mpanda farasi wa Joka ili vizuizi viunganishe pini zifuatazo. (pin4 ni pini ya katikati ya J22-J-24) Pini: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42

    Maelezo ya Kiufundi

    • Kuunganisha J11 na J12 kwa mtindo huu hukuruhusu kutumia pini hizo kama pini za I / O. Njia mbadala itakuwa kusafirisha pini hizi kufanya unganisho na glasi ya nje.
    • Kuunganisha J13 kwa mtindo huu kunaturuhusu kuitumia kama pini ya kuweka upya. Njia mbadala ingeelekeza pini hii kwa kichwa cha PORTC kwa matumizi kama pini ya I / O. (hii itakuwa na shida nyingi, pamoja na kutokuwa na uwezo wa kupanga chip hii kwa kutumia ISP).
    • J16 & J22-J24 zimeunganishwa kwa mtindo huu kupeleka pini zinazofaa (Rudisha, MISO, MOSI, na SCK) kwa kichwa cha ISP cha Joka la AVR.

    Hatua ya 5: Matumizi ya LCD ya Juu na Kitufe: Saa Kubwa

    Matumizi ya LCD ya Juu na Kitufe: Saa Kubwa
    Matumizi ya LCD ya Juu na Kitufe: Saa Kubwa

    Huu ni mradi wa kufurahisha ambao hutumia skrini na vifungo vya LCD. Tutashughulika na kazi za Saa za Saa na wahusika wa kawaida kwenye LCD. Katika picha chini unaweza kuona saa 7:26:07 jioni zilizoonyeshwa kwa idadi kubwa kwenye skrini ya LCD. Kila nambari inatumia gridi ya 2x2 ya wahusika kuonyesha kuonyesha idadi kubwa. Hii hutumia fonti iliyoandikwa awali na Xtinus kwa mradi wa XBMC. Vifungo hutumiwa kuweka saa. Kushoto huongeza masaa, Kuongeza juu kwa dakika, Kugeuza kulia kati ya saa 12 na 24, na Ingiza huweka sekunde hadi sifuri. Saa haina kuweka wakati mzuri sana kwani tunatumia oscillator ya ndani isiyo sahihi, lakini programu hii inaweza kubadilishwa kwa urahisi ili kutumia kioo sahihi zaidi cha nje. Tazama hii kwa vitendo kwenye video hapa chini. Ufafanuzi wa jinsi nambari hii inafanya kazi ni sawa, lakini sina wakati sasa hivi. Kwa sasa, unganisha kichwa cha LCD (J31) kwa PORTD (J4) na kichwa cha kifungo (J30) kwa PORTB (J2). Hakikisha una SW1 na SW2 zote kwenye nafasi ya mbali. Unganisha Joka la AVR kwenye kebo ya usb na uzie ncha nyingine ya kebo hiyo kwenye kompyuta yako. Washa SW2 na upange ATmega8 na programu ya programu unayochagua (faili ya hex hapa chini; fyuzi zilizochomwa kwa mipangilio ya kiwanda). KUMBUKA: Ili kutumia vifungo vya Kushoto na Juu utahitaji kuondoa vizuizi kutoka J22 na J24, fanya hii wakati umeme umezimwa.

    Hatua ya 6: Upangaji wa Voltage ya Juu

    Nimetumia High Voltage Parallel Programming kufufua ATtiny2313 ambayo nimeweka mipangilio mibaya ya fuse. Niliihitaji mara ya pili wakati nikifanya kazi juu ya hii inayoweza kufundishwa kwa sababu niliandika mpangilio wa lfuse nilitaka kwenye daftari la hfuse….. oops. Programu ya sambamba na Voltage ya juu ni zana rahisi kuwa nayo! Hapo chini kuna orodha ya mipangilio yangu ya kuruka: TUMIA KWA HATARI YAKO MWENYEWE, AINA HII YA UTARATIBU INAWEZA KUHARIBU UHUNDO WAKO HAUJAJUA UNACHOFANYA !! Programu ya Sambamba ya Voltage Sambamba: ATtiny2313 kwenye tundu U3: SW1 - OFFSW2 - ONJ5, J6, J7 - unganisha pin1 na pin2XTAL1 - unganisha pin1 na pin2J16 - Unganisha pin1 na pin22x5 IDC Cables: PROG_CTRL to PORT D, PROG_DATA to PORT BAll jumpers zingine hazijaunganishwa (J8-J13, J18, J19, J20, J22-J28, J24) Kwa vidonge vingine unapaswa kujua mipangilio unayohitaji kutoka kwa mwongozo wa mtumiaji wa Atmel kwa STK500 yao.

    Hatua ya 7: Kupanua Zaidi ya Bodi

    Kupanua Zaidi ya Bodi
    Kupanua Zaidi ya Bodi

    Ninaona ni rahisi sana kusano na ubao wa mkate. Hii inaruhusu kubadilika zaidi katika kuiga na kukuza nambari kwa wakati mmoja. Kwa chini utaona bodi kadhaa za mkate zilizounganishwa na Mpanda farasi wa Joka. Ninaunganisha nyaya za Ribbon kwenye bandari zinazofaa mwisho mmoja. Kwa upande mwingine mimi hutumia waya za kuruka kuunganisha kondakta sahihi wa ICD na bodi za mkate.

    Hatua ya 8: Hitimisho

    Kuna mengi zaidi ambayo yanaweza kuhusika katika hii inayoweza kufundishwa. Usiku wa leo tu ninakamilisha adapta inayokuruhusu kutumia kichwa cha programu-pini 6 bila kuondoa joka kutoka kwa Mpanda farasi wa Joka. Nitaweka habari juu ya jinsi ya kujiunda mwenyewe … inakuja hivi karibuni. Kama una vitu vingine unafikiria vinahitaji kuongezwa acha maoni.

    Hatua ya 9: Kuongeza ISP 6-Pin

    Inaongeza ISP 6-Pin
    Inaongeza ISP 6-Pin
    Inaongeza ISP 6-Pin
    Inaongeza ISP 6-Pin
    Inaongeza ISP 6-Pin
    Inaongeza ISP 6-Pin

    Kawaida mimi huunda kichwa cha ISP cha pini-6 kwa miradi yangu yote ili niweze kupanga tena chip ikiwa ni lazima na sio lazima kuiondoa kwenye bodi ya mradi. Mpanda farasi kwa kusikitisha hana kichwa cha ISP cha pini 6 lakini niligundua jinsi ya kuifanya ipatikane.

    Onyo !!

    Huu ni utapeli. Ikiwa haujui jinsi hii inavyofanya kazi, usifanye

    Nimeunda bodi yangu ya adapta na jumper ya pini 3 ili kusambaza kichwa cha pini-6 cha pini. Unachofanya ni kuweka Mpanda farasi hadi programu na mdhibiti mdogo wa pini 8. Kutumia tundu la pini 3 ninaruka J8 kuunganisha pini 1 na 3. Njia hizi ni ishara ya saa kwa kontakt PortB. Kisha ninaendesha kebo ya kuruka kutoka kwa kichwa cha PortB kwenda kwenye bodi yangu ya adapta na voila! Kuna picha hapa chini…. tafadhali, tafadhali, tafadhali, usifanye hivi isipokuwa ukielewa kweli unachofanya kwani unaweza kuharibu Joka lako la AVR au mbaya zaidi ikiwa utafanya vibaya.

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

    Hatua ya 10: Msomaji wa RSS Kutumia Uunganisho wa Siri na LCD

    Msomaji wa RSS Kutumia Uunganisho wa Serial na LCD
    Msomaji wa RSS Kutumia Uunganisho wa Serial na LCD
    Msomaji wa RSS Kutumia Uunganisho wa Serial na LCD
    Msomaji wa RSS Kutumia Uunganisho wa Serial na LCD

    Ninaendelea kucheza karibu na bodi hii ya maendeleo. Wakati huu nilitumia sehemu ya mchana kuandaa usomaji wa RSS (haswa upande wa chatu). Sidhani kama inahimiza kufundisha kwake mwenyewe kwa hivyo ninaiongeza hapa.

    Vifaa

    Tunatumia Dragon Rider 500 kama bodi ya maendeleo. Hii hutoa vifaa vyote unavyohitaji (ukifikiri una vifaa vyote vya kuongeza). Hiyo ikisemwa unaweza kufanya hivyo na usanidi wako wa vifaa:

    • Mdhibiti mdogo wa ATmega8 (au yoyote ambayo ina USART na pini za kutosha kwa muunganisho wote
    • Njia ya kupanga microcontroller (ninatumia Joka la AVR)
    • Chip MAX232 kwa mawasiliano ya serial
    • Kiunganishi cha DB9
    • Skrini ya LCD ya HD44780
    • Kioo (nilitumia kioo cha 8MHz)
    • Vipimo vya capacitors na vipinga

    Mpango umetolewa hapa chini. Kwenye Dereva wa Joka tutahitaji kutumia ubunifu ili Kuelekeza unganisho. Kawaida Port D inaweza kushikamana moja kwa moja na kichwa cha LCD. Hii sivyo ilivyo hapa kwa sababu USART inahitajika kwa unganisho la serial hutumia PD0 na PD1. Kwa kuongezea, Port B haiwezi kutumika kwa sababu PB6 na PB7 zinatumika kwa glasi ya nje. Picha hapa chini ni suluhisho langu la shida hii. Ninaunganisha kebo ya Ribbon kwa vichwa vya LCD, Port B na Port D, halafu tumia waya za kuruka kufanya njia sahihi. Usisahau kuunganisha voltage na ardhi kwa kichwa cha LCD.

    Programu

    Programu ya mradi huu inakuja katika sehemu mbili, firmware ya microcontroller na hati ya chatu ya kufuta milisho ya RSS na kuipeleka kwenye unganisho la serial. AVR Firmware Ninatumia maktaba ya LCD ya Peter Fleury tena / fleury). Ni ya nguvu na mafupi, anuwai, na rahisi kubadilisha kwa usanidi wa vifaa vyako. Ukiangalia faili ya kichwa iliyoambatishwa (lcd.h) utaona kuwa ninaendesha katika hali ya 4-bit na Port D kama data bits, na Port B kama bits za kudhibiti. Dhana ya firmware hii ni rahisi sana:

    • Mara baada ya kuwezeshwa maonyesho ya microcontroller "RSS Reader" na kisha inasubiri data ya serial.
    • Kila baiti ya data ya serial iliyopokelewa husababisha bafa ya chars 16 kuhama kushoto na kuongeza baiti kwenye bafa, kisha uonyeshe bafa.
    • Amri tatu maalum zinakubaliwa na microcontroller: 0x00, 0x01, na 0x02. Hizi ni skrini wazi, songa kwa laini ya 0, na songa kwa laini ya 1 mtawaliwa.

    Python ScryptNiliandika hati ya pyton kufuta data ya RSS na kuituma juu ya unganisho la serial. Hii inahitaji moduli ya chatu "pyserial" ambayo labda utalazimika kuisakinisha kwenye mfumo wako ili kufanya kazi hii. Kulisha kwa RSS kunaweza kusanidiwa juu ya faili ya pyton. Ona kuwa unahitaji kuingiza jina la malisho na url ya kulisha. Kuna mifano mitatu hapo, nina hakika unaweza kufuata hizo kwa syntx sahihi

    • Kukusanya vifaa
    • Panga microcontroller (dragon_rss.hex inaweza kutumika ikiwa hautaki kukusanya hii mwenyewe). Mipangilio ya fuse ya ATmega8 kwa kutumia kioo cha MHz 8: lfuse = 0xEF hfuse = 0xD9
    • Imarisha Mpanda farasi wa Joka na uhakikishe kuwa kebo ya serial imechomekwa (LCD inapaswa kusoma: "RSS Reader")
    • Tekeleza programu ya chatu (chatu serial_rss.py)
    • Furahiya

    Ilipendekeza: