Cov txheej txheem:
- Khoom siv
- Kauj ruam 1: Circut
- Kauj ruam 2: Sijhawm Daim Duab
- Kauj ruam 3: Programing. Macros thiab Cov Lus Txhais
- Kauj ruam 4: Programing. Lub voj loj
- Kauj ruam 5: Programming. Pab Txhawb Nqa
- Kauj ruam 6: Programing. Txoj Cai Protothread
- Kauj Ruam 7: Sab hauv
Video: Attiny85 Txoj Kev Kawm Ib Leeg lossis Pumpkin Nrog Lub Qhov Muag Muaj Xim Xim: 7 Kauj Ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:24
Los ntawm jumbleviewJumbleview.infoFollow Ntau los ntawm tus sau:
Txog: Kuv ua haujlwm ua software engineer hauv ib ntawm Bay Area (California) cov tuam txhab. Thaum twg los xij kuv muaj sijhawm kuv nyiam ua cov tswj hwm micro, tsim cov khoom ua si, thiab ua qee qhov haujlwm txhim kho hauv tsev. Xav paub ntau ntxiv txog jumbleview »
Txoj haujlwm no qhia pom yuav ua li cas thiaj tswj tau ob lub 10 hli peb-xim ib qho anode LEDs (ntau lub qhov muag ntawm Pumpkin Halloween Glitter) nrog Attiny85 nti. Lub hom phiaj ntawm txoj haujlwm yog los qhia cov neeg nyeem rau hauv kev kos duab ntawm cov phiaj xwm sib koom ua ke thiab rau kev siv ntawm Adam Dunkels protothreads library. Txoj haujlwm no kwv yees tias tus nyeem ntawv paub txog AVR 8-tus tswj hwm, tuaj yeem sau qee qhov C-program thiab muaj qee qhov kev paub nrog Atmel studio.
Txoj haujlwm txoj cai luam tawm ntawm GitHub:
Khoom siv
Ua ntej kev tsim kho ib qho tseem xav tau tsim lub Circuit Court. Nov yog cov khoom siv:
- Attiny85 maub los (ib qho khoom siv hluav taws xob).
- Ob peb xim 10 hli LEDs nrog anode ntau. Adafruit LEDs
- Resistors 100 Ohm, 120 Ohm, 150 Ohm 0.125 lossis 0.250 Wt (ib qho khoom siv hluav taws xob).
- Rau tus Pin header rau AVR ISP interface. Ua tau los ntawm qhov Adafruit header
- Qee lub rooj noj mov lossis cov ntawv luam tawm lub rooj tsavxwm. Kuv siv qhov no
- AVR ISP MKII interface thiab Atmel Studio 6.1 (Tom qab ntawv yuav tsum ua haujlwm ib yam nkaus).
Kauj ruam 1: Circut
Tsim siv tsib tus pin pins:
- Ob tus pin siv los tswj anodes: txhua tus LED anode txuas rau tus pin tshwj xeeb.
- Peb tus pin txuas (hla resistors) rau LEDs cathodes (tib xim cathode ntawm txhua tus coj txuas rau tib tus pin)
Ib tus yuav nug: vim li cas ho tsis siv tag nrho rau hauv/tawm tus pin ntawm lub nti kom LED anodes yuav txuas ncaj qha rau +5 v thiab txhua cathode yuav muaj nws tus pin tshwj xeeb? Qhov ntawd yuav ua kom yooj yim programming. Alas, muaj teeb meem: tus pin PB5 (RESET) yog tus pin tsis muaj peev xwm muab tau tsuas yog ~ 2 mA ntawm qhov tam sim no, thaum yuav tsum muaj ~ 20 mA.
Tau kawg ib tus tuaj yeem tsim transistor amplifier rau tus pin tsis muaj zog tab sis kuv tus kheej thaum twg los xij xav tau los daws teeb meem hla txoj cai.
Kauj ruam 2: Sijhawm Daim Duab
Daim duab qhia sij hawm pab peb nkag siab qhov peb xav tau rau qhov program.
Sab saum toj ob kab ntawm daim duab qhia pom kev hloov pauv ntawm LED anodes. Qhov hluav taws xob ntawm tus pin txuas nrog LED anodes oscillates nrog zaus ~ 250 Hz. Qhov hluav taws xob qhov hluav taws xob rau sab laug LED yog qhov sib txawv rau qhov oscillation ntawm txoj cai LED. Thaum qhov hluav taws xob ntawm anode siab sib xws LED tuaj yeem ci. Thaum nws qis qis sib xws LED yog tsaus. Qhov ntawd txhais tau tias txhua tus LED tuaj yeem ci thaum 2 milliseconds luv thiab tsaus thaum lwm 2 milliseconds. Vim tias tib neeg lub qhov muag muaj qee qhov inertia, 250 Hz ntsais muag tsis pom los ntawm tus neeg soj ntsuam. Qhov hauv qab peb kab ntawm daim duab qhia pom kev hloov pauv ntawm cov pins txuas nrog LEDs cathodes. Cia peb saib thawj kab duab kab lus. Nws qhia txog rooj plaub thaum sab laug LED yog xim liab thiab sab xis LED hauv xim ntsuab. Ntawm no RED cathodes nyob qis qis thaum sab laug anode siab, GREEN cathode nyob qis qis thaum txoj cai anode siab, thiab BLUE cathode nyob qis qis txhua lub sijhawm. Lwm kab ntawm daim duab qhia pom kev sib txuas ntawm cathode thiab anode voltage rau ntau yam xim.
Raws li peb tuaj yeem pom muaj kev sib cuam tshuam ntawm lub xeev pins. Yog tsis muaj lub moj khaum nws yuav tsis yooj yim los daws. Thiab qhov ntawd yog lub tsev qiv ntawv protothread los ua ke.
Kauj ruam 3: Programing. Macros thiab Cov Lus Txhais
Piv txwv hauv cov txheej txheem txheej txheem sawv cev rau qhov yooj yim me ntsis. Txoj haujlwm tau luv dua, thiab qee lub ntsiab lus piv txwv hloov nrog qhov tsis meej pem.
Cia peb pib txij thaum pib. Qhov kev zov me nyuam suav nrog cov ntaub ntawv tuaj nrog Atmel Studio zoo li protothread library header. Tom ntej no muaj ob lub macros los tswj qib qib thiab qee cov lus txhais kom muab cov npe muaj txiaj ntsig rau tus lej cim. Txog tam sim no tsis muaj dab tsi tshwj xeeb.
Kauj ruam 4: Programing. Lub voj loj
Tom qab ntawd cia peb saib qhov kawg kom pom cov txheej txheem tseem ceeb muaj li cas.
Lub luag haujlwm tseem ceeb tom qab ua qee qhov pib ua haujlwm nyob qis qis nyob ib puag ncig. Hauv lub voj ntawd nws ua cov kauj ruam tom ntej:
- Invokes protothread niaj hnub rau sab laug LED. Nws hloov qee qhov pins qhov hluav taws xob.
- Ua ob milliseconds ncua. Tsis muaj kev hloov pauv tus lej pin.
- Invokes protothread rau txoj cai LED. Nws hloov qee tus pin voltage.
- Ua 2 MS ncua sijhawm. Tsis muaj kev hloov pauv tus lej pin.
Kauj ruam 5: Programming. Pab Txhawb Nqa
Ua ntej peb pib tham txog tsab ntawv protothreads peb yuav tsum tau saib ntawm qee qhov kev pabcuam. Ua ntej muaj cov haujlwm los teeb xim tshwj xeeb. Lawv ncaj ncaj. Muaj ntau qhov haujlwm zoo li tus lej ntawm cov xim txhawb nqa (xya) thiab ib qho ntxiv ua kom teeb LED tsaus nti (NoColor).
Thiab muaj ib txoj haujlwm ntxiv uas yuav raug hu ncaj qha los ntawm cov ntawv sau ua ntu zus. Nws lub npe yog DoAndCountdown ().
Kev hais lus siv cov haujlwm zoo li no tsis tas yuav tsum tab sis kuv pom nws yooj yim. Nws muaj peb qhov kev sib cav:
- Tus taw tes kom ua haujlwm teeb tsa xim LED (zoo li RedColor lossis GreenColor lossis lwm yam)
- Thawj tus nqi ntawm lub txee rov qab: tus naj npawb ntawm pes tsawg lub sij hawm txoj haujlwm no yuav tsum tau thov nyob rau theem tshwj xeeb tsab ntawv xov xwm.
- Tus taw tes rau rov qab txee. Nws tau kwv yees tias thaum muaj kev hloov pauv xim uas rov qab txee yog 0, yog li thaum xub thawj cov lej rov ua haujlwm yuav muab rau tus nqi pib thawj. Tom qab txhua qhov rov ua dua yog txo.
Muaj nuj nqi DoAndCountdown () rov qab tus nqi ntawm rov qab txee.
Kauj ruam 6: Programing. Txoj Cai Protothread
Thiab ntawm no yog lub hauv paus ntsiab lus: cov ntawv nyeem ua ntu zus. Rau qhov ua piv txwv yooj yim txwv tsuas yog peb qib: rau kev hloov xim rau RED, rau GREEN, thiab BLUE.
Kev ua haujlwm tau thov nrog ob qhov kev sib cav:
- Tus taw tes rau protothread qauv. Tus qauv ntawd tau pib los ntawm lub hauv paus ua ntej lub voj pib.
- Tus taw tes rau rov qab txee. Nws tau teeb tsa 0 los ntawm lub ntsiab ua ntej lub voj pib pib.
Muaj nuj nqi teeb tsa kom ua rau sab laug LED ua haujlwm thiab tom qab ntawd pib ua ntu ntu ntu. Cov ntu no yog nruab nrab ntawm macros PT_BEGIN thiab PT_END. Sab hauv muaj qee qhov chaws uas hauv peb cov ntaub ntawv tsuas yog rov ua dua macros PT_WAIT_UNTIL. Cov macros no ua haujlwm tom ntej:
- Kev thov ua haujlwm DoAndCountdown. Qhov teeb tsa hluav taws xob ntawm LED cathodes kom tso tawm xim tshwj xeeb.
- Cov txiaj ntsig tau rov qab los piv nrog 0. Yog tias qhov xwm txheej yog 'cuav' protothread muaj nuj nqi tam sim rov qab thiab yields tswj rau lub voj loj.
- Thaum protothread tau raug caw lwm zaus nws rov ua dua txoj cai ua ntej PT_BEGIN, tom qab ntawd dhia ncaj qha rau hauv PT_WAIT_UNTIL macros los ntawm qhov uas nws rov los zaum kawg.
- Cov kev ua no rov ua dua kom txog rau thaum DoAndCountdown yog 0. Hauv qhov xwm txheej ntawd tsis muaj qhov rov qab los, txoj haujlwm tseem nyob hauv tsab ntawv nyeem thiab ua kab tom ntej ntawm tus lej. Hauv peb qhov xwm txheej nws yog PT_WAIT_UNTIL tom ntej tab sis feem ntau hais lus nws tuaj yeem yuav luag txhua tus lej C.
- Thaum pib ua tiav thib ob PT_WAIT_UNTIL thim rov qab yog 0, yog li txheej txheem DoAndCountdown () teeb tsa nws mus rau tus nqi pib. Macros thib ob ntxiv yuav ua tiav 250 zaug txog thaum rov qab rov qab mus txog 0.
- Lub xeev ntawm cov qauv pt tau rov pib dua sai li sai tau thaum tswj mus txog PT_END macros. Thaum protothread muaj nuj nqi hu rau lub sijhawm tom ntej ntu ntu protothread pib ua kab ntawm txoj cai tom qab PT_BEGIN.
Muaj qhov zoo ib yam li tsab ntawv protothread niaj hnub rau txoj cai LED. Hauv peb qhov piv txwv nws tsuas yog tswj hwm qhov sib txawv ntawm cov xim, tab sis yog tias peb tuaj yeem ua qhov sib txawv kiag li: tsis muaj kev sib txuas nruj ntawm sab laug thiab sab xis LED niaj hnub.
Kauj Ruam 7: Sab hauv
Tag nrho txoj haujlwm yog tsawg dua 200 kab ntawm cov cai (nrog cov lus pom thiab kab tsis meej) thiab siv sijhawm tsawg dua 20% ntawm Attiny85 tus lej cim xeeb. Yog tias xav tau nws tuaj yeem siv tau ntawm no ntau qhov txheej txheem protothread ntau dua thiab muab cov laj thawj nyuaj dua rau lawv.
Protothreads tsev qiv ntawv yog daim ntawv yooj yim tshaj plaws ntawm lub khoos phis tawj tib lub sijhawm. Cov phiaj xwm sib koom ua ke yog ib txoj hauv kev tso cai faib cov phiaj xwm mus rau qhov laj thawj: qee zaum lawv hu ua coroutines, qee zaum xov, qee zaum ua haujlwm. Lub hauv paus yog tias txhua txoj haujlwm no tuaj yeem sib koom ua haujlwm zoo ib yam thaum ua kom muaj tus lej ntau dua lossis tsawg dua thiab tsis muaj kev ywj pheej ntawm lwm qhov. Cov haujlwm los ntawm qhov laj thawj pom tau tuaj yeem ua tiav ib txhij.
Txog kev tswj hwm qib siab ntawm cov haujlwm no tau ua los ntawm kev ua haujlwm ntawm lub khoos phis tawj lossis los ntawm cov lus runtime uas tau teeb tsa rau hauv kev ua tiav los ntawm tus sau. Tab sis nyob rau hauv cov ntaub ntawv ntawm protothreads daim ntawv thov programmer tswj nws tus kheej los ntawm kev siv protothreads macros lub tsev qiv ntawv hauv kev ua haujlwm ib txwm ua thiab siv qhov kev ua ub no (feem ntau tawm ntawm lub voj loj).
Koj yuav xav paub yuav ua li cas protothread ua haujlwm tiag tiag? Qhov twg khawv koob zais? Protothreads vam khom qhov tshwj xeeb C hom lus: qhov tseeb tias C hloov cov ntaub ntawv cov lus yuav suav nrog yog tias lossis qee qhov thaiv (zoo li thaum lossis rau). Cov ncauj lus kom ntxaws koj yuav pom ntawm Adam Dunkels qhov chaw
Cov khoom siv hluav taws xob sab hauv ntawm txoj haujlwm no yooj yim heev. Daim duab saum toj no muab qee yam rau koj. Kuv ntseeg tias koj tuaj yeem ua tau zoo dua.
Pom zoo:
Xus Pumpkin Nrog Tsiv Tsiaj Animatronic Qhov Muag - Lub taub dag no tuaj yeem dov nws lub qhov muag!: 10 Kauj Ruam (nrog Duab)
Xus Pumpkin Nrog Tsiv Tsiaj Animatronic Qhov Muag | Lub Taub Hau No Tuaj Yob Nws Lub Qhov Muag!: Hauv Phau Ntawv Qhia no, koj yuav kawm paub yuav ua li cas taub dag Xus uas ua rau txhua tus ntshai thaum nws lub qhov muag txav mus. Kho lub ntsuas hluav taws xob ultrasonic ntsuas qhov nrug mus rau tus nqi raug (kauj ruam 9), thiab koj lub taub dag yuav ua rau txhua tus neeg uas tsis kam noj tswm ciab
Ntsej Muag Hloov Qhov Muag Qhov Muag - Ua Dab Tsi: 14 Kauj Ruam (nrog Duab)
Lub ntsej muag hloov qhov ntsej muag - Ua Dab Tsi: Koj ua dab tsi thaum koj tsis tuaj yeem txiav txim siab yam koj xav ua rau Xus? Ua txhua yam. Lub npog ntsej muag yog suav nrog daim npog 3D luam tawm dawb, lub paj yeeb raspberry, lub projector me me thiab lub roj teeb. Nws muaj peev xwm kwv yees txhua yam thiab txhua yam
Ib qho yooj yim heev/yooj yim/Tsis yooj yim txoj hauv kev kom tib neeg/tib neeg/tsiaj/neeg hlau zoo li lawv muaj txias tiag tiag/Lub zeem muag tshav kub kub (Xim ntawm Koj Xaiv) Siv GIMP: 4 Cov Kauj Ruam
Ib qho yooj yim heev/yooj yim/Tsis yooj yim txoj hauv kev kom tib neeg/tib neeg/tsiaj/neeg hlau zoo li lawv muaj txias tiag tiag/Lub zeem muag tshav kub kub (Xim ntawm Koj Xaiv) Siv GIMP: Nyeem … lub npe
Dimming Illuminator- rau Lub Sijhawm Ib Leeg Ib Leeg Ib Leeg: 4 Kauj Ruam (nrog Duab)
Dimming Illuminator- rau Lub Sijhawm Lub Sijhawm Ib Leeg Lwm Yam.: Chav no tau los vim kuv tus poj niam yws yws tias nws tsis tuaj yeem pom lub moos chav pw thaum chav pw tsaus ntuj, thiab nws tsis xav tig lub teeb kom tsa kuv . Kuv tus poj niam tsis xav tau lub teeb pom kev ntawm lub moos, tsuas yog ligh txaus
Guitar Amp Tilt Sawv Rau Ib Leeg lossis Ib Leeg Ib Leeg Nrog Lub Hau Sib Xws, thiab Ntau Ntxiv: 5 Kauj Ruam
Guitar Amp Tilt Sawv Rau Ib Leeg lossis Ib Leeg Ib Leeg Nrog Lub Taub Hau, thiab Ntau Ntxiv: Kuv paub tias kuv vwm, tab sis kuv tsis ua li ntawd.Kuv tsim qhov no los sim qee qhov kev xav. Kev vwm ntawm lub khw nkauj hauv nroog yuav tsis cia kuv tso nws cov khoom tshiab Marshall sib tsoo ntawm no, thiab khiav kuv mus. Kuv tsis tuaj yeem liam nws rau qhov ua lub siab me me