Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Hardware
- Hakbang 2: Pangkalahatang-ideya ng Mga Kaso sa Pagsubok
- Hakbang 3: ATtiny84 Kaso 1 - Ihiwalay ang Output ng Application
- Hakbang 4: ATtiny84 Kaso 2 - Ihiwalay ang Input ng Application
- Hakbang 5: ATtiny85 Case 1 - Ihiwalay ang Output ng Application
- Hakbang 6: ATtiny85 Case 2 - Ihiwalay ang Input ng Application
Video: ATtiny84 / 85 SPI Interface Pin Reuse: 6 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
Ang itinuturo na ito ay isang follow up sa "ATtiny84 / 85 In-circuit Debugging na may Serial Output" na itinuturo at pinahahaba ang pagsasaayos ng hardware at software upang matugunan ang isyu ng muling paggamit ng mga pag-download ng pin ng programa ng program ng application. Sa kabuuan, sa pagitan nito at ng bahaging 1 na itinuturo, ang mga sumusunod na paksa ay tinalakay / ipinakita:
Paksa | ATtiny84 | ATtiny85 |
---|---|---|
Serial Communication gamit ang klase ng SoftwareSerial | X | X |
Ang pagbabahagi ng mga pin ng aparato sa pagitan ng application at pag-download | X | X |
Pin Baguhin makagambala | X | |
Panlabas na makagambala | X | |
Matulog sa POWER_DOWN mode; paggising sa abala | X | |
Magtrabaho sa paligid para sa "multiply na tinukoy" makagambala error sa pag-link ng vector na nauugnay sa SoftwareSerial | X | |
In-circuit na baguhin, i-download, i-debug,… ikot ng pag-unlad para sa mga ATtiny na aparato | X | X |
Ang pagdaragdag ng isang bahagi ng hardware na I / O sa isa sa mga pin na nakatuon sa interface ng SPI na programa ay minsan OK, minsan hindi. Halimbawa, ang pagdaragdag ng isang LED sa MISO ay sanhi lamang ng pag-flicker ng LED sa panahon ng pag-download at pagkatapos ay magagamit ito para sa application. Gayunpaman, ang pagdaragdag ng isang piezo buzzer sa MISO ay magreresulta sa isang kakila-kilabot na tunog ng pag-screeching na sinusundan ng pagkabigo sa pag-download.
Ang itinuturo na ito ay nagpapaliwanag kung paano gumamit ng isang 4x2: 1 multiplexer upang "mabawi" ang paggamit ng mga pin na nakatalaga sa SPI interface na MISO, MOSI, at mga signal ng SCK sa pamamagitan ng pagprotekta sa kanila sa panahon ng pag-download. Ang muling paggamit ng RESET pin ay nangangailangan ng pagbabago ng piyus at hindi sakop ng pamamaraang ito. Ang dobleng pagtatalaga ng mga pin ay nagagawa sa pamamagitan ng paggamit ng multiplexer upang lumipat sa pagitan ng aplikasyon at mga pag-input ng programa depende sa kung isinasagawa ang pag-download. Ang code at mga eskematiko ay kasama para sa parehong ATtiny84 at ATtiny85. Ang pagsasaayos ng ATiny84 ay direktang hinarap dahil mayroon itong dalawang I / O port at maaaring magamit upang ilarawan ang ilang mga karagdagang problema / solusyon. Kasunod sa maliit na talakayan84, tinalakay ang parehong mga sitwasyon para sa ATtiny85.
Hakbang 1: Kinakailangan ang Hardware
Karamihan sa kinakailangang hardware ay nakalista sa bahagi 1 na itinuturo kaya ang bagong hardware lamang ang nakalista sa ibaba.
Pangalan | Posibleng Pinagmulan | Paano Ginamit |
---|---|---|
4x2: 1 Multiplexer | Mouser | Naglalaman ng apat na 2-input; 1-output switch na kung saan ay ang mekanismo kung saan ibinabahagi ang mga signal ng SPI Interface at application I / O. |
Lumipat ang SPST | Anumang uri ng switch (panandalian o latched) ay gagana. Ginagamit ang switch upang ilarawan ang pagbabahagi ng pin para sa isang input ng application. | |
10K risistor | Hilahin-down na risistor para sa switch ng SPST upang maiwasan ang isang lumulutang na input |
Ang multiplexer ay ang susi upang ihiwalay ang paggamit ng pag-download ng pin mula sa paggamit ng application. Ang pangkalahatang pag-andar ng 4x2: 1 multiplexer ay medyo straight-forward na binubuo ng 2 control signal at 4 na magkaparehong gumagana na switch. Ang pag-uugali ng bawat multiplexer pin ay tinalakay sa ibaba:
Pin | Pangalan | Pag-andar |
---|---|---|
15 | G | Tulad ng ipinahiwatig sa talahanayan ng katotohanan, ang multiplexer ay gagana lamang kapag ang pinapagana ng G ay mababa. Dahil hindi namin nais na ganap na huwag paganahin ang multiplexer, ang pin 15 ay konektado direkta sa lupa. |
2-4; 5-7; 9-11;12-14 | A (input), B (input), Y (output) | Mayroong apat na 2-input; 1-output switch sa bawat pangkat ng 3 pin na magkakasunod na bilang sa pagkakasunud-sunod ng A (input), B (input), Y (output) hal. para sa switch 1; pin 2 = 1A; pin 3 = 1B; pin 4 = 1Y. |
1 | Pumili | Kapag ang Select ay mababa, ang switch input A ay konektado sa nauugnay na switch output pin, Y. Kapag ang select ay mataas, ang switch input B ay konektado sa output sa halip. Ang mga switch ay kinokontrol nang sabay-sabay ng Select signal at function na magkapareho. |
8 | GND | multiplexer IC ground |
16 | VCC | lakas na multiplexer IC |
Hakbang 2: Pangkalahatang-ideya ng Mga Kaso sa Pagsubok
Ang dalawang mga sitwasyon para sa muling paggamit ng pin ay batay sa kung ang pin ay isang application input o output. Ang pamamaraan para sa paghawak ng anumang input ay palaging pareho; Gayundin ang pamamaraan para sa mga output ng application ay magkapareho hindi alintana ang bahagi ng hardware. Kahit na, ang paliwanag ay mas madali, at inaasahan na mas malinaw, kung ang mga tukoy na halimbawa ay ibinigay. Ang mga minimalist na layout para sa dalawang kaso ay ipinapakita sa itaas. Para sa mga detalyadong pag-setup sa paglaon sa mga koneksyon ay naging isang maliit na pugad ng mga squirrels kaya't maaaring maging kapaki-pakinabang na mag-refer muli sa mga mas malinis na diagram.
Ang RESET ay ang perpektong pagpipilian para sa multiplexer Select signal dahil mababa ito sa panahon ng pag-download ngunit babalik nang mataas kapag nakumpleto ang pag-download. Tandaan na ang alinman sa mga switch ng multiplexer ay maaaring magamit para sa alinmang kaso dahil ang lahat ng mga switch ay kumikilos nang magkatulad. Gayundin, alinman sa mga halimbawa ay "makatotohanang"; napili sila sa halip bilang ang pinaka-prangkang paraan upang ilarawan ang mga diskarte ng paghihiwalay
-
Kaso ng Output: Ang LED output mula sa ATtiny84 pin 4 (SCK) ay nakahiwalay gamit ang multiplexer switch 2
- ikonekta ang multiplexer pin 2A sa lupa
- ikonekta ang multiplexer pin 2B sa ATtiny85 pin 4
-
ikonekta ang output 2Y sa LED anode
-
Inaasahang resulta:
- Ang LED ay naka-off sa panahon ng pag-download dahil konektado sa 2A, ground
- Ang LED ay nakakabit sa application output pin 4 pagkatapos ng pag-download sa pamamagitan ng 2B at nagsimulang magpikit
-
-
Kaso ng Pag-input: Ang input ng SPST switch sa ATtiny84 pin 6 (MOSI) ay nakahiwalay gamit ang multiplexer switch 3
- Ang MOSI lead wire mula sa AVR Programmer header ay inilipat sa 3A
- ang switch input 3B ay konektado sa output ng SPST
-
ang output 3Y ay konektado sa ATtiny84 pin 6
- Ang 3A, MOSI, ay konektado sa pin 6 habang ina-download
- Ang 3B, output ng SPST, ay konektado sa pin 6 pagkatapos ng pag-download
Ang Kaso 1 ay matagumpay kung ang LED ay hindi pumitik habang nagda-download ng programa at pagkatapos ay kumukurap bawat dalawang segundo kasunod ng pag-download tulad ng inaasahan sa ilalim ng kontrol ng programa. Nang walang pag-iisa ang LED ay magpapitik sa panahon ng pag-download dahil konektado ito nang direkta sa signal ng SCK, na binabago ang estado sa data ng orasan na natanggap / nagpapadala.
Ang case 2 ay matagumpay kung ang signal ng MOSI ay naipasa sa ATtiny84 habang nagda-download, ibig sabihin, hindi mabibigo ang pag-download, at ang LED ay tumutugon sa SPST switch on / off pagkatapos ng pag-download. Pinipigilan ng Kaso 2 ang isang malamang na hindi pagkabigo sa pag-download. Nang walang paghihiwalay, ang switch ng SPST ay magdudulot ng kabiguan kung 1) isang latched switch ang ginamit at 2) ang switch ay naiwan sa on na posisyon habang nagda-download. Kapag ihiwalay ng multiplexer, ang switch ay hindi maaaring maging sanhi ng pagkabigo sa pag-download sa ilalim ng anumang mga pangyayari. Medyo isang kahabaan ngunit aliw para sa amin mga matatandang tao.
Ang isang bunga ng paggamit ng multiplexer ay ang sangkap ng hardware na hindi na makakonekta nang direkta sa microcontroller I / O pin. Ito ay medyo hindi maginhawa ngunit pinapayagan ang sangkap na manatili sa breadboard habang sinusubukan kasama ang iba pang mga hardware ng application, at maaaring ilipat pabalik sa tamang lokasyon nito kapag nakumpleto ang pagsubok.
Hakbang 3: ATtiny84 Kaso 1 - Ihiwalay ang Output ng Application
Inilalarawan ng hakbang na ito ang pag-set up para sa pagbabahagi ng isang output output pin na may isang signal ng pag-download. Ang halimbawang ginamit ay ang LED na nakakabit sa pin 4 (SCK). Ang paggamit ng umiiral na LED bilang halimbawa ay nagbibigay-daan sa diin sa pagdaragdag ng multiplexer sa bahagi na 1 hardware at software environment.
-
Hardware
- Idagdag ang multiplexer sa breadboard sa kamag-anak na lokasyon na ipinakita sa fritzing diagram sa itaas. Ang multiplexer ay nakaposisyon patungo sa gitna upang payagan ang silid para sa SPST switch na kinakailangan sa Kaso 2.
- Palawakin ang signal ng RESET sa multiplexer sa pamamagitan ng pagdaragdag ng isang lead wire (magmungkahi ng dilaw) mula sa ATtiny84 pin 11 hanggang sa multiplexer pin 1.
-
Ang natitirang pag-setup ng hardware ay tulad ng ibinigay sa Hakbang 2
- ikonekta ang multiplexer pin 2A nang direkta sa lupa
- ikonekta ang pin 2B sa ATtiny84 pin 4
-
ikonekta ang output 2Y sa LED anode
-
Inaasahang resulta:
- sa panahon ng pag-download 2Y ay konektado sa lupa (2A) kaya't ang LED ay mananatiling patay
- Pagkatapos ng pag-download 2Y ay konektado sa ATtiny84 pin 4 - application LED control
-
-
Software
- Ang bahagi ng 1 code ay muling ginamit; magagamit mula sa bahaging 1 na itinuturo sa halip na doble dito
- I-load at ipagsama ang part 1 na programa sa Arduino IDE
- I-plug ang Tiny AVR programmer sa isang PC USB port
-
I-plug ang Adafruit USB sa Serial cable sa isang pangalawang USB port
- Ang isang COM port ay nilikha at awtomatikong ginawang magagamit sa listahan ng port ng IDE
- Ilunsad ang window ng COM
- I-download ang naipon na code sa ATtiny84
Ang mga resulta ng programa ng aplikasyon ay kapareho ng para sa bahaging 1 dahil ang pagbabago lamang ay ilipat ang LED sa isang "protektadong" lokasyon: Ang LED ay kumikislap sa 2 segundo na agwat; serial output ay pareho. Ang isang pagkakaiba na dapat mangyari ay ang LED ay hindi na mga flicker habang nagda-download dahil, sa oras na iyon, ito ay konektado sa lupa sa pamamagitan ng multiplexer pin 2A.
Hakbang 4: ATtiny84 Kaso 2 - Ihiwalay ang Input ng Application
Bumubuo ang hakbang na ito sa pag-set up para sa dating kaso ng paghihiwalay ng output. Ang mga pagbabago sa hardware ay binubuo ng paglakip ng isang SPST switch sa ATtiny84 pin 6 (MOSI) sa pamamagitan ng multiplexer. Kaya't ang mga pagbabago sa hardware ay minimal ngunit maraming mga pagbabago sa software upang payagan ang SPST switch na kontrolin ang LED gamit ang isang pagbabago ng pin na makagambala. Ang na-update na code ay kasama sa ilalim ng seksyong ito. Ang code ay dapat makopya sa Arduino IDE; iminumungkahi na i-save ito sa ilalim ng pangalang Multiplexer_Input. (Humihingi ako ng paumanhin para sa haba ng seksyon na ito ngunit ito ang puso ng layunin ng itinuro at sa tingin ko mas mababasa ito bilang isang monolith kaysa sa pagpasok ng mga artipisyal na pahinga.)
Update | Lokasyon | Layunin |
---|---|---|
isama ang "na-hack" na klase ng SoftwareSerial | isama ang seksyon | Ang LED ay kinokontrol ngayon ng SPST switch sa pamamagitan ng isang pin na pagbabago na nakakagambala. Ang klase ng SoftwareSerial ay dapat mabago dahil kung hindi man ay naglalaan ito ng LAHAT ng pagbabago ng pin na nagagambala ng mga vector. Nagdudulot ito ng isang error sa pag-link na "maraming kahulugan" para sa (port 0) na vector na nakatalaga sa switch ng SPST. Ang na-hack na bersyon ng SoftwareSerial ay dapat ilagay sa parehong direktoryo ng programa upang makakaapekto lamang ito sa application na ito. |
Kahulugan ng input ng input ng SPST | isama / seksyon ng kahulugan | pagtatalaga ng input ng SPST sa isang pin ng aparato. Ang pin ay tukoy sa aparato kaya idinagdag ito sa seksyon ng #ifdef ATtiny8x. |
SPST input pin mode | pag-andar ng pag-setup | Ang SPST pin ay naka-configure bilang isang INPUT |
I-configure ang makagambala na pin ng SPST | pag-andar ng pag-setup | Ang makagambala na vector ay nakatalaga sa SPST input pin upang ang isang pagbabago ng estado ng switch ay nagiging sanhi ng isang nakakagambala. Ang mga rehistro ng pagsasaayos at uri ng nakakagambala ay tukoy sa aparato. Upang gawing prangka ang code hangga't maaari, ang mga pagkakaiba ay hawakan sa loob ng isang # kung tinukoy na seksyon |
I-setup ang kumpletong serial message | pag-andar ng pag-setup | Ang kumpletong pag-setup ng mensahe ng serial output ay binago upang maipakita ang application na Multiplexer Input |
Magdagdag ng SPST switch ISR function | seksyon ng code | Ang ISR para sa pag-abala ng pagbabago ng pin ng SPST ay idinagdag. Karaniwan ang code ngunit ang ginamit na vector ay tukoy sa aparato at tinukoy sa mga seksyon na umaasa sa aparato sa tuktok ng programa. Upang mapatunayan na ang ISR ay naaktibo, ang estado ng LED ay binago. Bagaman isang hindi-hindi sa isang tunay na application, isang serial na mensahe ng output ay nabuo na sumasalamin sa bagong estado ng LED. |
Baguhin ang pagproseso ng loop | pagpapaandar ng loop | Kinokontrol ng ISR ngayon ang pag-on at pag-off ng LED upang ang pagpapaandar ay tinanggal mula sa gawain ng loop. Ang isang tawag sa gawain sa pagtulog ay idinagdag para sa ATtiny84 bilang isang uri ng isang "extra". Para sa application na ito, hindi gagana ang pagtulog ng ATtiny85; marahil dahil sa panghihimasok ng klase ng Software Serial dahil gumagana ito sa SoftwareSerial na tinanggal. |
Magdagdag ng gawain sa pagtulog | seksyon ng code | Ang pagpapaandar sa pagtulog ay hindi kinakailangan upang maipakita ang paggamit ng multiplexer. Naidagdag lamang dahil gusto kong maghintay para sa isang input sa mode na POWER_DOWN upang makatipid ng kuryente sa halip na magpatuloy na patakbuhin ang loop ng programa na walang ginagawa hanggang sa maganap ang isang input. |
Baguhin ang Code ng klase ng SoftwareSerial
Ang klase ng SoftwareSerial ay kailangang baguhin upang hindi nito baboyin ang lahat ng pagbabago ng pin na nagagambala ng mga port. Ang code ng klase ng SoftwareSerial ay matatagpuan sa
C: / Program Files (x86) Arduino / hardware / arduino / avr / libraries / SoftwareSerial / src
Makahanap ba sa PCINT0_vect sa SoftwareSerial.cpp upang hanapin ang lokasyon ng pagsisimula para sa mga pagbabago sa code. Idagdag agad ang sumusunod na code bago ang umiiral na # kung tinukoy (PCINT0_vect) na pahayag.
# kung tinukoy (_ AVR_ATtiny84_)
#define MYPORT PCINT1_vect #elif na tinukoy (_ AVR_ATtiny85_) #define MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }
Ngayon ay puna ang umiiral na bloke ng code na naglalaan ng mga port na makagambala ng port tulad ng ipinahiwatig sa ibaba (idagdag lamang ang pagsisimula at pagtatapos ng mga simbolo ng komento ng block / * at * /):
/*
#kung tinukoy (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #if tinukoy (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #if tinukoy (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect)); #endif #if tinukoy (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect)); #tapusin kung */
I-configure ang Hardware
Ang SPST switch ay naka-attach sa ATtiny84 pin 6 (MOSI) tulad ng nakabalangkas sa Hakbang 2. Ang pamamaraan ay dinoble dito para sa kaginhawaan.
- ikonekta ang switch input 3A sa Tiny AVR Programmer header MOSI lead
- ikonekta ang 3B sa SPST switch ON output pin
-
ikonekta ang 3Y sa ATtiny84 pin 6
-
MGA RESULTA:
- Ang 3A, MOSI, ay isusukat sa ATtiny84 pin 6 habang nagda-download
- Ang 3B, output ng SPST, ay buburahin upang i-pin 6 pagkatapos i-download
-
Patakbuhin ang programa
Bago tumakbo, ilagay ang switch ng SPST sa off posisyon. Kung hindi man ang LED ay bubuksan kapag ang switch ay naka-off at vice versa. Sundin ang pamamaraan para sa hakbang 3 upang mai-load, mag-compile, at i-download ang application input program gamit ang Arduino IDE. Tulad ng dati, ang LED ay hindi dapat magpitik habang nagda-download kaya ang pahiwatig lamang na ang programa ay nakabukas at tumatakbo ang magiging serial message sa pagtatapos ng gawain sa pag-setup: Kumpleto ang SETUP - Halimbawa ng Input
Sa puntong ito ang programa ay naghihintay para sa isang input mula sa SPST switch. Ang paglalagay ng switch sa posisyon na ON ay magiging sanhi ng pag-on ng LED; ang pagbabago pabalik sa posisyon na off ay pinapatay ang LED. Ang mga mensahe ng output ay nagpapatunay na ang ISR ay tinawag (ISR: Led HIGH, ISR: Led LOW). Pansinin ang pagkakasunud-sunod ng mga serial message ay PUMUNTA muna sa pagtulog sa isang pagbabago ng estado ng switch; kapag kumuha ng isang input ng switch ang ISR ay inanyayahan, i-toggle ang LED, at idokumento ang pagbabago; pagkatapos ang pagproseso ay kukuha ng pagsunod sa tawag sa pagtulog dahil ang nakakagambala ay nagising ang processor.
PROGRAM PARA SA INSTRUCTABLE NA ITO:
//************************************************************************
// BAHAGI 2: Pagbabahagi ng pin ng application / pag-download ng aparato //. Binabago ang code na Bahagi 1 upang suportahan ang muling paggamit ng application ng mga pin // na nakatalaga sa interface ng SPI program //. Ang "Comon" na code para sa ATtiny85 at ATtiny84 // **************************************** ***** ang code sa pagproseso ay karaniwan, ang mga ginamit na pin ay tukoy sa aparato # kung tinukoy (_ AVR_ATtiny84_) || tinukoy (_ AVR_ATtiny84A_) #define ledPin 4 // Toggled upang i-on ang nakakonekta Na-on / off ang #define rxPin 9 // Ginamit para sa Serial na makatanggap ng #define txPin 10 // Pin na ginamit para sa Serial transmit #define SpstPin 6 // Input mula sa SPST switch (MOSI) #define ISR_VECT PCINT0_vect // SPST switch Pin baguhin ang gumagambala na vector #elif na tinukoy (_ AVR_ATtiny85_) #define ledPin 1 #define rxPin 4 #define txPin 3 #define SpstPin 2 // Input from SPST switch (INT0)_ct // SPST switch Pin baguhin ang nakakagambala vector #else #error Tanging ang ATiny84 at ATtiny85 ang sinusuportahan ng Proyekto na ito #endif // Lumikha ng halimbawa ng klase ng Serial ng Software na tumutukoy kung aling aparato // mga pin ang gagamitin para matanggap at maipadala ang SoftwareSerial mySerial (rxPin, txPin); // ----------------- ----------------- // Pinasimulan ang mga mapagkukunan sa pagproseso // ---------------- ---- --- void setup () {mySerial.begin (9600); // Start serial processing delay (2000); // Bigyan ng oras ang Serial Com port upang makumpleto ang pagsisimula. // kung hindi man, ang 1st output ay malamang na nawawala o garbled pinMode (ledPin, OUTPUT); // Configure led pin for OUTPUT pinMode (SpstPin, INPUT); // Configure SPST switch pin bilang isang INPUT # kung tinukoy (_ AVR_ATtiny84_) || (_AVR_ATtiny84A_) // i-set up ang pagbabago ng pin na makagambala upang hawakan ang switch input sa pin 6 (MOSI) GIMSK | = (1 <
Hakbang 5: ATtiny85 Case 1 - Ihiwalay ang Output ng Application
Sa halip na bumuo ng isang dobleng pag-setup ng hardware para sa ATtiny85, marahil mas madaling magsimula sa natapos na pagsasaayos para sa ATtiny84 mula sa Hakbang 4 at palitan ang tiny84 chip ng tiny85. Ang lahat ng kinakailangang hardware ay magagamit na. Kung ginagamit ang diskarte na ito, hanapin ang tiny85 upang ang mga pin ay 3 at 4 na nakahanay sa serial cable tx at makatanggap ng mga wire. Pagkatapos ay isang bagay lamang sa paglipat ng mga interface ng interface ng SPI interface upang tumugma sa kanilang mga kinakailangang lokasyon para sa ATtiny85.
Kung nagsisimula mula sa simula, sundin lamang ang mga pangkalahatang hakbang mula sa Hakbang 3 at ang fritzing diagram sa itaas. Ang code ay pareho ng ginagamit para sa ATtiny84 sa Hakbang 3 na may parehong mga inaasahang resulta - walang kurap sa panahon ng pag-download; kapag tumatakbo ang LED blinks sa 2 segundo na agwat at mga serial na mensahe ng output sundin ang estado ng LED.
Hakbang 6: ATtiny85 Case 2 - Ihiwalay ang Input ng Application
Para sa pag-setup ng hardware, magsimula sa pagsasaayos mula sa Hakbang 5 at idagdag ang switch ng SPST tulad ng ipinahiwatig sa fritzing diagram sa itaas. Gumamit talaga ako ng panandaliang paglipat para sa tiny85 na bersyon at ginagawang mas madali ang pag-verify. Pansinin na ang output ng switch ay pinaikot ng 180 degree mula sa pagsasaayos ng ATtiny84. Ginagawang mas madali ng pagbabagong ito ang ruta ng mga wire ng hookup dahil ang lahat ng 3 signal ng SPI ay nasa parehong panig para sa ATtiny85.
Gumamit ng parehong programa tulad ng para sa ATtiny84 Hakbang 4. Ang parehong pangkalahatang mga resulta ay inaasahan - estado ng mga pagbabago ng LED kapag ang SPST switch ay naka-on / off at mga serial na mensahe ng mensahe ang mga pagbabago. Ang mga mensahe na PUMUNTA SA TULOG ay nawawala dahil ang pag-andar sa pagtulog ay hindi tinawag para sa ATtiny85. Kahit na ang parehong programa ay ginamit, may mga makabuluhang pagkakaiba sa pagpapatupad upang mai-account ang katotohanan na ang ATtiny85 ay may lamang isang rehistro sa port (Port 0):
- Inilalaan ngayon ng SoftwareSerial ang port 0 pin na pagbabago na makagambala para sa serial na komunikasyon (Alalahanin na nagamit namin ang port 1 para sa ATtiny84.)
- Ang SPST switch interrupt ay dapat na ipatupad sa panlabas na makagambala 0 (INT0) dahil ang isa at tanging pag-iiba ng pagbabago ng pin ay inilalaan ng SoftwareSerial. Inilalarawan nito ang punto na ang mga pagbabago ng pin ay nakakagambala at mga panlabas na pagkagambala ay lohikal na independyente at maaaring magamit sa loob ng parehong rehistro ng port.
- Walang nakukuha sa pamamagitan ng paggamit ng nabagong bersyon ng SoftwareSerial - mayroon lamang isang port at kukunin ito ng klase ng SoftwareSerial. Gayunpaman, ang nabagong klase ay ginamit pa rin upang maiwasan ang isang pagbabago na hindi direktang nauugnay sa layunin ng hakbang na ito.
Inirerekumendang:
Reuse Philips Wake Up Light HF3550 + Ipod Touch ika-4: 5 Hakbang
Reuse Philips Wake Up Light HF3550 + Ipod Touch 4th: EDIT 2019/10/28 Nag-upload ako ng isang bagong basag na IPA file (salamat sa irastignac) at na-update ang link ng hindi nagpapakilalang file. Dapat nitong pigilan ang sandaling hilingin sa iyo na ipasok ang aking apple ID.EDIT 2019/10/22 tila ang philips IPA file ay naka-sign kasama ang aking mansanas
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng mga ESP32: 8 Mga Hakbang
Pagsisimula Sa I2C Sensor Interface ?? - I-interface ang Iyong MMA8451 Paggamit ng ESP32s: Sa tutorial na ito, malalaman mo ang lahat tungkol sa Paano magsimula, kumonekta at makakuha ng I2C device (Accelerometer) na gumagana sa controller (Arduino, ESP32, ESP8266, ESP12 NodeMCU)
Batay sa ATTiny84 3A Step-Down LED Driver: 7 Mga Hakbang (na may Mga Larawan)
Batay sa ATTiny84 3A Step-Down LED Driver: Kung nais mong paganahin ang 10W LEDs, maaari mong gamitin ang 3A LED driver na ito. Sa 3 Cree XPL LEDs, maaari mong makamit ang 3000 lumens
Robotic Head na Diretso sa Liwanag. Mula sa Recycled at Reuse Materials: 11 Hakbang
Robotic Head na Diretso sa Liwanag. Mula sa Mga Recycled at Reuse Materials: Kung ang isang tao ay nagtataka kung ang robotics ay maaaring sumama sa isang walang laman na bulsa, marahil ang itinuro na ito ay maaaring magbigay ng isang sagot. Na-recycle ang mga stepper motor mula sa isang lumang printer, ginamit ang mga ping pong ball, kandila, ginamit na balsa, wire mula sa isang lumang hanger, ginamit na enameled wire
Tablet Stand Mula sa Cardboard Box at Reuse Keyboard: 6 Hakbang
Tablet Stand Mula sa Cardboard Box at Reuse Keyboard: Ito ay isang tablet stand na ginawa mula sa isang kahon at ang keyboard mula sa isang lumang tablet case