Агуулгын хүснэгт:
- Алхам 1: Үндсэн зүйлүүд (үнэндээ биш)
- Алхам 2: Хүчдэл хуваагч
- Алхам 3: Хүчдэл хуваагч шат
- Алхам 4: Дүгнэлт
Видео: Нэг MCU зүүгээр олон унтраалгыг хэрхэн унших вэ: 4 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:06
Та хэзээ нэгэн цагт ямар нэгэн төсөл хэрэгжүүлж байсан ч төсөл улам бүр өсөн нэмэгдэж байгаа бөгөөд үүнд та илүү их зүйлийг нэмж өгч байна (бид үүнийг Feaping Creaturism гэж нэрлэдэг)? Саяхны төсөл дээр би давтамж хэмжигч барьж, таван функцтэй дохио үүсгэгч/давтамжийн синтезатор нэмсэн. Би удалгүй надад байгаа зүү үлдсэнээс илүү олон унтраалгаар шархдууллаа, тэгээд яах ёстой залуу вэ?
Гэсэн хэдий ч удалгүй би Funbox дээрээ өөр долоон унтраалгатай болсон (тийм ээ, би үүнийг функциональ генератор гэж нэрлэдэг байсан … Надад бүтээлч чадвар байхгүй гэдгийг би мэднэ). Энэ нь ээлжийн бүртгэл эсвэл тодорхой IC -ийг шаарддаггүй. Үнэн хэрэгтээ, хэрэв салангид хагас дамжуулагч нь өнхрөх юм бол микроконтроллер шаардлагагүй болно. Та AVR (эсвэл бусад микроконтроллер дээр ганц товчлуур ашиглан олон унтраалгыг уншиж/удирдах боломжтой) AVR -ээс өөр микроконтроллер байдаг гэж би сонссон, гэхдээ би төсөөлж чадахгүй байна …).:)
Алхам 1: Үндсэн зүйлүүд (үнэндээ биш)
Үүнийг хийхийн тулд танд хэд хэдэн бүрэлдэхүүн хэсэг хэрэгтэй болно. Энэ нь таны удирдах ёстой олон тооны унтраалгатай болоход тусалдаг. Танд бас зарим резистор эсвэл ADC (аналог-тоон хөрвүүлэх) микроконтроллер эсвэл шилжүүлэгч идэвхжсэн, аль унтраалга байгааг харуулах өөр арга хэрэгтэй болно.
Хэрэв та хүсвэл хүчдэлийн хяналттай осциллятор ашиглан үүнийг анивчсан гэрлээр эсвэл өөр дуу чимээгээр илэрхийлж болно. Энэхүү номонд би AVR ашиглаж байгаа юм шиг дүр үзүүлэх гэж байна, гэхдээ таны ертөнцөд та аз жаргалтай болгодог бүх зүйлийг дүр эсгэх боломжтой. Би Боб Россыг санаж байна.
Алхам 2: Хүчдэл хуваагч
Үндсэндээ үүнийг хийх арга бол хүчдэл хуваагч гэж нэрлэгддэг техник, хэлхээг ашиглах явдал юм. Хүчдэл хуваагч нь таны таамаглаж байсанчлан V,, in,, хүчдэлийг таны тодорхойлсон утгаар хуваадаг. Та хүчдэлийг конденсатор ба индуктор гэх мэт хэд хэдэн бүрэлдэхүүн хэсгээр хувааж болно, гэхдээ би үүнийг сайн резистороор хийх болно. Бидний хийж буй санаа бол хоёр бүрэлдэхүүн хэсгийг дараалан байрлуулах явдал бөгөөд энэ нь тус бүр дээр тус тусдаа хүчдэл буурахад хүргэдэг. Хэрэв утга учиргүй бол эхний зургийг хараарай. Төмөр замаас төмөр зам хүртэлх 9V -ийн боломжит ялгаа бий. 9V ба 0V хооронд хоёр эсэргүүцэл цуваа байдаг. Эдгээр нь эсэргүүцэлээс хамаарч хүчдэлийн уналтыг мэдрэх болно. Хэрэв та хоёр резисторын хооронд хүчдэлийн хэмжилт хийвэл эхний эсэргүүцэл дээр хэр их хүчдэл унасан, 0V -ээс өмнө 2 -р резистор дээр хэр их унах үлдэж байгаагаас шалтгаалан 9V ба 0V хооронд тодорхой утгыг авах болно. Ийм нөхцөлд резистор дээрх хүчдэлийн уналтыг тооцоолох энгийн томъёо байдаг бөгөөд иймэрхүү харагдаж байна. Резистор 1 (R1) дээрх хүчдэлийг V1, эсэргүүцлийн хоёр (R2) дээрх хүчдэлийг V2 гэж үзье. Би форматлахаа больсон тул томъёог доорх 2 -р зурагнаас үзнэ үү. Тиймээс эсэргүүцэл хуваах хэсэгт Vout -ийн хүчдэлийг бидний V2 томъёогоор тодорхойлж болно (учир нь бид GND -ийг 0V -т хамааруулах болно). Энэ нь нэг түлхүүрээс олон тооны унтраалга илрүүлэхтэй ямар холбоотой вэ? За, хуудсыг эргүүлээрэй, би танд үзүүлэх болно!
Алхам 3: Хүчдэл хуваагч шат
Одоо бид бүх унтраалга, магадгүй зургаа, найм эсвэл арван зургаа нь бүгд резистороор холбогдсон гэж үзье. Тэд тус бүр нь хүчдэл хуваагчийн үүргийг гүйцэтгэдэг бөгөөд ингэснээр унтраалгын зүүний байдал өөрчлөгдөхөд хүчдэлийг уншин, хүчдэлийн түвшинд үндэслэн бид уншдаг. аль унтраалга дөнгөж идэвхжсэнийг мэдэх боломжтой. Доороос үзнэ үү. Доорх зурган дээр би хоёр блок унтраалгыг холбосон. Хамгийн дээд блок нь хоёр унтраалгатай, хамгийн доод талын блок нь таван унтраалгатай. Та тусдаа шилжүүлэгч, түр зуурын, хүрэлцэх гэх мэт унтраалгуудыг ижил аргаар холбож болно. Анхаарах хамгийн чухал зүйл бол таны унтраалга холбогдсон резистор юм. Миний жишээн дээр би хүчдэлийн цоорхойг бий болгохын тулд дараагийн эсэргүүцлийн эсэргүүцлийг бараг хоёр дахин нэмэгдүүлж, унтраалгын өмнө болон дараа алдаагүй болно. Хэрэв та өмнө нь анзаараагүй бол дахин хараад, бид хуучин найздаа эсэргүүцлийн хүчдэл хуваагч руу буцаж ирснийг ойлгоорой. Эхний эсэргүүцэл 10 к ом нь 5V ба 2 -р эсэргүүцэлтэй холбогдсон - V -ийг тодорхойлох эсэргүүцэл.гадагш SWITCH_ADC зүүний хувьд унтраалга бүрт холбогдсон байдаг тул унтраалга бүр нь тодорхой Vout хүчдэлтэй холбоотой байдаг бөгөөд үүнийг SWITCH_ADC дээр холбогдсон ADC зүүгээс уншиж болно. Дараа нь шилжүүлэгч тус бүрээс хүлээгдэж буй Vout -ийг тодорхойл
Vout = Vin * (R2 / (R1 + R2))
нэг шилжүүлэгчийн хувьд:
Vout = 5V * (500 / (10000 + 500)) = 5 * 0.048 = 0.24V эсвэл 240 мВ
хоёр шилжүүлэгчийн хувьд:
Vout = 5V * (2200 / (10000 + 2200)) = 5 * 0.18 = 0.9V эсвэл ~ 900mV
гэх мэт.. Хэрэв танд зөвхөн тодорхой резистор байгаа бол R2 -ийг өөрийн үнэ цэнээр орлуулж болно … Энд гол зүйл бол унтраалгын хоорондох хүчдэлийн зөрүүг хангалттай байлгах бөгөөд ингэснээр ADC дээрх алдааны зөрүүг ялна. t таныг хөрш зэргэлдээх унтраалгаас хүлээгдэж буй хүчдэлд оруулах болно. Хуваах шатыг барьж, ADC зүү дээр мултиметр/вольтметр тавьж, зүү бүрийг дарж, ямар утгыг олж авахыг харах нь хамгийн хялбар зүйл юм. Тэд таны тооцоолж буй зүйлд маш сайн анхаарал хандуулах ёстой. Тодорхой резистор ашиглан унтраалга тус бүрээс хүлээгдэж буй хүчдэлийн утгыг олж авсны дараа та MCU -г ADC зүүг уншуулж, аль утгыг дарсан болохыг тодорхойлохын тулд үүнийг мэддэг утгуудтайгаа харьцуулж болно. Жишээлбэл, та ADC зүү дээр өөрчлөлт гарсан тохиолдолд дуудлага хийх тасалдлын үйлчилгээний горимыг бүртгүүлсэн гэж хэлээрэй. ISR дотор та ADC -ийг уншиж, энэ утгыг шилжүүлэгч хүснэгттэйгээ харьцуулж болно. Хэрэв та 8 битийн ADC утгыг ашиглаж байгаа бол таны хүчдэлийг 0-ээс 255 хүртэлх тоо болгон хөрвүүлэх бөгөөд энэ нь 0V ба 5V-ийн хоорондох хүчдэлтэй тэнцэх болно. Энэ нь таны ADC -ийг ингэж тохируулсан гэж үзэж байна.
Алхам 4: Дүгнэлт
Тиймээс одоо та унтраалгын GPIO тээглүүрийг хэрхэн хэмнэлттэй ашиглахаа мэдэх хэрэгтэй. Хэрэв та GPIO -ийн зүү дутагдаж байгаа эсвэл эхлэх гэж байгаа зүйл бараг байхгүй эсвэл хэрэв та шилжүүлэгчийн банк ашиглаж байгаа гэдгээ мэдэж байгаа бол эсэргүүцэл хуваагч нь GPIO зүүгээ хадгалах боломжийг олгодог. шилжүүлэгчийн хандалтыг илрүүлэх хүчирхэг механизм.
Зөвлөмж болгож буй:
Нэг аналог зүү ашиглан олон аналог утгыг хэрхэн унших вэ: 6 алхам (зурагтай)
Нэг аналог зүү ашиглан олон тооны аналог утгыг хэрхэн унших вэ: Энэхүү гарын авлагад би зөвхөн нэг аналог оролтын зүү ашиглан олон аналог утгыг хэрхэн уншихыг танд үзүүлэх болно
I2C: 9 алхам (зурагтай) бүхий олон тооны никси хоолойг удирдах олон талын I/O Extender ПХБ
I2C ашиглан олон тооны никси хоолойг удирдах олон талт I/O Extender ПХБ: Одоогийн байдлаар хувцасны чимэг хийх зориулалттай nixie хоолойг амьдралд нэвтрүүлэх сонирхол их байна. Nixie хоолойн цагны иж бүрдлийг зах зээл дээр худалдаанд гаргах боломжтой. Оросын хуучин никси хоолойн хуучин хувьцааны худалдаа идэвхтэй явагдаж байсан бололтой. Мөн энд байгаа Instructables дээр
Arduino олон файлтай ажиллах (унших/бичих): 4 алхам
Arduino олон файлтай ажиллах (УНШИХ/Бичих): Сайн байна уу залуусаа Өнөөдөр би танд өгөгдөл хадгалах RTC бамбайтай ажилладаг Arduino төслийг танилцуулж байна. Энэхүү төслийн гол ажил бол sc карт дээр хадгалагдсан олон файлтай ажиллах явдал юм. Энэ төсөл нь гурван файлтай ажилладаг кодыг агуулдаг
ESP8266 дээр суурилсан Sonoff үндсэн ухаалаг унтраалгыг ухаалаг гар утсаар хэрхэн удирдах вэ: 4 алхам (зурагтай)
Ухаалаг гар утсаар ESP8266 дээр суурилсан Sonoff үндсэн ухаалаг унтраалгыг хэрхэн хянах вэ: Sonoff бол ITEAD -аас боловсруулсан Smart Home төхөөрөмж юм. Энэ шугамын хамгийн уян хатан, хямд төхөөрөмжүүдийн нэг бол Sonoff Basic юм. Энэ бол ESP8266 гайхалтай чип дээр суурилсан Wi-Fi идэвхжүүлсэн унтраалга юм. Энэ нийтлэлд Cl -ийг хэрхэн тохируулах талаар тайлбарласан болно
Нэг AVR зүүгээр бүх зүйлийг хянах: 4 алхам
Бүх зүйлийг нэг AVR зүүгээр удирдах