Orodha ya maudhui:

ATtiny84 / 85 SPI Interface Pin Tumia tena: 6 Hatua
ATtiny84 / 85 SPI Interface Pin Tumia tena: 6 Hatua

Video: ATtiny84 / 85 SPI Interface Pin Tumia tena: 6 Hatua

Video: ATtiny84 / 85 SPI Interface Pin Tumia tena: 6 Hatua
Video: Использование плат Digispark Attiny85 Mini Arduino: Урок 108 2024, Julai
Anonim
ATtiny84 / 85 SPI Interface Pin Tumia tena
ATtiny84 / 85 SPI Interface Pin Tumia tena

Mafundisho haya ni kufuata "Utatuaji wa Mzunguko wa ATtiny84 / 85 na Pato la Siri" inayoweza kufundishwa na inaongeza usanidi wa vifaa na programu kushughulikia suala la utumiaji wa pini za kupakua programu na programu ya programu. Kwa jumla, kati ya hii na sehemu ya 1 inayoweza kufundishwa, mada zifuatazo zinajadiliwa / kuonyeshwa:

Mada 844. Mchezaji hajali 85. Mchezaji hajali
Mawasiliano ya serial kwa kutumia darasa la SoftwareSerial X X
Kushiriki pini za kifaa kati ya matumizi na upakuaji X X
Kubadilisha Pin kukatiza X
Usumbufu wa nje X
Kulala katika hali ya POWER_DOWN; amka usumbufu X
Fanya kazi kuzunguka kwa kosa la "kuzidisha kuzidisha" kukatiza hitilafu ya kiunga cha vector inayohusiana na SoftwareSerial X
Katika-mzunguko rekebisha, pakua, utatuaji,… mzunguko wa maendeleo wa vifaa vya ATTiny X X

Kuongeza vifaa vya I / O vya vifaa kwenye moja ya pini zilizowekwa kwenye kiolesura cha programu ya SPI wakati mwingine ni sawa, wakati mwingine sio sawa. Kwa mfano, kuongeza LED kwa MISO husababisha tu LED kuwaka wakati wa kupakua na kisha inapatikana kwa programu. Walakini, kuongezea buzzer ya piezo kwa MISO itasababisha sauti ya kutisha inayofuatwa na kufeli kwa upakuaji.

Hii inaelezea jinsi ya kutumia 4x2: 1 multiplexer "kupona" matumizi ya pini zilizopewa interface ya SPI MISO, MOSI, na ishara za SCK kwa kuzilinda wakati wa kupakua. Kutumia tena pini ya RESET inahitaji mabadiliko ya fuse na haifunikwa na njia hii. Ugawaji mara mbili wa pini unatimizwa kwa kutumia multiplexer kubadili kati ya programu na pembejeo za programu kulingana na upakuaji unaendelea. Nambari na hesabu zimejumuishwa kwa ATtiny84 na ATtiny85. Usanidi wa ATiny84 unashughulikiwa kwanza kwani ina bandari mbili za I / O na inaweza kutumika kuonyesha shida / suluhisho zingine za ziada. Kufuatia majadiliano madogo84, hali kama hizo zinajadiliwa kwa ATtiny85.

Hatua ya 1: Vifaa vinavyohitajika

Picha
Picha

Vifaa vingi vinavyohitajika viliorodheshwa katika sehemu ya 1 inayoweza kufundishwa kwa hivyo ni vifaa vipya tu vilivyoorodheshwa hapa chini.

Jina Chanzo kinachowezekana Jinsi Imetumika
4x2: 1 Multiplexer Mouser Inayo pembejeo nne za 2; swichi za 1-pato ambazo ni utaratibu ambao ishara ya Uingiliano wa SPI na matumizi ya I / O yanashirikiwa.
Kubadilisha SPST Aina yoyote ya ubadilishaji (ya kitambo au iliyofungwa) itafanya kazi. Kubadilisha hutumiwa kuonyesha ushiriki wa pini kwa pembejeo la programu.
Kinzani ya 10K Vuta kupinga chini kwa swichi ya SPST ili kuepuka pembejeo inayoelea
Picha
Picha
Picha
Picha

Multiplexer ni ufunguo wa kutenganisha matumizi ya kupakua pini kutoka kwa matumizi ya programu. Utendaji wa jumla wa 4x2: 1 multiplexer ni sawa-mbele inayojumuisha ishara 2 za kudhibiti na swichi 4 zinazofanya kazi sawa. Tabia ya kila pini ya multiplexer imejadiliwa hapa chini:

Bandika Jina Kazi
15 G Kama inavyoonyeshwa kwenye jedwali la ukweli, multiplexer inafanya kazi tu wakati G kuwezesha pini iko chini. Kwa kuwa hatutaki kabisa kuzima multiplexer, pini 15 itaunganishwa moja kwa moja na ardhi.
2-4; 5-7; 9-11;12-14 A (pembejeo), B (pembejeo), Y (pato) Kuna pembejeo nne 2; 1-pato swichi na kila kikundi cha pini 3 zilizohesabiwa mfululizo kwa mpangilio A (pembejeo), B (pembejeo), Y (pato) n.k. kwa kubadili 1; pini 2 = 1A; pini 3 = 1B; pini 4 = 1Y.
1 Chagua Wakati Chagua iko chini, ubadilishaji wa ingizo A umeunganishwa na pini inayohusiana ya pato, Y. Wakati chaguzi iko juu, badilisha pembejeo B imeunganishwa na pato badala yake. Swichi zinadhibitiwa wakati huo huo na ishara ya Chagua na ufanye kazi sawa.
8 GND multiplexer IC ardhi
16 VCC nguvu nyingi za IC

Hatua ya 2: Muhtasari wa Kesi za Mtihani

Picha
Picha
Picha
Picha

Matukio mawili ya utumiaji wa pini yanategemea ikiwa pini ni pembejeo la programu au pato. Utaratibu wa kushughulikia pembejeo yoyote ni sawa kila wakati; pia utaratibu wa matokeo ya maombi ni sawa bila kujali sehemu ya vifaa. Hata hivyo, maelezo ni rahisi, na kwa matumaini ni wazi, ikiwa mifano maalum imetolewa. Mpangilio mdogo wa kesi hizi mbili umeonyeshwa hapo juu. Kwa usanidi wa kina baadaye kwenye unganisho huwa kidogo ya kiota cha squirrels kwa hivyo inaweza kuwa na faida kurudi kwenye michoro hizi safi.

Rudisha ni chaguo bora kwa multiplexer Chagua ishara kwani iko chini wakati wa kupakua lakini inarudi juu wakati upakuaji umekamilika. Kumbuka kuwa swichi yoyote ya multiplexer inaweza kutumika kwa kesi yoyote kwani swichi zote hufanya sawa. Pia, hakuna mifano ambayo ni "ya kweli"; walichaguliwa badala yake kama njia ya moja kwa moja ya kuonyesha mbinu za kujitenga

  1. Uchunguzi wa Pato: Pato la LED kutoka kwa ATtiny84 pin 4 (SCK) imetengwa kwa kutumia swichi ya multiplexer 2

    • unganisha pini ya multiplexer 2A ardhini
    • unganisha pini ya multiplexer 2B na ATtiny85 pin 4
    • unganisha pato 2Y kwa anode ya LED

      • Matokeo Yanayotarajiwa:

        • LED imezimwa wakati wa kupakua tangu kushikamana na 2A, ardhi
        • LED iliyoambatishwa na pini ya pato la 4 baada ya kupakuliwa kupitia 2B na kuanza kupepesa
  2. Kesi ya Kuingiza: Kubadilisha pembejeo ya SPST kwa ATtiny84 pin 6 (MOSI) imetengwa kwa kutumia swichi ya multiplexer 3

    • Waya inayoongoza kwa MOSI kutoka kwa kichwa cha Programu ya AVR imehamishwa hadi 3A
    • kubadili pembejeo 3B imeunganishwa na pato la SPST
    • pato 3Y imeunganishwa na pint ya ATtiny84 6

      • 3A, MOSI, imeunganishwa na kubandika 6 wakati wa kupakua
      • 3B, pato la SPST, limeunganishwa na kubandika 6 baada ya kupakuliwa

Kesi ya 1 imefanikiwa ikiwa LED haibadiliki wakati wa upakuaji wa programu na kisha kupepesa kila sekunde mbili kufuatia upakuaji kama inavyotarajiwa chini ya udhibiti wa programu. Bila kutengwa LED ingekuwa ikibadilika wakati wa kupakua kwani imeunganishwa moja kwa moja na ishara ya SCK, ambayo inabadilisha hali kwa data ya saa kupokea / kusambaza.

Uchunguzi 2 umefanikiwa ikiwa ishara ya MOSI inapelekwa kwa ATtiny84 wakati wa kupakua, i.e.kupakua hakufaulu, na LED hujibu kwa kuwasha / kuzima kwa SPST baada ya kupakua. Uchunguzi 2 unazuia kutofaulu kwa upakuaji mmoja. Bila kutengwa, ubadilishaji wa SPST utasababisha kutofaulu ikiwa 1) swichi iliyotumiwa hutumiwa na 2) swichi imesalia kwenye nafasi wakati wa kupakua. Unapotengwa na multiplexer, swichi haiwezi kusababisha upakuaji wa upakuaji kwa hali yoyote. Unyooshaji kidogo lakini unafariji sisi wazee.

Matokeo moja ya kutumia multiplexer ni kwamba sehemu ya vifaa haiwezi kushikamana moja kwa moja na pini ya microcontroller I / O. Hii ni ngumu sana lakini hairuhusu sehemu kubaki kwenye ubao wa mkate wakati wa jaribio pamoja na vifaa vingine vya programu, na inaweza kurudishiwa mahali pake sahihi wakati jaribio limekamilika.

Hatua ya 3: ATtiny84 Uchunguzi 1 - Tenga Pato la Maombi

Picha
Picha

Hatua hii inaelezea usanidi wa kushiriki pini ya pato la programu na ishara ya kupakua. Mfano uliotumiwa ni LED iliyoambatishwa na pin 4 (SCK). Kutumia LED iliyopo kama mfano inaruhusu msisitizo juu ya kuongezewa kwa multiplexer kwenye sehemu ya 1 ya vifaa na mazingira ya programu.

  • Vifaa
    • Ongeza multiplexer kwenye ubao wa mkate katika eneo la jamaa lililoonyeshwa kwenye mchoro wa fritzing hapo juu. Multiplexer imewekwa kuelekea katikati ili kuruhusu nafasi ya kubadili SPST inahitajika katika Uchunguzi 2.
    • Panua ishara ya Rudisha kwa multiplexer kwa kuongeza waya inayoongoza (pendekeza njano) kutoka kwa pini ya ATtiny84 11 hadi pini ya multiplexer 1.
    • Usanidi wa vifaa uliobaki umetolewa katika Hatua ya 2

      • unganisha pini ya multiplexer 2A moja kwa moja ardhini
      • unganisha siri 2B na ATtiny84 pini 4
      • unganisha pato 2Y kwa anode ya LED

        • Matokeo Yanayotarajiwa:

          • wakati wa kupakua 2Y imeunganishwa na ardhi (2A) kwa hivyo LED hubaki mbali
          • Baada ya kupakua 2Y imeunganishwa na ATtiny84 pini 4 - udhibiti wa matumizi ya LED
  • Programu

    • Nambari ya sehemu ya 1 imetumika tena; inapatikana kutoka sehemu ya 1 inayoweza kufundishwa badala ya kuigwa hapa
    • Pakia na ujumuishe mpango wa sehemu ya 1 katika IDE ya Arduino
    • Chomeka programu ndogo ya AVR kwenye bandari ya PC USB
    • Chomeka USB ya Adafruit kwa kebo ya Serial kwenye bandari ya pili ya USB

      • Bandari ya COM imeundwa na inapatikana moja kwa moja kwenye orodha ya bandari ya IDE
      • Anzisha dirisha la COM
    • Pakua nambari iliyokusanywa kwa ATtiny84

Matokeo ya programu ya maombi ni sawa na sehemu ya 1 kwani mabadiliko pekee yalikuwa kuhamisha LED kwenye eneo "lililohifadhiwa": Mwangaza wa LED unapita katika vipindi 2 vya pili; pato la serial ni sawa. Tofauti moja ambayo inapaswa kutokea ni kwamba LED haizunguki tena wakati wa kupakua kwani, wakati huo, imeunganishwa ardhini kupitia pini ya multiplexer 2A.

Picha
Picha

Hatua ya 4: ATtiny84 Uchunguzi 2 - Tenga Ingizo la Maombi

Picha
Picha

Hatua hii inajengwa juu ya usanidi wa kesi iliyotangulia ya kutengwa kwa pato. Mabadiliko ya vifaa yanajumuisha kuambatisha ubadilishaji wa SPST kwa ATtiny84 pin 6 (MOSI) kupitia multiplexer. Kwa hivyo mabadiliko ya vifaa ni ndogo lakini kuna mabadiliko kadhaa ya programu kuruhusu kubadili SPST kudhibiti LED kwa kutumia mabadiliko ya pini kukatiza. Nambari iliyosasishwa imejumuishwa chini ya sehemu hii. Nambari inapaswa kunakiliwa kwenye IDE ya Arduino; pendekeza kuihifadhi chini ya jina Multiplexer_Input. (Naomba radhi kwa urefu wa sehemu hii lakini ni moyo wa kusudi la kuagizwa na nadhani inasomeka vizuri kama monolith badala ya kuingiza mapumziko bandia.)

Sasisha Mahali Kusudi
ni pamoja na "hacked" darasa la SoftwareSerial ni pamoja na sehemu LED sasa inadhibitiwa na swichi ya SPST kupitia mabadiliko ya pini. Darasa la SoftwareSerial lazima lirekebishwe kwani vinginevyo hutenga mabadiliko yote ya usumbufu wa usumbufu. Hii inasababisha kosa la kiungo la "ufafanuzi anuwai" kwa vector (bandari 0) iliyopewa swichi ya SPST. Toleo la SoftwareSerial lililoharibiwa linapaswa kuwekwa kwenye saraka sawa na programu ili iweze kuathiri tu programu hii.
Ufafanuzi wa siri ya pembejeo ya SPST ni pamoja na / sehemu ya ufafanuzi mgawo wa pembejeo ya SPST kwenye pini ya kifaa. Pini ni kifaa maalum kwa hivyo inaongezwa kwenye sehemu ya #ifdef ATtiny8x.
Modi ya siri ya pembejeo ya SPST kazi ya kuanzisha Pini ya SPST imeundwa kama Pembejeo
Sanidi kukatiza siri ya SPST kazi ya kuanzisha Vector ya kukatiza imepewa pini ya kuingiza ya SPST ili mabadiliko ya hali ya kubadili yasumbue. Sajili za usanidi na aina ya kusumbua ni maalum kwa kifaa. Ili kuifanya nambari iwe ya moja kwa moja iwezekanavyo, tofauti zinashughulikiwa ndani ya sehemu ya #kama ilivyoainishwa
Sanidi ujumbe kamili wa serial kazi ya kuanzisha Usanidi kamili wa ujumbe wa pato hubadilishwa ili kuonyesha programu ya Kuingiza Multiplexer
Ongeza kazi ya kubadili ISR ya SPST sehemu ya nambari ISR ya usumbufu wa mabadiliko ya siri ya SPST imeongezwa. Nambari ni ya kawaida lakini vector inayotumiwa ni maalum kwa kifaa na imeelezewa katika sehemu zinazotegemea kifaa juu ya programu. Ili kudhibitisha ISR imeamilishwa, hali ya LED inabadilishwa. Ingawa hapana-hapana katika programu halisi, ujumbe wa pato la serial hutengenezwa kuonyesha hali mpya ya LED.
Rekebisha usindikaji wa kitanzi kazi ya kitanzi ISR sasa inadhibiti kuwasha na kuwasha LED ili utendaji uondolewe kutoka kwa utaratibu wa kitanzi. Wito kwa utaratibu wa kulala umeongezwa kwa ATtiny84 kama aina ya "ziada". Kwa programu tumizi hii, usingizi wa ATtiny85 haufanyi kazi; labda kwa sababu ya kuingiliwa kwa darasa la Software Serial kwani inafanya kazi na SoftwareSerial imeondolewa.
Ongeza utaratibu wa kulala sehemu ya nambari Utendaji wa kulala sio lazima kuonyesha matumizi ya multiplexer. Imeongezwa tu kwa sababu kawaida ingetaka kungojea pembejeo katika hali ya POWER_DOWN ili kuokoa nguvu badala ya kuendelea kupitia kitanzi cha programu bila kufanya chochote hadi pembejeo litokee.

Rekebisha Msimbo wa darasa la SoftwareSerial

Darasa la SoftwareSerial linahitaji kubadilishwa ili lisiingize nguruwe zote hubadilisha bandari. Nambari ya darasa la SoftwareSerial iko katika

C: / Program Files (x86) Arduino / vifaa / arduino / avr / maktaba / SoftwareSerial / src

Pata kwenye PCINT0_vect katika SoftwareSerial.cpp kupata eneo la kuanza kwa mabadiliko ya msimbo. Ongeza nambari ifuatayo mara moja ikitangulia taarifa iliyopo ya #if defined (PCINT0_vect).

# ikiwa imefafanuliwa (_ AVR_ATtiny84_)

#fafanua MYPORT PCINT1_vect #elif defined (_ AVR_ATtiny85_) #fasili MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }

Sasa toa maoni juu ya kificho kilichopo ambacho kinatenga vinjari vya usumbufu wa bandari kama ilivyoonyeshwa hapo chini (ongeza tu alama za maoni za mwanzo na mwisho / * na * /):

/*

# ikiwa imefafanuliwa (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } # mwisho ikiwa ikifafanuliwa (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } # mwisho ikiwa ikifafanuliwa (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); # endif # ikiwa imefafanuliwa (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect)); # endif * /

Sanidi vifaa

Kitufe cha SPST kimeambatanishwa na ATtiny84 pin 6 (MOSI) kama ilivyoainishwa katika Hatua ya 2. Utaratibu umerudiwa hapa kwa urahisi.

  • unganisha ubadilishaji wa kubadili 3A kwa kichwa cha MOSI cha Programu ndogo ya AVR
  • unganisha 3B kwa kubadili SPST ON pini ya pato
  • unganisha 3Y na ATtiny84 pin 6

    • MATOKEO:

      • 3A, MOSI, itatekelezwa kupitia pin ya ATtiny84 6 wakati wa kupakua
      • 3B, pato la SPST, litatumiwa kubandika 6 baada ya kupakuliwa

Endesha programu

Kabla ya kukimbia, weka swichi ya SPST mahali pa kuzima. Vinginevyo LED itawasha wakati swichi imezimwa na kinyume chake. Fuata utaratibu wa hatua ya 3 kupakia, kukusanya, na kupakua programu ya kuingiza programu kwa kutumia Arduino IDE. Kama hapo awali, LED haipaswi kung'ara wakati wa upakuaji ili dalili tu kwamba programu imeanza na itakuwa ujumbe wa serial mwishoni mwa utaratibu wa usanidi: SETUP Kamili - Mfano wa Kuingiza

Kwa wakati huu mpango unasubiri pembejeo kutoka kwa swichi ya SPST. Kuweka swichi katika nafasi ya ON itasababisha LED kuwasha; kubadilisha nyuma kwa nafasi ya mbali kunazima LED. Ujumbe wa pato unathibitisha kuwa ISR iliombwa (ISR: Led HIGH, ISR: Led LOW). Angalia agizo la jumbe za mfululizo ni KWENDA KULALA kwanza kusubiri kwenye mabadiliko ya hali ya kubadili; unapopata pembejeo ya kubadili ISR inaombwa, inabadilisha LED, na inabadilisha mabadiliko; kisha usindikaji huchukua kufuatia simu ya kulala kwani usumbufu unaamsha processor.

Picha
Picha

PROGRAMU YA HII INAYOFUNDISHA:

//************************************************************************

// SEHEMU YA 2: Kushiriki / kupakuliwa kwa pini ya kifaa //. Inabadilisha nambari ya Sehemu ya 1 kusaidia matumizi ya matumizi ya pini // iliyopewa kiolesura cha programu ya SPI //. Nambari ya "Comon" ya ATtiny85 na ATtiny84 // *************************************** ******************************* # pamoja na "SoftwareSerial.h" // Modified Arduino SoftwareSerial class #include // Wakati nambari ya usindikaji ni ya kawaida, pini zinazotumiwa ni maalum kwa kifaa # ikiwa imefafanuliwa (_ AVR_ATtiny84_) || imeelezewa (_ AVR_ATtiny84A_) #fafanua ledPin 4 // Imegeuzwa kugeuza kushikamana Imewashwa / kuzimwa #fafanua rxPin 9 // Pin iliyotumiwa kwa Serial kupokea #fafanua txPin 10 // Pin inayotumiwa kwa kusambaza Serial #fafanua SpstPin 6 // Ingizo kutoka kwa swichi ya SPST (MOSI) #fafanua ISR_VECT PCINT0_vect // SPST switch Pin change vector #elif defined (_ AVR_ATtiny85_) #define ledPin 1 #fafanua rxPin 4 #define txPin 3 #fafanua SpstPin 2 // Ingizo kutoka kwa kubadili kwa SPST (INT0) #fafanua ISR _ // SPST kubadili Pin mabadiliko kukataza vector #else #error ATiny84 tu na ATtiny85 zinaungwa mkono na Mradi huu # endif // Unda mfano wa darasa la Software Serial ikielezea ni kifaa kipi // pini kinachotumiwa kupokea na kusambaza SoftwareSerial mySerial (rxPin, txPin); // ------------------------------------------------ ------------------------ // Anzisha rasilimali za usindikaji // ------------------ -------------------------------------------------- --- kuanzisha batili () {mySerial.begin (9600); // Anza ucheleweshaji wa usindikaji wa serial (2000); // Mpe Serial Com band muda wa kukamilisha kuanza. // vinginevyo, pato la 1 labda linakosekana au limechorwa pinMode (ledPin, OUTPUT); // Sanidi pini iliyoongozwa kwa OUTPUT pinMode (SpstPin, INPUT); // Sanidi kipini cha kubadili SPST kama Pembejeo #kama ilivyoainishwa (_ AVR_ATtiny84_) || (_AVR_ATtiny84A_) // kusanikisha mabadiliko ya pini kushughulikia kushughulikia pembejeo ya kubadili kwenye pin 6 (MOSI) GIMSK | = (1 <

Hatua ya 5: Uchunguzi wa ATtiny85 1 - Tenga Pato la Maombi

Picha
Picha

Badala ya kujenga usanidi maradufu wa vifaa vya ATtiny85, labda ni rahisi kuanza na usanidi uliomalizika wa ATtiny84 kutoka Hatua ya 4 na ubadilishe chip chip84 na tiny85. Vifaa vyote vinavyohitajika basi tayari vinapatikana. Ikiwa unatumia njia hii, tafuta tiny85 ili pini 3 na 4 ziendane na serial cable tx na zipokee waya. Basi ni suala tu la kuhamisha waya zinazoongoza za kiolesura cha SPI ili zilingane na maeneo yao yanayotakiwa kwa ATtiny85.

Ikiwa kuanzia mwanzo, fuata tu hatua za jumla kutoka kwa Hatua ya 3 na mchoro wa fritzing hapo juu. Nambari hiyo ni sawa na kutumika kwa ATtiny84 katika Hatua ya 3 na matokeo sawa yanatarajiwa - hakuna kuzima wakati wa kupakua; wakati wa kuendesha blinks za LED kwa vipindi 2 vya pili na ujumbe wa pato la serial hufuata hali ya LED.

Picha
Picha

Hatua ya 6: Uchunguzi wa 2 wa ATtiny85 - Tenga Ingizo la Maombi

Picha
Picha

Kwa usanidi wa vifaa, anza na usanidi kutoka kwa Hatua ya 5 na ongeza swichi ya SPST kama inavyoonyeshwa kwenye mchoro wa fritzing hapo juu. Kwa kweli nilitumia swichi ya kitambo kwa toleo la vidogo85 na inafanya uhakikisho kuwa rahisi kidogo. Kumbuka kuwa pato la kubadili limebadilishwa digrii 180 kutoka kwa usanidi wa ATtiny84. Mabadiliko haya hufanya iwe rahisi kusafirisha waya za kushikamana kwani ishara zote 3 za SPI ziko upande mmoja kwa ATtiny85.

Tumia programu sawa na ya ATtiny84 Hatua ya 4. Matokeo yale yale ya jumla yanatarajiwa - LED inabadilika hali wakati swichi ya SPST imewashwa / kuzimwa na ujumbe wa pato la serial unaandika mabadiliko hayo. Ujumbe wa KWENDA KULALA haupo kwani utendaji wa usingizi haujashughulikiwa kwa ATtiny85. Ingawa programu hiyo hiyo inatumiwa, kuna tofauti kubwa katika utekelezaji kuhesabu ukweli kwamba ATtiny85 ina rejista moja tu ya bandari (Port 0):

  1. SoftwareSerial sasa imetenga ubadilishaji wa pini 0 kukatiza kwa mawasiliano ya serial (Kumbuka kwamba tuliweza kutumia bandari 1 kwa ATtiny84.)
  2. Usumbufu wa ubadilishaji wa SPST lazima utekelezwe na usumbufu wa nje 0 (INT0) kwani usumbufu wa ubadilishaji wa pini moja tu umetengwa na SoftwareSerial. Hii haionyeshi ukweli kwamba mabadiliko ya pini hukatiza na usumbufu wa nje ni huru kimantiki na inaweza kutumika ndani ya sajili hiyo hiyo ya bandari.
  3. Hakuna kitu kinachopatikana kwa kutumia toleo la SoftwareSerial iliyobadilishwa - kuna bandari moja tu na darasa la SoftwareSerial litachukua. Walakini, darasa lililobadilishwa bado lilitumika tu kuzuia mabadiliko ambayo hayahusiani moja kwa moja na lengo la hatua hii.

Ilipendekeza: