Turinys:
- 1 veiksmas: reikalinga aparatinė įranga
- 2 veiksmas: bandymų atvejų apžvalga
- 3 žingsnis: „ATtiny84“1 atvejis - izoliuokite programos išvestį
- 4 veiksmas: „ATtiny84“2 atvejis - izoliuokite programos įvestį
- 5 žingsnis: „ATtiny85“1 atvejis - izoliuokite programos išvestį
- 6 veiksmas: „ATtiny85“2 atvejis - izoliuokite programos įvestį
Video: ATtiny84/85 SPI sąsajos kaiščio pakartotinis naudojimas: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šis nurodymas yra tolesnis nurodymas „ATtiny84/85 grandinės derinimas naudojant serijinę išvestį“ir pratęsia tą aparatinės ir programinės įrangos konfigūraciją, kad būtų išspręsta problema, susijusi su programinės įrangos atsisiuntimo kaiščių pakartotiniu naudojimu taikomojoje programoje. Iš viso tarp šios ir 1 pamokomos dalies aptariamos/demonstruojamos šios temos:
Tema | 84 straipsnis | 85 |
---|---|---|
Serijinis ryšys naudojant „SoftwareSerial“klasę | X | X |
Įrenginio kontaktų bendrinimas tarp programos ir atsisiuntimo | X | X |
Smeigtuko keitimo pertrauka | X | |
Išorinis pertraukimas | X | |
Miego režimas POWER_DOWN; pabusti nutraukus | X | |
Išspręskite „dauginti apibrėžtą“pertraukimo vektoriaus nuorodos klaidą, susijusią su „SoftwareSerial“ | X | |
„ATtiny“įrenginių modifikavimas, atsisiuntimas, derinimas ir … kūrimo ciklas | X | X |
Aparatinės įvesties/išvesties komponento pridėjimas prie vieno iš kaiščių, skirtų SPI programavimo sąsajai, kartais yra gerai, kartais ne. Pvz., Pridėjus šviesos diodą prie MISO, šviesos diodas mirksi atsisiuntimo metu ir tada jis yra prieinamas programai. Tačiau, pridėjus pjezo garsinį signalą prie MISO, pasigirs siaubingas girgždantis garsas, po kurio nepavyks atsisiųsti.
Šioje instrukcijoje paaiškinama, kaip naudoti 4x2: 1 multiplekserį, kad „atkurtumėte“SPI sąsajai priskirtų kaiščių MISO, MOSI ir SCK signalų naudojimą, apsaugodami juos atsisiuntimo metu. Pakartotiniam RESET kaiščio naudojimui reikia pakeisti saugiklį ir šis metodas neapima. Dvigubas kaiščių priskyrimas atliekamas naudojant multiplekserį, kad būtų galima perjungti programos ir programavimo įvestis, atsižvelgiant į tai, ar atsisiuntimas vyksta. Įtraukti kodai ir schemos tiek „ATtiny84“, tiek „ATtiny85“. Pirmiausia nagrinėjama ATiny84 konfigūracija, nes ji turi du įvesties/išvesties prievadus ir gali būti naudojama iliustruoti kai kurias papildomas problemas/sprendimus. Po tiny84 diskusijos aptariami tie patys scenarijai kaip ir ATtiny85.
1 veiksmas: reikalinga aparatinė įranga
Dauguma reikalingos techninės įrangos buvo išvardyti 1 dalyje, kurią galima nurodyti, todėl toliau pateikiama tik nauja aparatūra.
vardas | Galimas šaltinis | Kaip naudojamas |
---|---|---|
4x2: 1 multiplekseris | Mouser | Sudėtyje yra keturi 2 įvesties ir 1 išėjimo jungikliai, kurie yra SPI sąsajos signalų ir taikomųjų įėjimų/išėjimų bendrinimo mechanizmas. |
SPST jungiklis | Bet kokio tipo jungiklis (momentinis arba fiksuotas) veiks. Jungiklis naudojamas iliustruoti programos įvesties kaiščių bendrinimą. | |
10K rezistorius | Ištraukiamas SPST jungiklio rezistorius, kad būtų išvengta plūduriuojančio įėjimo |
Multiplekseris yra raktas, leidžiantis atskirti atsisiuntimo naudojimą nuo programos naudojimo. Bendras 4x2: 1 multipleksoriaus funkcionalumas yra gana paprastas, susidedantis iš 2 valdymo signalų ir 4 vienodai veikiančių jungiklių. Toliau aptariamas kiekvieno multiplekserio kaiščio elgesys:
Smeigtukas | vardas | Funkcija |
---|---|---|
15 | G | Kaip nurodyta tiesos lentelėje, multiplekseris veikia tik tada, kai G įjungimo kaištis yra žemas. Kadangi mes niekada nenorime visiškai išjungti multipleksoriaus, kaištis 15 bus prijungtas tiesiai prie žemės. |
2-4; 5-7; 9-11;12-14 | A (įvestis), B (įvestis), Y (išvestis) | Yra keturi 2 įėjimai; 1 išėjimo jungikliai, kurių kiekviena 3 kaiščių grupė iš eilės sunumeruota tokia tvarka: A (įvestis), B (įvestis), Y (išvestis), pvz. 1 jungikliui; 2 kaištis = 1A; kaištis 3 = 1B; 4 kaištis = 1Y. |
1 | Pasirinkite | Kai „Select“yra žemas, jungiklio įėjimas A yra prijungtas prie susijusio jungiklio išvesties kaiščio, Y. Kai pasirinkimas yra didelis, jungiklio B įvestis yra prijungta prie išvesties. Jungikliai vienu metu valdomi pasirinkimo signalu ir veikia vienodai. |
8 | GND | multiplekserio IC įžeminimas |
16 | VCC | Multiplekso IC maitinimas |
2 veiksmas: bandymų atvejų apžvalga
Du kaiščių pakartotinio naudojimo scenarijai yra pagrįsti tuo, ar kaištis yra programos įvestis, ar išvestis. Įvesties tvarkymo tvarka visada yra ta pati; taip pat taikomųjų programų išvesties procedūra yra identiška, nepriklausomai nuo aparatinės įrangos komponento. Nepaisant to, paaiškinimas yra lengvesnis ir, tikiuosi, aiškesnis, jei pateikiami konkretūs pavyzdžiai. Minimalistiniai dviejų atvejų išdėstymai pateikti aukščiau. Dėl išsamesnės sąrankos vėliau jungtys taps šiek tiek voverių lizdo, todėl gali būti naudinga grįžti prie šių švaresnių schemų.
„RESET“yra puikus pasirinkimas multiplekserio pasirinkimo signalui, nes atsisiuntimo metu jis yra žemas, bet baigiantis atsisiuntimui grįžta atgal. Atminkite, kad bet kuris iš multiplekserio jungiklių gali būti naudojamas abiem atvejais, nes visi jungikliai veikia vienodai. Be to, nė vienas iš pavyzdžių nėra „realistinis“; jie buvo pasirinkti kaip paprasčiausias būdas parodyti izoliacijos metodus
-
Išvesties dėklas: LED išėjimas iš ATtiny84 kaiščio 4 (SCK) yra izoliuotas naudojant 2 multiplekserio jungiklį
- prijunkite multiplekserio kaištį 2A prie žemės
- prijunkite multiplekserio kaištį 2B prie ATtiny85 kaiščio 4
-
prijunkite 2Y išvestį prie LED anodo
-
Tikėtini Rezultatai:
- Atsisiuntimo metu šviesos diodas nedega, nes prijungtas prie 2A, įžeminimo
- Šviesos diodas prijungtas prie programos išvesties kaiščio 4 po atsisiuntimo per 2B ir pradeda mirksėti
-
-
Įvesties dėklas: SPST jungiklio įėjimas į „ATtiny84“kaištį 6 (MOSI) yra izoliuotas naudojant 3 multiplekserio jungiklį
- MOSI laidas iš AVR programuotojo antraštės perkeliamas į 3A
- jungiklio įėjimas 3B yra prijungtas prie SPST išvesties
-
3Y išėjimas yra prijungtas prie ATtiny84 6 kaiščio
- 3A, MOSI, atsisiuntimo metu prijungtas prie 6 kaiščio
- 3B, SPST išvestis, po atsisiuntimo prijungta prie 6 kaiščio
1 atvejis yra sėkmingas, jei šviesos diodas nemirksi atsisiunčiant programą ir mirksi kas dvi sekundes po atsisiuntimo, kaip tikimasi, valdant programą. Be izoliacijos šviesos diodas mirksi atsisiuntimo metu, nes yra tiesiogiai prijungtas prie SCK signalo, kuris keičia būseną į laikrodžio duomenų priėmimo/perdavimo būseną.
2 atvejis yra sėkmingas, jei MOSI signalas siunčiamas į ATtiny84 atsisiuntimo metu, t. Y. Atsisiuntimas nepavyksta, o po atsisiuntimo šviesos diodas reaguoja į SPST įjungimą/išjungimą. 2 atvejis apsaugo nuo vienos mažai tikėtinos atsisiuntimo klaidos. Be izoliacijos, SPST jungiklis sukels gedimą, jei 1) bus naudojamas fiksuotas jungiklis ir 2) atsisiuntimo metu jungiklis bus įjungtas. Kai jungiklis yra izoliuotas multiplekseriu, jis jokiomis aplinkybėmis negali sukelti atsisiuntimo gedimo. Šiek tiek ištempta, bet guodžia mus, senus žmones.
Viena iš multiplekserio naudojimo pasekmių yra ta, kad aparatūros komponento nebegalima tiesiogiai prijungti prie mikrovaldiklio įvesties/išvesties kaiščio. Tai yra šiek tiek nepatogu, tačiau leidžia komponentą bandymo metu likti ant duonos lentos kartu su kita taikomosios įrangos įranga, o baigus bandymą jį galima perkelti atgal į tinkamą vietą.
3 žingsnis: „ATtiny84“1 atvejis - izoliuokite programos išvestį
Šiame žingsnyje aprašoma programos išvesties kaiščio bendrinimo su atsisiuntimo signalu sąranka. Pavyzdys yra šviesos diodas, pritvirtintas prie 4 kaiščio (SCK). Naudojant esamą šviesos diodą kaip pavyzdį galima pabrėžti multiplekserio pridėjimą prie 1 dalies aparatinės ir programinės įrangos aplinkos.
- Techninė įranga
- Pridėkite multiplekserį prie duonos lentos toje pačioje vietoje, kaip parodyta aukščiau esančioje matavimo diagramoje. Multiplekseris yra nukreiptas į centrą, kad būtų vietos SPST jungikliui, kurio reikia 2 atveju.
- Išplėskite RESET signalą iki multiplekserio, pridedant laidą (siūlau geltoną) nuo ATtiny84 kaiščio 11 prie multiplekserio kaiščio 1.
-
Likusi aparatūros sąranka yra tokia, kaip nurodyta 2 veiksme
- prijunkite multiplekserio kaištį 2A tiesiai prie žemės
- prijunkite 2B kaištį prie ATtiny84 kaiščio 4
-
prijunkite 2Y išvestį prie LED anodo
-
Tikėtini Rezultatai:
- atsisiuntimo metu 2Y yra prijungtas prie žemės (2A), todėl šviesos diodas lieka neišjungtas
- Atsisiuntus 2Y yra prijungtas prie ATtiny84 kaiščio 4 - programos LED valdymas
-
- Programinė įranga
- 1 dalies kodas naudojamas pakartotinai; galima rasti iš 1 dalies, kuri yra pamokoma, o ne dubliuojama čia
- Įkelkite ir sukompiliuokite 1 dalies programą „Arduino IDE“
- Prijunkite „Tiny AVR“programuotoją prie kompiuterio USB prievado
-
Prijunkite „Adafruit“USB prie serijos kabelio prie antrojo USB prievado
- Sukuriamas COM prievadas, kuris automatiškai pasiekiamas IDE prievadų sąraše
- Paleiskite COM langą
- Atsisiųskite sukurtą kodą į ATtiny84
Taikomosios programos rezultatai yra tokie patys kaip ir 1 dalyje, nes vienintelis pakeitimas buvo šviesos diodo perkėlimas į „apsaugotą“vietą: šviesos diodas mirksi 2 sekundžių intervalu; serijinė išvestis yra ta pati. Vienintelis skirtumas, kuris turėtų atsirasti, yra tas, kad atsisiuntimo metu šviesos diodas nebemirksi, nes per tą laiką jis yra prijungtas prie žemės per multiplekserio kaištį 2A.
4 veiksmas: „ATtiny84“2 atvejis - izoliuokite programos įvestį
Šis žingsnis grindžiamas ankstesnio išvesties izoliavimo atvejo sąranka. Techninės įrangos pakeitimai apima SPST jungiklio prijungimą prie ATtiny84 kaiščio 6 (MOSI) per multiplekserį. Taigi techninės įrangos pakeitimai yra minimalūs, tačiau yra keletas programinės įrangos pakeitimų, leidžiančių SPST jungikliui valdyti šviesos diodą naudojant kaiščio keitimo pertrauką. Atnaujintas kodas yra šio skyriaus apačioje. Kodas turėtų būti nukopijuotas į „Arduino IDE“; pasiūlykite jį išsaugoti pavadinimu „Multiplexer_Input“. (Atsiprašau už šios dalies trukmę, bet tai yra pamokymo esmė ir manau, kad ji geriau skaitoma kaip monolitinis, o ne įterpiamas dirbtinių pertraukų.)
Atnaujinti | Vieta | Paskirtis |
---|---|---|
įtraukti „nulaužtą“„SoftwareSerial“klasę | įtraukti skyrių | Šviesos diodas dabar valdomas SPST jungikliu per kaiščio keitimo pertrauką. „SoftwareSerial“klasė turi būti pakeista, nes priešingu atveju ji paskirs VISUS kaiščio keitimo pertraukimo vektorius. Tai sukelia „kelių apibrėžimų“nuorodos klaidą (0 prievado) vektoriui, priskirtam SPST jungikliui. Nulaužta „SoftwareSerial“versija turėtų būti patalpinta tame pačiame kataloge kaip ir programa, kad ji paveiktų tik šią programą. |
SPST įvesties kaiščio apibrėžimas | įtraukti/apibrėžimo skyrių | SPST įvesties priskyrimas įrenginio kaiščiui. Smeigtukas yra skirtas konkrečiam įrenginiui, todėl pridedamas prie #ifdef ATtiny8x skyriaus. |
SPST įvesties kaiščio režimas | sąrankos funkcija | SPST kaištis sukonfigūruotas kaip Įvestis |
Konfigūruokite SPST kaiščio pertraukimą | sąrankos funkcija | Pertraukimo vektorius priskiriamas SPST įvesties kaiščiui, kad perjungimo būsena sukeltų pertrauką. Konfigūracijos registrai ir pertraukimo tipas priklauso nuo įrenginio. Kad kodas būtų kuo paprastesnis, skirtumai tvarkomi #if apibrėžtoje skiltyje |
Nustatykite užbaigtą serijos pranešimą | sąrankos funkcija | Sąrankos užbaigimo serijinės išvesties pranešimas pakeistas, kad atspindėtų „Multiplexer Input“programą |
Pridėkite SPST jungiklio ISR funkciją | kodų skyrius | Pridedamas SPST kaiščio keitimo nutraukimo ISR. Kodas yra įprastas, tačiau naudojamas vektorius yra skirtas konkrečiam įrenginiui ir yra apibrėžtas nuo įrenginio priklausančiose skiltyse programos viršuje. Siekiant patikrinti, ar ISR yra įjungtas, LED būsena keičiama. Nors realioje programoje „ne-ne“, generuojamas serijinės išvesties pranešimas, atspindintis naują šviesos diodo būseną. |
Pakeiskite ciklo apdorojimą | kilpos funkcija | Dabar ISR valdo LED įjungimą ir išjungimą, kad funkcionalumas būtų pašalintas iš ciklo. „ATtiny84“pridedamas miego režimo skambutis kaip „papildomas“. Šiai programai „ATtiny85“miegas neveikia; galbūt dėl programinės įrangos serijos klasės trukdžių, nes ji veikia pašalinus „SoftwareSerial“. |
Pridėkite miego režimą | kodų skyrius | Miego funkcija nebūtina norint parodyti multiplekserio naudojimą. Tik pridėta, nes paprastai norėtųsi palaukti, kol įvestis POWER_DOWN režimu sutaupys energijos, o ne toliau veikti per programos ciklą nieko nedarydama, kol neįvyks įvestis. |
Pakeiskite „SoftwareSerial“klasės kodą
„SoftwareSerial“klasę reikia pakeisti taip, kad ji neužstotų visų kaiščių keitimo pertraukų prievadų. „SoftwareSerial“klasės kodas yra adresu
C: / Program Files (x86) Arduino / hardware / arduino / avr / libraries / SoftwareSerial / src
Norėdami rasti kodo pakeitimų pradžios vietą, suraskite „PCINT0_vect“programinėje įrangoje „SoftwareSerial.cpp“. Pridėkite šį kodą prieš pat esamą teiginį #if define (PCINT0_vect).
#if apibrėžta (_ AVR_ATtiny84_)
#define MYPORT PCINT1_vect #elif define (_ AVR_ATtiny85_) #define MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }
Dabar pakomentuokite esamą kodo bloką, kuris paskirsto uosto nutraukimo vektorius, kaip nurodyta toliau (tiesiog pridėkite pradžios ir pabaigos bloko komentarų simbolius / * ir * /):
/*
#if apibrėžta (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #if apibrėžtas (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #if apibrėžtas (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); #endif #if apibrėžta (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect)); #endif */
Konfigūruokite aparatūrą
SPST jungiklis yra prijungtas prie ATtiny84 kaiščio 6 (MOSI), kaip aprašyta 2 veiksme. Patogumui procedūra čia dubliuojama.
- prijunkite jungiklio įvestį 3A prie „Tiny AVR“programuotojo antraštės MOSI laido
- prijunkite 3B prie SPST jungiklio įvesties kaiščio
-
prijunkite 3Y prie ATtiny84 kaiščio 6
-
REZULTATAI:
- 3A, MOSI, atsisiuntimo metu bus nukreiptas į „ATtiny84“kaištį 6
- 3B, SPST išvestis, po atsisiuntimo bus susietas su 6 kaiščiu
-
Paleiskite programą
Prieš pradėdami važiuoti, nustatykite SPST jungiklį į išjungimo padėtį. Priešingu atveju šviesos diodas įsijungs, kai jungiklis bus išjungtas, ir atvirkščiai. Atlikite 3 veiksmo procedūrą, kad įkeltumėte, sudarytumėte ir atsisiųstumėte programos įvesties programą naudodami „Arduino IDE“. Kaip ir anksčiau, atsisiuntimo metu šviesos diodas neturėtų mirksėti, todėl vienintelė nuoroda, kad programa parengta ir veikia, bus serijinis pranešimas sąrankos procedūros pabaigoje: SETUP Complete - Įvesties pavyzdys
Šiuo metu programa laukia įvesties iš SPST jungiklio. Įjungus jungiklį, įjungiamas šviesos diodas; perjungus atgal į išjungimo padėtį, šviesos diodas užgęsta. Išvesties pranešimai patvirtina, kad ISR buvo iškviestas (ISR: Led HIGH, ISR: Led LOW). Atkreipkite dėmesį, kad serijinių pranešimų tvarka yra GO GO SLEEP, pirmiausia laukiant pasikeitimo būsenos; gavus jungiklio įvestį, iškviečiamas ISR, perjungiamas šviesos diodas ir dokumentuojamas pakeitimas; tada apdorojimas įsijungia po miego skambučio, nes pertrauka pažadina procesorių.
ŠIOS INSTRUKCIJOS PROGRAMA:
//************************************************************************
// 2 DALIS: Taikymas/atsisiuntimo įrenginio PIN kodo bendrinimas //. Pakeičiamas 1 dalies kodas, kad būtų galima pakartotinai naudoti kaiščius // priskirtus SPI programavimo sąsajai //. „Comon“kodas ATtiny85 ir ATtiny84 // *************************************** ********************************* apdorojimo kodas yra įprastas, naudojami smeigtukai priklauso nuo įrenginio #jei apibrėžta (_ AVR_ATtiny84_) || apibrėžta (_ AVR_ATtiny84A_) #define ledPin 4 // Įjungta/išjungta prijungta LED įjungta/išjungta #define rxPin 9 // Sąsaja naudojama serijiniam priėmimui #define txPin 10 // Sąsaja naudojama serijiniam perdavimui #define SpstPin 6 // Įvestis iš SPST jungiklio (MOSI) #define ISR_VECT PCINT0_vect // SPST jungiklis PIN keitimo pertraukimo vektorius #elif apibrėžtas (_ AVR_ATtiny85_) #define ledPin 1 #define rxPin 4 #define txPin 3 #define SpstPin 2 // Įvestis iš SPST jungiklio (INT0_de) // SPST jungiklis Smeigtuko keitimo pertraukimo vektorius #else #error Šis projektas palaiko tik ATiny84 ir ATtiny85 Šis projektas palaiko #endif // Sukurkite programinės įrangos serijos klasės egzempliorių, nurodantį, kuris įrenginys // smeigtukai turi būti naudojami programinei įrangai priimti ir perduoti, txPin); // ------------------------------------------------ ------------------------ // Inicijuoti apdorojimo išteklius // ------------------- -------------------------------------------------- --- void setup () {mySerial.begin (9600); // Pradėti serijinio apdorojimo uždelsimą (2000); // Suteikite „Serial Com“prievadui laiko paleisti. // kitaip, greičiausiai trūksta 1 -ojo išėjimo arba jis yra sugadintas pinMode (ledPin, OUTPUT); // Konfigūruoti LED kaištį OUTPUT pinMode (SpstPin, INPUT); // SPST jungiklio kaiščio konfigūravimas kaip INPUT #if apibrėžta (_ AVR_ATtiny84_) || [_AVR_ATtiny84A_] // nustatyti kaiščio keitimo pertrauką, kad būtų galima valdyti jungiklio įvestį 6 kaištyje (MOSI) GIMSK | = (1 <
5 žingsnis: „ATtiny85“1 atvejis - izoliuokite programos išvestį
Užuot sukūrę pasikartojančią „ATtiny85“aparatinės įrangos sąranką, tikriausiai lengviau pradėti nuo baigtos „ATtiny84“konfigūracijos nuo 4 veiksmo ir pakeisti „tiny84“lustą „tiny85“. Tada visa reikalinga įranga jau yra prieinama. Jei naudojate šį metodą, suraskite tiny85 taip, kad 3 ir 4 kaiščiai sutaptų su serijiniu kabeliu tx ir gautų laidus. Tada tereikia perkelti SPI sąsajos laidus, kad jie atitiktų reikiamas ATtiny85 vietas.
Jei pradedate nuo nulio, tiesiog atlikite bendruosius 3 veiksmo veiksmus ir aukščiau pateiktą matavimo schemą. Kodas yra toks pat, kaip ir „ATtiny84“, atliktas 3 veiksme, ir tikimasi tų pačių rezultatų - atsigavimo metu nemirksi; veikiant, šviesos diodas mirksi 2 sekundžių intervalais, o serijinės išvesties pranešimai seka LED būseną.
6 veiksmas: „ATtiny85“2 atvejis - izoliuokite programos įvestį
Norėdami nustatyti aparatinę įrangą, pradėkite nuo konfigūracijos nuo 5 veiksmo ir pridėkite SPST jungiklį, kaip nurodyta aukščiau esančioje matavimo diagramoje. Aš iš tikrųjų naudojau momentinį jungiklį „tiny85“versijai ir tai šiek tiek palengvina patikrinimą. Atkreipkite dėmesį, kad jungiklio išėjimas yra pasuktas 180 laipsnių nuo ATtiny84 konfigūracijos. Šis pakeitimas palengvina prijungimo laidų nukreipimą, nes visi 3 SPI signalai yra toje pačioje ATtiny85 pusėje.
Naudokite tą pačią programą kaip ir ATtiny84 4 veiksme. Tikimasi tų pačių bendrų rezultatų - šviesos diodų būsena pasikeičia, kai įjungiamas/išjungiamas SPST jungiklis, o serijinės išvesties pranešimai dokumentuoja pakeitimus. Trūksta pranešimų „GO TO SLEEP“, nes „ATtiny85“miego funkcija nėra naudojama. Nepaisant to, kad naudojama ta pati programa, jos įgyvendinimas labai skiriasi, nes ATtiny85 turi tik vieną prievadų registrą (0 prievadas):
- „SoftwareSerial“dabar serijiniam ryšiui skiria 0 prievado keitimo pertrauką (prisiminkime, kad ATtiny84 galėjome naudoti 1 prievadą.)
- SPST jungiklio pertraukimas turi būti įgyvendintas su išoriniu pertraukimu 0 (INT0), nes „SoftwareSerial“skiria vienintelį kaiščio keitimo pertrauką. Tai iliustruoja, kad kaiščių keitimo pertraukos ir išorinės pertraukos yra logiškai nepriklausomos ir gali būti naudojamos tame pačiame prievadų registre.
- Naudojant modifikuotą „SoftwareSerial“versiją nieko nepavyksta gauti - yra tik vienas prievadas ir „SoftwareSerial“klasė jį sugriebs. Tačiau modifikuota klasė vis tiek buvo naudojama tik tam, kad būtų išvengta pakeitimo, kuris nėra tiesiogiai susijęs su šio žingsnio tikslu.
Rekomenduojamas:
Kompiuterio radiatoriaus pakartotinis naudojimas tranzistoriaus radiatoriui sukurti: 7 žingsniai
Kompiuterio radiatoriaus pakartotinis panaudojimas kuriant tranzistorinį radiatorių: Prieš kurį laiką nusipirkau „Raspberry Pi 3“, kad galėčiau žaisti. Kadangi jie ateina be aušintuvo, kai kuriuose buvau rinkoje. Atlikau greitą „Google“paiešką ir radau šią instrukciją („Raspberry Pi“radiatorius) - tai buvo atmetus idėją
WAC (WALK AND CHARGE GADGET) - pakartotinis seno kompaktinių diskų įrenginio naudojimas: 6 žingsniai
WAC (WALK AND CHARGE GADGET) - pakartotinis senojo kompaktinių diskų įrenginio naudojimas: Sveiki visi, aš esu Chrisas, XI klasės mokinys, ir tai yra mano pirmas pamokymas. Šį projektą sukūriau aš, kai man buvo 11 metų (buvau per daug drovus paskelbti savo projektus, kad tik juos parodyčiau visiems)*Atsiprašau už klaidas. Anglų kalba nėra mano gimtoji kalba
Pakartotinis šviesos diodų lempučių naudojimas: 7 žingsniai
Pakartotinis LED lempučių naudojimas akliems žibintams!: Tai geras būdas pakartotinai naudoti LED mikroschemas, esančias lemputėse, kurios jas naudoja
Pakartotinis ličio jonų elementų naudojimas iš nešiojamųjų kompiuterių baterijų: 3 žingsniai
Pakartotinis ličio jonų elementų naudojimas iš nešiojamųjų kompiuterių baterijų: senos nešiojamųjų kompiuterių baterijos yra puikus ličio jonų baterijų šaltinis, jei žinote, kaip tinkamai jas išbandyti, kad įsitikintumėte, jog jas saugu naudoti. Įprastoje nešiojamojo kompiuterio baterijoje yra 6 vnt 18650 ličio jonų elementų. 18650 elementas yra tik cilindrinis
Senų nešiojamųjų kompiuterių dalių pakartotinis naudojimas kuriant pigią nešiojamą sistemą: 3 žingsniai (su nuotraukomis)
Pakartotinis senų nešiojamųjų kompiuterių dalių panaudojimas kuriant pigią nešiojamą sistemą: Neseniai mano senasis nešiojamas kompiuteris mirė ir turėjau nusipirkti naują (RIP! 5520 būsite praleistas). Nešiojamojo kompiuterio motininė plokštė mirė, o žala buvo pataisyta. Visai neseniai aš atsinešiau aviečių pyragą ir pradėjau tvarkyti IOT sutff, bet man reikėjo specialios