Агуулгын хүснэгт:
- Алхам 1: Шаардлагатай техник хангамж
- Алхам 2: Туршилтын тохиолдлын тойм
- Алхам 3: ATtiny84 Кейс 1 - Програмын гаралтыг тусгаарлах
- Алхам 4: ATtiny84 Case 2 - Програмын оролтыг тусгаарлах
- Алхам 5: ATtiny85 Кейс 1 - Програмын гаралтыг тусгаарлах
- Алхам 6: ATtiny85 Case 2 - Програмын оролтыг тусгаарлах
Видео: ATtiny84/85 SPI интерфэйсийн зүүг дахин ашиглах: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:04
Энэхүү зааварчилгаа нь "ATtiny84/85 Цуваа гаралттай хэлхээний дибаг хийх" зааварчилгааны дагуу хийгдэж байгаа бөгөөд програм хангамжийн програмын татаж авах цэгийг дахин ашиглах асуудлыг шийдвэрлэхийн тулд техник хангамж, програм хангамжийн тохиргоог өргөжүүлсэн болно. Энэ болон 1 -р хэсгийн хооронд зааварчилгаа өгөх хооронд дараах сэдвүүдийг хэлэлцэж/үзүүлэв.
Сэдэв | ATtiny84 | ATtiny85 |
---|---|---|
SoftwareSerial ангийг ашиглан цуваа холбоо | X | X |
Аппликешн болон татаж авах хооронд төхөөрөмжийн зүүг хуваалцах | X | X |
Pin өөрчлөх тасалдал | X | |
Гадаад тасалдал | X | |
POWER_DOWN горимд унтах; тасалдал дээр сэрэх | X | |
SoftwareSerial-тэй холбоотой "үржүүлсэн тодорхойлогдсон" тасалдлын вектор холбоосын алдааг тойрон гарах | X | |
ATtiny төхөөрөмжүүдийн схемийг өөрчлөх, татаж авах, дибаг хийх,… хөгжүүлэх мөчлөг | X | X |
SPI програмчлалын интерфэйсэд зориулагдсан голуудын аль нэгэнд тоног төхөөрөмжийн I/O бүрэлдэхүүн хэсэг нэмэх нь заримдаа зүгээр, заримдаа үгүй. Жишээлбэл, LED -ийг MISO дээр нэмэх нь татаж авах явцад LED анивчдаг бөгөөд үүнийг програмд ашиглах боломжтой болно. Гэсэн хэдий ч MISO дээр пьезо дуугаруулагч нэмж оруулснаар аймшигтай хашгирах дуу гарч, дараа нь татаж авах боломжгүй болно.
Энэхүү зааварчилгаа нь 4x2: 1 мультиплексор ашиглан SPI интерфейс MISO, MOSI, SCK -ийн дохиог татаж авах явцад хамгаалах замаар хэрхэн "сэргээх" талаар тайлбарласан болно. RESET зүүг дахин ашиглах нь гал хамгаалагчийн өөрчлөлтийг шаарддаг бөгөөд энэ аргад хамаарахгүй. Татаж авах ажиллагаа явагдаж байгаа эсэхээс хамааран програм болон програмчлалын оролтыг солихын тулд мультиплексор ашиглан зүүг хоёр удаа хуваарилдаг. Код ба схемийг ATtiny84 ба ATtiny85 хоёуланд нь оруулсан болно. ATiny84 -ийн тохиргоог эхлээд оруулдаг, учир нь энэ нь хоёр оролтын/оролттой бөгөөд зарим нэмэлт асуудал/шийдлийг харуулахад ашиглаж болно. Tiny84 хэлэлцүүлгийн дараа ATtiny85 -ийн хувьд ижил хувилбаруудыг хэлэлцдэг.
Алхам 1: Шаардлагатай техник хангамж
Шаардлагатай тоног төхөөрөмжийн ихэнх хэсгийг зааварчилгааны 1 -р хэсэгт оруулсан тул зөвхөн шинэ тоног төхөөрөмжийг доор жагсаав.
Нэр | Боломжит эх сурвалж | Хэрхэн ашигласан |
---|---|---|
4x2: 1 мультиплексор | Mouser | SPI интерфэйсийн дохио, I/O програмыг хуваалцах механизм болох 2 оролт; 1 гаралтын дөрвөн унтраалга агуулдаг. |
SPST шилжүүлэгч | Аливаа унтраалга (түр зуур эсвэл хоцрогдсон) ажиллах болно. Шилжүүлэгч нь програмын оролтод зүү хуваалцахыг харуулахад ашиглагддаг. | |
10K эсэргүүцэл | Хөвөгч оролтоос зайлсхийхийн тулд SPST шилжүүлэгчийн доош татах эсэргүүцэл |
Мультиплексор нь зүү татаж авах хэрэглээг програмын хэрэглээнээс тусгаарлах түлхүүр юм. 4x2: 1 мультиплексорын ерөнхий функц нь 2 хяналтын дохио, 4 ижил ажиллагаатай унтраалгаас бүрддэг. Мультиплексор зүү бүрийн зан байдлыг доор авч үзэх болно.
Пин | Нэр | Чиг үүрэг |
---|---|---|
15 | Г. | Үнэн хүснэгтэд заасанчлан мультиплексор нь зөвхөн G идэвхжүүлэгч зүү бага байх үед л ажилладаг. Бид хэзээ ч мультиплексорыг бүрэн идэвхгүй болгохыг хүсдэггүй тул 15 -р зүүг газардуулгатай шууд холбох болно. |
2-4; 5-7; 9-11;12-14 | A (оролт), B (оролт), Y (гаралт) | 2 оролттой дөрвөн байна; 3 гаралтын бүлэг тус бүрээр 1 гаралтын унтраалга A (оролт), В (оролт), Y (гаралт) дарааллаар дугаарлагдсан байна. 1 -р унтраалгын хувьд; зүү 2 = 1А; зүү 3 = 1В; зүү 4 = 1Y. |
1 | Сонгоно уу | Сонголт бага байх үед А шилжүүлэгчийн оролт нь холбогдох унтраалгын гаралтын зүү, Y -д холбогдсон байна. Сонголт өндөр байх үед түүний оронд B унтраалгын оролт гаралтад холбогдсон байна. Шилжүүлэгчийг сонгох дохиог нэгэн зэрэг хянаж, ижил функцтэй ажилладаг. |
8 | GND | IC газардуулга |
16 | VCC | IC хүчдэл |
Алхам 2: Туршилтын тохиолдлын тойм
Зүүг дахин ашиглах хоёр хувилбар нь зүү нь програмын оролт эсвэл гаралт эсэх дээр суурилдаг. Аливаа оролттой ажиллах журам үргэлж ижил байдаг; мөн програм хангамжийн гаралтын техник хангамжийн бүрэлдэхүүн хэсгээс үл хамааран ижил төстэй байдаг. Гэсэн хэдий ч тодорхой жишээ өгвөл тайлбар нь илүү хялбар бөгөөд илүү ойлгомжтой болно гэж найдаж байна. Хоёр тохиолдлын минималист схемийг дээр харуулав. Нарийвчилсан тохиргоог хийхийн тулд холболтууд нь хэрэмний үүр болж хувирдаг тул эдгээр цэвэр диаграмм руу буцах нь зүйтэй болов уу.
RESET нь татаж авах явцад бага боловч татаж дууссаны дараа өндөр түвшинд буцаж ирдэг тул мультиплексор сонгох дохионы төгс сонголт юм. Бүх унтраалга ижил ажилладаг тул мультиплексорыг аль ч тохиолдолд ашиглаж болно гэдгийг анхаарна уу. Түүнчлэн, жишээнүүдийн аль нь ч "бодитой" биш юм; Тэднийг тусгаарлах техникийг харуулах хамгийн хялбар арга болгон сонгосон
-
Гаралтын тохиолдол: ATtiny84 pin 4 (SCK) -ээс LED гаралтыг мультиплексор унтраалга 2 ашиглан тусгаарладаг
- мултиплексор 2A зүүг газардуу холбоно уу
- Multiplexer pin 2B -ийг ATtiny85 pin 4 -т холбоно уу
-
2Y гаралтыг LED анод руу холбоно уу
-
Хүлээгдэж буй үр дүн:
- 2А, газардуулгад холбогдсоноос хойш татаж авах явцад LED унтарсан байна
- 2B -ээр татаж авсны дараа 4 -р гаралтын зүү 4 -д залгагдсан LED анивчиж эхэлнэ
-
-
Оролтын тохиолдол: ATtiny84 зүү 6 (MOSI) руу SPST шилжих оролтыг мультиплексор 3 -р түлхүүр ашиглан тусгаарласан болно
- AVR Programmer толгойноос MOSI хар тугалга утас 3А руу зөөгдсөн
- 3B оролтын оролт нь SPST гаралттай холбогдсон байна
-
3Y гаралт нь ATtiny84 зүү 6 -тай холбогдсон байна
- 3A, MOSI нь татаж авах явцад 6 -р зүүтэй холбогддог
- 3B, SPST гаралт, татаж авсны дараа 6 -р зүүтэй холбогдсон байна
Програмыг татаж авах явцад LED нь анивчихгүй бөгөөд татаж авсны дараа програмын хяналтан дор хүлээгдэж буй шиг хоёр секунд тутамд анивчдаг бол 1 -р тохиолдол амжилттай болно. Тусгаарлахгүйгээр LED нь татаж авах явцад анивчих болно, учир нь энэ нь SCK дохио руу шууд холбогддог бөгөөд энэ нь цагийн өгөгдөл хүлээн авах/дамжуулах байдлыг өөрчилдөг.
Татаж авах явцад MOSI дохиог ATtiny84 рүү дамжуулах тохиолдолд татаж авах ажиллагаа амжилтгүй болох бөгөөд татаж авсны дараа LED нь SPST -ийг асаах/унтраахад хариу өгдөг бол 2 -р тохиолдол амжилттай болно. Тохиолдол 2 нь татаж авах магадлал багатай алдаанаас урьдчилан сэргийлдэг. Тусгаарлахгүйгээр SPST унтраалга нь 1) түгжээтэй унтраалга ашиглаж, 2) татаж авах явцад унтраалгыг асаалттай байдалд үлдээсэн тохиолдолд алдаа гарахад хүргэдэг. Мультиплексороор тусгаарлагдсан тохиолдолд унтраалга нь ямар ч тохиолдолд татаж авахад алдаа гаргаж чадахгүй. Бага зэрэг сунжирсан боловч хөгшчүүл бидэнд тайвширлаа.
Мультиплексорыг ашиглах нэг үр дагавар нь техник хангамжийн бүрэлдэхүүн хэсгийг микроконтроллерийн оролтын зүү рүү шууд холбох боломжгүй болсон явдал юм. Энэ нь зарим талаар тохиромжгүй боловч туршилтын явцад бүрэлдэхүүн хэсэг нь бусад хэрэглээний техник хэрэгслийн хамт талхны самбар дээр үлдэх боломжийг олгодог бөгөөд туршилт дууссаны дараа зохих байрлал руу нь буцааж шилжүүлэх боломжтой болно.
Алхам 3: ATtiny84 Кейс 1 - Програмын гаралтыг тусгаарлах
Энэ алхам нь татаж авах дохио бүхий програмын гаралтын зүүг хуваалцах тохиргоог тайлбарласан болно. Ашигласан жишээ бол 4 -р зүү (SCK) дээр хавсаргасан LED юм. Одоо байгаа LED -ийг жишээ болгон ашиглах нь мультиплексорыг 1 -р хэсгийн техник хангамж, програм хангамжийн орчинд нэмж оруулахыг онцлох боломжийг олгодог.
-
Техник хангамж
- Дээрх fritzing диаграммд үзүүлсэн харьцангуй байршилд талхны самбар дээр мультиплексор нэмнэ. 2 -р тохиолдолд шаардлагатай SPST шилжүүлэгчийг байрлуулахын тулд мультиплексорыг төв рүү чиглүүлсэн байна.
- ATtiny84 зүү 11 -ээс мультиплексор зүү 1 -д хар тугалга утас (шарыг санал болгоорой) нэмж RESET дохиог мультиплексор руу сунгана уу.
-
Үлдсэн тоног төхөөрөмжийн тохиргоог 2 -р алхамд өгсөн болно
- 2А мультиплексор зүү 2А -ийг газардуу шууд холбоно уу
- 2B зүүг ATtiny84 зүү 4 -тэй холбоно уу
-
2Y гаралтыг LED анод руу холбоно уу
-
Хүлээгдэж буй үр дүн:
- Татаж авах явцад 2Y нь газардуулгад (2А) холбогдсон тул LED унтарсан хэвээр байна
- Татаж авсны дараа 2Y нь ATtiny84 pin 4 -тэй холбогддог - LED хяналтын програм
-
-
Програм хангамж
- 1 -р хэсгийн кодыг дахин ашигласан; 1 -р хэсгээс энд хуулбарлахаас илүү зааварчилгаа авах боломжтой
- 1 -р хэсгийн програмыг Arduino IDE дээр ачаалж, эмхэтгээрэй
- Tiny AVR програмистыг компьютерийн USB порт руу залгаарай
-
Adafruit USB -ээс цуваа кабелийг хоёр дахь USB порт руу залгаарай
- COM порт үүсч, IDE портын жагсаалтад автоматаар бэлэн болно
- COM цонхыг ажиллуулна уу
- Эмхэтгэсэн кодыг ATtiny84 дээр татаж аваарай
Хэрэглээний програмын үр дүн нь 1 -р хэсгийнхтэй ижил байна, учир нь цорын ганц өөрчлөлт нь LED -ийг "хамгаалагдсан" байрлал руу шилжүүлэх явдал юм: LED нь 2 секундын зайтай анивчдаг; цуваа гаралт ижил байна. Ганц ялгаа нь татаж авах явцад LED анивчихаа больсон, учир нь энэ хугацаанд 2А мультиплексор зүү ашиглан газардуулгатай холбогддог.
Алхам 4: ATtiny84 Case 2 - Програмын оролтыг тусгаарлах
Энэ алхам нь өмнөх гаралтын тусгаарлах хайрцгийн тохиргоон дээр суурилдаг. Тоног төхөөрөмжийн өөрчлөлт нь SPST шилжүүлэгчийг мультиплексор ашиглан ATtiny84 pin 6 (MOSI) руу холбохоос бүрдэнэ. Тоног төхөөрөмжийн өөрчлөлт хамгийн бага боловч SPST шилжүүлэгч нь зүү солих тасалдлыг ашиглан LED -ийг удирдах боломжийг олгодог хэд хэдэн програм хангамжийн өөрчлөлтүүд байдаг. Шинэчилсэн кодыг энэ хэсгийн доод хэсэгт оруулсан болно. Кодыг Arduino IDE руу хуулах ёстой; Multiplexer_Input нэрээр хадгалахыг санал болгож байна. (Би энэ хэсгийн урт болсонд хүлцэл өчье, гэхдээ энэ бол заавар өгөх зорилготой зүрх бөгөөд зохиомол завсарлага хийхээс илүү цул хэлбэрээр уншсан нь дээр гэж бодож байна.)
Шинэчлэх | Байршил | Зорилго |
---|---|---|
"хакердсан" SoftwareSerial ангийг оруулна уу | хэсгийг оруулах | LED нь зүү солих тасалдалаар дамжуулан SPST унтраалгаар хянагддаг. SoftwareSerial ангиллыг өөрчлөх ёстой, эс тэгвээс бүх зүү өөрчлөх тасалдлын векторуудыг хуваарилдаг. Энэ нь SPST шилжүүлэгчид оногдсон (порт 0) векторын "олон тодорхойлолт" холбоосын алдааг үүсгэдэг. SoftwareSerial -ийн хакердсан хувилбарыг зөвхөн энэ програмд нөлөөлөхийн тулд програмтай ижил лавлах санд байрлуулах ёстой. |
SPST оролтын зүү тодорхойлолт | оруулах/тодорхойлолтын хэсэг | төхөөрөмжийн зүү рүү SPST оролтын хуваарилалт. Зүү нь төхөөрөмжид зориулагдсан тул #ifdef ATtiny8x хэсэгт нэмж оруулсан болно. |
SPST оролтын зүү горим | тохируулах функц | SPST зүү нь INPUT хэлбэрээр тохируулагдсан болно |
SPST зүү тасалдлыг тохируулах | тохируулах функц | Тасалдлын векторыг SPST оролтын зүү дээр хуваарилдаг тул шилжүүлэгчийн төлөвийн өөрчлөлт нь тасалдал үүсгэдэг. Тохиргооны бүртгэл ба тасалдлын төрөл нь төхөөрөмжид зориулагдсан болно. Кодыг аль болох ойлгомжтой болгохын тулд ялгааг #if хэсэгт тодорхойлно |
Цуваа мессежийг тохируулж дууслаа | тохируулах функц | Тохиргооны цуваа гаралтын мэдээг Multiplexer Input програмыг тусгахаар өөрчилсөн |
IST функцийг SPST шилжүүлэгч дээр нэмнэ үү | кодын хэсэг | SPST зүү өөрчлөх тасалдлын ISR нэмэгдсэн байна. Код нь нийтлэг боловч ашигладаг вектор нь төхөөрөмжид зориулагдсан бөгөөд програмын дээд хэсэгт байгаа төхөөрөмжөөс хамааралтай хэсгүүдэд тодорхойлогддог. ISR идэвхжсэн эсэхийг шалгахын тулд LED төлөвийг өөрчилдөг. Бодит аппликешнд үгүй-үгүй гэсэн хэдий ч шинэ LED төлөвийг тусгасан цуваа гаралтын мессежийг гаргадаг. |
Циклийн боловсруулалтыг өөрчлөх | давталтын функц | ISR одоо LED -ийг асаах, унтраахыг хянадаг бөгөөд ингэснээр функцийг давталтын горимоос хасдаг. Унтах горим руу залгах дуудлага ATtiny84 -ийг "нэмэлт" хэлбэрээр нэмж оруулсан болно. Энэ програмын хувьд ATtiny85 унтах нь ажиллахгүй байна; SoftwareSerial -тэй ажилладаг тул Software Serial ангийн хөндлөнгийн оролцоотой холбоотой байж магадгүй юм. |
Унтах дэглэм нэмэх | кодын хэсэг | Унтах функц нь мультиплексорын хэрэглээг харуулах шаардлагагүй юм. Ер нь POWER_DOWN горимд оролтыг хүлээхийг хүсэж байгаа тул оролт гарах хүртэл юу ч хийхгүйгээр програмын хүрдээр үргэлжлүүлэн ажиллах болно. |
SoftwareSerial ангийн кодыг өөрчлөх
SoftwareSerial ангиллыг өөрчлөх шаардлагатай бөгөөд ингэснээр бүх зүү таслах портууд тасрахгүй. SoftwareSerial ангиллын код нь
C: / Program Files (x86) Arduino / hardware / arduino / avr / library / SoftwareSerial / src
Кодын өөрчлөлт эхлэх байршлыг олохын тулд SoftwareSerial.cpp дээрх PCINT0_vect дээрээс хайна уу. Дараах кодыг одоо байгаа #if (PCINT0_vect) мэдэгдлийн өмнөхөн нэмнэ үү.
#тодорхойлсон бол (_ AVR_ATtiny84_)
#тодорхойлох MYPORT PCINT1_vect #elif тодорхойлогдсон (_ AVR_ATtiny85_) #тодорхойлох MYPORT PCINT0_vect #endif ISR (MYPORT) {SoftwareSerial:: handle_interrupt (); }
Доор үзүүлсэн шиг порт тасалдлын векторуудыг хуваарилдаг одоо байгаа кодын блокыг тайлбарлана уу (зөвхөн эхлэх ба төгсгөлийн блокийн тайлбар тэмдгийг нэмж оруулна уу / * ба * /):
/*
#if тодорхойлогдсон (PCINT0_vect) ISR (PCINT0_vect) {SoftwareSerial:: handle_interrupt (); } #endif #if тодорхойлогдсон (PCINT1_vect) ISR (PCINT1_vect) {// SoftwareSerial:: handle_interrupt (); ISR (PCINT1_vect, ISR_ALIASOF (PCINT0_vect)); } #endif #if (PCINT2_vect) ISR (PCINT2_vect, ISR_ALIASOF (PCINT0_vect))); #endif #хэрэв тодорхойлсон бол (PCINT3_vect) ISR (PCINT3_vect, ISR_ALIASOF (PCINT0_vect))); #endif */
Тоног төхөөрөмжийг тохируулах
SPST шилжүүлэгчийг 2 -р алхамд заасан ATtiny84 зүү 6 (MOSI) -д хавсаргасан болно. Уг процедурыг хялбар болгох үүднээс энд хуулбарласан болно.
- 3A унтраалгын оролтыг Tiny AVR Programmer толгойн MOSI толгой руу холбоно уу
- 3B -ийг SPST шилжүүлэгч асаах гаралтын зүү рүү холбоно уу
-
3Y -ийг ATtiny84 зүү 6 руу холбоно уу
-
Үр дүн:
- 3A, MOSI, татаж авах явцад ATtiny84 зүү 6 -аар дамжин орох болно
- 3B, SPST гаралт, татаж авсны дараа 6 -р зүү рүү орох болно
-
Хөтөлбөрийг ажиллуулна уу
Ажиллуулахын өмнө SPST унтраалгыг унтраах байдалд оруулна уу. Үгүй бол унтраалга унтрах үед LED асах болно. Arduino IDE ашиглан програм оруулах програмыг ачаалах, хөрвүүлэх, татаж авах 3 -р алхамыг дагаж мөрдөөрэй. Урьдын адил татаж авах явцад LED анивчих ёсгүй тул програм ажиллаж байгаа эсэхийг харуулах цорын ганц заалт нь тохиргооны төгсгөлд цуваа мессеж байх болно: SETUP Complete - Оруулах жишээ
Энэ үед програм SPST шилжүүлэгчийн оролтыг хүлээж байна. Шилжүүлэгчийг ON байрлалд байрлуулснаар LED асах болно; унтраах байрлал руу буцах нь LED -ийг унтраадаг. Гаралтын мессежүүд нь ISR -ийг дуудсан эсэхийг шалгадаг (ISR: Led HIGH, ISR: Led LOW). Цуваа мессежүүдийн дараалал нь унтраах горимд шилжих төлөвийг эхлээд хүлээнэ үү. шилжүүлэгчийн оролтыг авах үед ISR -ийг дуудаж, LED -ийг асааж, өөрчлөлтийг баримтжуулдаг; тасалдал нь процессорыг сэрээснээс хойш унтах дуудлагын дараа боловсруулалт эхэлдэг.
Энэхүү зааварчилгааны хөтөлбөр:
//************************************************************************
// PART 2: Аппликешн/татаж авах төхөөрөмжийн зүү хуваалцах //. 1 -р хэсгийн кодыг өөрчилнө. ATtiny85 ба ATtiny84 "Comon" код // ************************************** ****************************** #"SoftwareSerial.h" -ийг оруулна уу // Өөрчилсөн Arduino SoftwareSerial ангилал #оруулах // боловсруулах код нь нийтлэг байдаг, ашигласан тээглүүр нь төхөөрөмжид зориулагдсан #хэрэв тодорхойлогдсон бол (_ AVR_ATtiny84_) || тодорхойлогдсон (_ AVR_ATtiny84A_) #ledPin 4 -ийг тодорхойлно // Холбогдсон асаах/унтраах горимыг асаах/унтраах (MOSI) #ISR_VECT PCINT0_vect -ийг тодорхойлох // SPST шилжүүлэгч Зүү өөрчлөх тасалдлын вектор #elif тодорхойлогдсон (_ AVR_ATtiny85_) #ledPin 1 #тодорхойлох rxPin 4 #define txPin 3 #define SpstPin 2 // SPST шилжүүлэгчийн оролт (INT0)_define_define_define_define_define // SPST шилжүүлэгч Pin өөрчлөх тасалдлын вектор #өөр #алдааг зөвхөн ATiny84 ба ATtiny85 энэ төслийг дэмждэг #endif // SoftwareSerial mySerial (rxPin, txPin); // ------------------------------------------------ ------------------------ // Боловсруулах нөөцийг эхлүүлэх // ------------------- -------------------------------------------------- --- хүчингүй тохиргоо () {mySerial.begin (9600); // Цуваа боловсруулалтын саатал эхлэх (2000); // эхлүүлэх ажлыг дуусгахын тулд Serial Com портод хугацаа өг. // өөрөөр бол 1 -р гаралт pinMode (ledPin, OUTPUT) байхгүй эсвэл алдаатай байх магадлалтай; // LED pin -ийг OUTPUT pinMode (SpstPin, INPUT) -д тохируулах; // SPST шилжүүлэгчийн зүүг INPUT #гэж тодорхойлвол (_ AVR_ATtiny84_) тохируулна уу || (_AVR_ATtiny84A_) // 6 -р зүү (MOSI) GIMSK | = (1 <
Алхам 5: ATtiny85 Кейс 1 - Програмын гаралтыг тусгаарлах
ATtiny85 -д давхардсан тоног төхөөрөмжийн тохиргоо хийхээс илүү 4 -р алхамаас ATtiny84 -ийн бэлэн тохиргоог эхлүүлж, tiny84 чипийг tiny85 -ээр солих нь илүү хялбар байх болов уу. Дараа нь шаардлагатай бүх тоног төхөөрөмж аль хэдийн бэлэн болсон байна. Хэрэв энэ аргыг ашиглаж байгаа бол tiny85 -ийг олоорой, ингэснээр 3 ба 4 -р зүү нь tx цуваа кабельтэй таарч, утас хүлээн авна. Дараа нь SPI интерфэйсийн утаснуудыг ATtiny85 -ийн шаардлагатай байршилд нийцүүлэн нүүлгэн шилжүүлэх л асуудал юм.
Хэрэв эхнээс нь эхэлж байгаа бол 3 -р алхам дээрх ерөнхий алхамууд болон дээрх fritzing диаграмыг дагана уу. Код нь 3 -р алхам дахь ATtiny84 -т ашигласантай ижил бөгөөд хүлээгдэж буй үр дүн ижил байна - татаж авах явцад анивчихгүй; LED ажиллаж байх үед 2 секундын зайтай анивчдаг бөгөөд цуваа гаралтын зурвасууд нь LED төлөвийг дагана.
Алхам 6: ATtiny85 Case 2 - Програмын оролтыг тусгаарлах
Тоног төхөөрөмжийн тохиргоог хийхийн тулд 5 -р алхам дээрх тохиргооноос эхэлж, дээрх fritzing диаграммд заасны дагуу SPST шилжүүлэгчийг нэмнэ үү. Би үнэндээ tiny85 хувилбарт түр зуурын унтраалга ашигласан бөгөөд энэ нь баталгаажуулалтыг арай хялбар болгодог. Шилжүүлэгчийн гаралтыг ATtiny84 тохиргооноос 180 градус эргүүлж байгааг анхаарна уу. Энэхүү өөрчлөлт нь бүх 3 SPI дохио нь ATtiny85 -ийн нэг талд байгаа тул холболтын утсыг чиглүүлэхэд хялбар болгодог.
ATtiny84 Алхам 4 -тэй ижил програмыг ашиглана уу. Ерөнхий үр дүн ижил байх болно - SPST шилжүүлэгчийг асаах/унтраах үед цуваа гаралтын зурвасууд өөрчлөлтийг баримтжуулж өгдөг. ATtiny85 -ийн хувьд унтах функцийг идэвхжүүлээгүй тул GO TO SLEEP зурвасууд алга байна. Ижил програмыг ашиглаж байсан ч ATtiny85 нь зөвхөн нэг портын бүртгэлтэй (Порт 0) байдгийг харгалзан үзэхийн тулд хэрэгжилтэд ихээхэн ялгаа бий.
- SoftwareSerial одоо порт 0 зүү солих тасалдлыг цуваа холболтоор хуваарилдаг (Бид ATtiny84 порт 1 -ийг ашиглаж чадсан гэдгийг санаарай.)
- Ганцхан зүү солих тасалдлыг SoftwareSerial хуваарилдаг тул SPST шилжүүлэгчийн тасалдал нь 0 (INT0) гадаад тасалдалтай хийгдэх ёстой. Энэ нь зүүний өөрчлөлтийн тасалдал ба гадаад тасалдал нь логикийн хувьд бие даасан бөгөөд үүнийг нэг портын бүртгэлд ашиглах боломжтой гэдгийг харуулж байна.
- SoftwareSerial -ийн өөрчилсөн хувилбарыг ашигласнаар юу ч олж авахгүй - зөвхөн нэг порт байдаг бөгөөд SoftwareSerial анги үүнийг авах болно. Гэсэн хэдий ч өөрчлөгдсөн анги нь энэ алхамын зорилготой шууд холбоогүй өөрчлөлтөөс зайлсхийхийн тулд ашиглагдаж байсан.
Зөвлөмж болгож буй:
Зөөврийн компьютерын SD карт дээрх DIY соронзон үзэг/зүүг эзэмшигч: 9 алхам
Зөөврийн компьютерт зориулсан SD карт дээрх DIY соронзон үзэг/зүүг бариулагч: Би энэ жил сургуульд зориулж шинэ Dell XPS 15 худалдаж авахдаа энэ төслийн талаар оюун ухаанаа эхлүүлсэн. Би лекцийн үеэр дэлгэцэн дээр тэмдэглэл хөтлөх, цахилгаан цэгүүдийг тэмдэглэхийн тулд шинэ мэдрэгчтэй зөөврийн компьютертэйгээ зүүг авахыг хүссэн тул худалдаж авлаа
I2C / IIC LCD дэлгэц - Arduino ашиглан SPI -IIC модулийг ашиглан I2C LCD дэлгэц рүү SPI LCD ашиглах: 5 алхам
I2C / IIC LCD дэлгэц | IUC LCD дэлгэц дээр SPI LCD дэлгэцийг SPI -ийг IIC модулийг ашиглан Arduino ашиглан ашиглаарай: Сайн байна уу залуусаа, ердийн SPI LCD 1602 -ийг холбоход хэт олон утас байдаг тул үүнийг arduino -той холбоход маш хэцүү боловч зах зээл дээр боломжтой нэг модуль байдаг. SPI дэлгэцийг IIC дэлгэц болгон хөрвүүлэх тул та зөвхөн 4 утас холбох хэрэгтэй
ESP8266-01: 3 алхамуудын 4 зүүг ашиглах
ESP8266-01-ийн 4 зүүг ашиглах: Анхаарна уу: Энэхүү төсөл нь үндсэндээ зөвхөн 2 зүү ашигладаг байсан зааварчилгааны өргөтгөл юм. ноцтой програм.Хэрэв хэн нэгэн тээглүүрийг ухаалаг байдлаар ашигладаг бол энэ нь
Зүүг: 5 алхам
Стилус: Сайн байна уу, би Камерон бөгөөд энэ зааварчилгаанд би дижитал зүүг хэрхэн яаж хийхийг зааж өгч байна. Энэхүү төсөлд урам зориг өгсөн зүйл бол миний харж байсан хамгийн энгийн үзэг юм. Би хийхэд бараг л тийм хялбархан бүтээл хийхийг хүсч байсан. Энэ үзэгний холбоос энд байна: Мэдрэгчтэй дэлгэцний зүү:
Алдарт алтоидын цагаан тугалганы хуулбарыг хэрхэн яаж хийх вэ. (ИНГЭЖ ЦАГИЙН ДАХИН ДАХИН ДАХИН ДАХИН ДАХИН ХӨГЖҮҮЛЭХ): 7 алхам
Алдарт алтоидын цагаан тугалганы хуулбарыг хэрхэн яаж хийх вэ. (БАЙГАА ЦАГ ДАХИН ДАХИН ДАХИН ДАХИН ДАХИН ДАХИН ДАХИН ХЭЛЭХ): Сайн байна уу Энэ бол эвдэршгүй зүйл бол метал хайрцгийг Altoids цагаан тугалганы ижил хэмжээтэй (эсвэл таны хүссэн хэмжээгээр) хэрхэн хийх тухай юм. Энэ нь юу гэсэн үг болохыг та мэдэх үү ???? Энэ нь та өөрөө цагаан тугалга хийх боломжтой гэсэн үг юм ….. Та ямар хэмжээтэй байхыг хүсч байна !!!!!!!!!!! Энд хэрхэн.МАТЕРИАЛ: 2