Агуулгын хүснэгт:
- Алхам 1: Ашигласан бүрэлдэхүүн хэсгүүд
- Алхам 2: Дугтуй дагагч
- Алхам 3: Аналог тоолуурын ХОУХШ
- Алхам 4: Микрофоны шалгалт тохируулга
- Алхам 5: Андройд апп
- Алхам 6: Дүгнэлт
Видео: Bluetooth идэвхжүүлсэн аналог VU тоолуур: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэ бол миний SMP нэртэй их сургуулийн нэг хичээлд зориулсан төсөл байсан. Бид STM32F103RB хөгжлийн самбарыг ашиглаж байхдаа би энгийн VU тоолуураас эхлэн төслөө үүнд үндэслэв. Би дараа нь ADB -ээс үнэ цэнийг Андройд апп руу дамжуулахын тулд Bluetooth дэмжлэг гэх мэт нэмэлт функцуудыг нэмж, энгийн dB диаграм үүсгэв.
Алхам 1: Ашигласан бүрэлдэхүүн хэсгүүд
- STM32F103RB хөгжлийн самбар
- HC-05 zs040 bluetooth модуль
- Аналог VU тоолуурын самбар (холбоос)
- Цахилгаан микрофон
- LM324N дөрвөлсөн op-amp
- 2 TIP120 транзистор
- 3 1N4148 диод
- Төрөл бүрийн конденсатор ба резистор
Хэдийгээр та энэ хэлхээг тавцангийн 5В -ийн төмөр замаас хөөж чаддаг ч гэсэн би гаднаас 5V цахилгаан хангамж ашигладаг байсан.
Алхам 2: Дугтуй дагагч
Энэхүү дизайны гол хэсэг нь дугтуй дагагч бөгөөд цахилгаан микрофоноос дохио авч, микрофоны дохионы далайцтай пропорциональ хүчдэл гаргадаг.
Микрофоны түүхий дохиог эхлээд 150 -ийн өсөлттэй өсгөгчөөр дамжуулдаг.
Дараа нь дохиог зөвхөн эерэг дохионы хэсгүүдийг гаргах ёстой дугтуйг дагалдагчаар дамжуулдаг.
Сүүлчийн хэсэг нь дугтуй дагагчийн гаралтаас 1.65V-ийн офсет хүчдэлийг хасч, дуу чимээ гаргахгүй 0 В, дунд дууны хувьд 1.65 В, чанга дууны хувьд 3.3 В дохио өгөх бөгөөд энэ нь дотоод төхөөрөмжтэй нийцэж байх ёстой. Удирдах зөвлөлийн ADC.
Энэхүү дугтуй дагагчийг энэхүү гайхалтай StackExchange хариултаас хэрэгжүүлсэн болно.
Алхам 3: Аналог тоолуурын ХОУХШ
Хэмжигчийн зүүг ажиллуулахын тулд би 500 Гц давтамжтай микроконтроллерийн TIM4 таймерыг тохируулсан.
Ажлын янз бүрийн мөчлөгүүдийг дараалан туршиж үзээд би зүүг 0 -ээс 100 хүртэл авахад хангалттай байсан зарим утгыг олж авсан.
Дараагийн алхамд би математик ашиглан тодорхой утгыг харуулах үйл явцыг нарийвчлан тайлбарлах болно.
Алхам 4: Микрофоны шалгалт тохируулга
Дугтуй дагагчийг хийсний дараа би ADC -ийг ашиглахын тулд энгийн код бичиж, унших утга нь өрөөний чанга чанарт тохируулан өөрчлөгдөж байгааг баталгаажуулав.
Энэ утгыг бодит дБ -ийн уншилт болгон "орчуулах" тулд би 550 Гц давтамжтай онлайн аялгуу үүсгэгчийг ашиглаж, Андройддоо лавлагааны уншилт өгсөн.
Би эдгээр утгыг гаргаж, MatLAB -ийн Curve Fit хэрэгслийг ашиглан ADC -ийн уншилтыг dB түвшний бодит ойролцоо байдалтай харьцуулах функцийг олж авсан (эсвэл наад зах нь миний утасны уншилттай ойролцоо).
Энэ нь микрофоны логарифмын хуваарийг дагаж байгааг бид харж байна.
Зүү байрлалыг ХБХ -ны утгуудтай харьцуулахын тулд би мөн ижил зүйлийг хийсэн. Би эдгээр утгыг ХОУХШ -ийн утгыг дараалан 10 -аар нэмэгдүүлэх замаар цуглуулах шаардлагатай болсон.
Эдгээр 2 функцийг нэгтгэснээр ADC -ээс уншилтыг хэмжигч заагчийн бодит утга руу харуулах хялбар аргыг олж авлаа.
Алхам 5: Андройд апп
Апп нь энэхүү сэрүүн номын санг ашиглан байтын мэдээлэл солилцохын тулд Bluetooth цувралаар холбогдож байна.
Энэ системийн гол анхааруулга нь Bluetooth -ээр илгээгдэх хамгийн их үгний урт нь 8 бит бөгөөд ADC -ийн утгыг 12 битээр дүрсэлдэг. Энэ асуудлыг даван туулахын тулд би ADC -ийн нэг утгыг 6 тусдаа 6 битийн утгад (MSB ба LSB) хувааж, үлдсэн 2 битийг мессежийн төрлийг (MSB, LSB, CHK) тодорхойлоход ашигладаг.
Тиймээс, бидний цацахыг хүсч буй нэг ADC утгын хувьд бид бодит утгыг 2 мессеж болгон хуваадаг. Эдгээр зурвасын бүрэн бүтэн байдлыг шалгахын тулд би эхний 2 зурвасын XOR -тай гурав дахь зурвасыг илгээсэн.
Утга бүрэн бүтэн байдлыг шалгасны дараа бид ижил функцийг ашиглан dB түвшинг олж аваад шууд диаграм дээрээ байрлуулж болно.
Алхам 6: Дүгнэлт
Би энэ төслийн микро хянагчийн хэсэг нь өрөөн доторх дуу чимээг сайн харуулдаг боловч пакет алдагдсаны улмаас Bluetooth-ээр өгөгдөл илгээхэд зарим асуудал тулгарсан.
Энэ төслийн эх кодыг эндээс олж болно.
- Android хамтрагч апп - репо
- Микроконтроллер код - репо
Хэрэв танд энэ нь ямар нэгэн байдлаар ашигтай санагдвал хувь нэмрээ оруулаарай.
Зөвлөмж болгож буй:
Нэг аналог зүү ашиглан олон аналог утгыг хэрхэн унших вэ: 6 алхам (зурагтай)
Нэг аналог зүү ашиглан олон тооны аналог утгыг хэрхэн унших вэ: Энэхүү гарын авлагад би зөвхөн нэг аналог оролтын зүү ашиглан олон аналог утгыг хэрхэн уншихыг танд үзүүлэх болно
Тоолуур тоолуур: 4 алхам
Тоолуур тоолуур: Энэхүү зааварчилгаанд би өдөр тутмын амьдралдаа цагийн менежментийг удирдахад туслах тоолох тоолуур хийхийг зааж өгөх болно. Гол урам зориг нь энэ линкээс ирсэн юм. Энэхүү тоолох тоолуур нь үндсэндээ дөрвөн оронтой долоон сегмент байх болно
Аварга аналог CO2 тоолуур: 6 алхам (зурагтай)
Аварга аналог CO2 тоолуур: Хавай дахь уулын дээрх одоогийн уур амьсгалд ойролцоогоор 400 ppm нүүрстөрөгчийн давхар исэл агуулагддаг. Энэ тоо нь гаригийн гадаргуу дээр амьдардаг бүх хүмүүст маш чухал юм. Энэ түгшүүрийг үгүйсгэгчид эсвэл санаа зовдог хүмүүс биднийг одоо хүрээлж байна
Raspberry Pi GPIO хэлхээ: ADC -гүй LDR аналог мэдрэгчийг ашиглах (дижитал хөрвүүлэгчийн аналог): 4 алхам
Raspberry Pi GPIO хэлхээ: ADC -гүй LDR аналог мэдрэгчийг ашиглах (Дижитал хөрвүүлэгчийн аналог): Бидний өмнөх зааварчилгаанд бид Raspberry Pi -ийн GPIO тээглүүрийг LED, унтраалга руу хэрхэн холбох, GPIO зүү хэрхэн өндөр болохыг харуулж байна. эсвэл Бага. Гэхдээ хэрэв та Raspberry Pi -г аналог мэдрэгчтэй ашиглахыг хүсвэл яах вэ? Хэрэв бид
Цахилгаан хэрэглээний аналог тоолуур бүтээх: 8 алхам (зурагтай)
Цахилгаан хэрэглээний аналог тоолуур бүтээх: Би Kill A Watt ашигласан (http://www.p3international.com/products/special/P4400/P4400-CE.html) цахилгаан тоолуур хэсэг хугацаанд би барихаар шийдлээ аналог. Энэхүү төсөл нь энгийн байхаас өөр аргагүй болсон бөгөөд нэг самбартай амметр бүхий