Агуулгын хүснэгт:

Хөнгөн туяа хэрхэн бий болгох вэ ?: 21 алхам
Хөнгөн туяа хэрхэн бий болгох вэ ?: 21 алхам

Видео: Хөнгөн туяа хэрхэн бий болгох вэ ?: 21 алхам

Видео: Хөнгөн туяа хэрхэн бий болгох вэ ?: 21 алхам
Видео: Өөртөө Итгэлтэй Болох Маш Энгийн 8 Арга 2024, Долдугаар сарын
Anonim
Image
Image
Төлөвлөгөө гаргах
Төлөвлөгөө гаргах

Би Укулеле тоглодог. Дунд зэрэг (хэрвээ энэ бол үг юм) тийм болохоор би "хэрэв та бүсгүйчүүдэд үнэхээр сэтгэгдэл төрүүлэхийг хүсч байвал тайзан дээр тоглож буй гамшгаас тэднийг сатааруулах хэрэгсэл хэрэгтэй байна" гэж бодлоо. Тиймээс "Гэрэлтэй Үүлэлэл" мэндэлжээ.

Энэхүү төсөл нь Концертын Ukulele иж бүрдэл бөгөөд Arduino -ийн удирддаг LED -ийг мөр, байрлал бүрт нэмж өгдөг. Энэ нь LED OLED дэлгэц, эргэлтэт кодлогч дээр суурилсан хэрэглэгчийн интерфэйсийг нэмж LED шугамын горим, эрч хүчийг нэмж өгдөг.

Дууссан uke тоног төхөөрөмжийн онцлог шинж чанарууд:

  1. Arduino MICRO нь LED мөр, дэлгэц, оролтын төхөөрөмжид интерфэйс хийх боломжтой.
  2. 48 тус тусад нь програмчлагдах бүрэн өнгөт LED
  3. OLED дэлгэц
  4. Хэрэглэгчийн оруулах ороомог кодлогч
  5. Гадаад хүч болон Arduino програмчлалын USB интерфэйс

Uke програм хангамж нь:

  1. Гэрлийг хянах үндсэн горимууд нь LED -ийг хурдаар нь ажиллуулдаг
  2. Театрын гоёмсог маркийн горим (тоглолт хийхэд маш тохиромжтой!)
  3. LED эрчим хүчний хяналт
  4. Бүх эхний байрлал бүхий Ukulele хөвчнүүдийн бүрэн хөвч номын сан (хөвчийн утга ба тэмдэгт)
  5. 4х6 пикселийн өвөрмөц тэмдэгтийн багц ашиглан ажиллаж буй текстийг (босоо чиглэлд) харуулах чадвар

Энэхүү зааварчилгаа нь дууссан прототипийг тайлбарласан болно. Боловсролын (зовлонтой) алдаа, яагаад анхны загвараа заавал дуусгах ёстой (хичнээн муухай зүйл тохиолдсон ч хамаагүй) гэсэн чухал сургамжийг багтаасан бүрэн хөгжүүлэлтийн тухай номыг ЭНД ДАРЖ авах боломжтой. Та үнэхээр мэдэхгүй байгаа бүх зүйлээ эцэс хүртэл нь хэзээ ч мэдэхгүй (гэхдээ дараа нь та мэдэхгүй хэвээр байна!), Гэхдээ та дараагийн загвар гаргахад илүү сайн, илүү ухаалаг байдаг.

Би прототипийг Grizzly Concert Ukulele иж бүрдэл дээр бүтээсэн. Багаж хэрэгслээр эхэлснээр бие махбодийн талаархи санаа зовнилоос ангижрах болно (ихэнхдээ), мөн жинхэнэ luthier төрлийн ажлын ихэнх хэсгийг арилгадаг. Эдгээр иж бүрдэл нь маш бүрэн гүйцэд бөгөөд том схемийн хувьд тийм ч үнэтэй биш юм (мөн алдаа гаргах тул өвдөлт багатай).

Алхам 1: Төлөвлөгөө гаргах

Төлөвлөгөө гаргах
Төлөвлөгөө гаргах

Зарим иж бүрдэлд багтсан самбар (эсвэл хурууны самбар) нь тавиурыг хавсаргасан байна. Энэ бол сайн/муу. Цаг хэмнэгч хүний хувьд энэ нь дажгүй боловч өрөмдлөгийн хэв маягийг гаргаж, тээрэмдэх явцад нь барьж байхын хувьд энэ нь бага зэрэг өвдөлт юм. Багцанд байгаа нэгийг устгасны дараа би өөр самбар худалдаж авахаас өөр аргагүй болсон.

Хяналтын самбарыг зохион бүтээхдээ бид ПХБ ба LED -ийг суулгахад шаардагдах зузааны өсөлтийг тооцоолох хэрэгтэй (мөн идэвхгүй бүрэлдэхүүн хэсгүүдийг бүү мартаарай), гэхдээ LED нь хавтангийн гадаргуугаас хэт хол байх ёстой.

LED хэвлэмэл хэлхээний самбар (ПХБ) нь энгийн 2 давхар хавтангаар бүтээгдсэн. Энэ нь LED утсыг гараар угсрахад маш их тусалдаг бөгөөд Ukulele хүзүүнд механик бат бэх (шилэн ба эпокси) өгдөг. Би Eagle -ийн зохион байгуулалтыг эхлүүлсэн боловч самбарын хэмжээ хязгаарлагдмал байсан тул Altium Designer -ийг ашиглаж дууссан. Altium схем ба ПХБ файлууд энд байна.

Багажны самбар нь ердөө 0.125 инч зузаантай байв. Тиймээс, 0.062 инчийн зузаантай ПХБ -ийг авч, LED -д 0.062 инч нэмж оруулах нь бид самбарыг маш их хэмжээгээр хасах шаардлагатай болно гэсэн үг юм. Нөхөн төлбөр хийхийн тулд бид самбар дээрх LED -ийн халаасыг ПХБ -ийн хүзүүнд харгалзах халаасаар хэсэгчлэн хайчилж болно, эсвэл бүх самбарыг (миний сонгосон сонголтыг) Luther Mercantile International (LMII) -ийн зузаан хувилбараар сольж болно., эхлэхэд 0.25 инч байна.

ГЭХДЭЭР, самбар дээрх зузаан нэмэгдсэнийг нөхөхийн тулд та хүзүүгээ боловсруулах хэрэгтэй болно гэдгийг санаарай. Таны олж авах бас нэг давуу тал бол гоо сайхны бүтээгдэхүүн юм, учир нь ПХБ -ийг самбар дээр бүрэн суулгасан бөгөөд энэ нь ирмэгийг дуусгахад илүү хялбар болгодог (мөн илүү сайхан харагдаж байна!), Хүзүүг тээрэмдэх ажлыг хөнгөвчилдөг.

Инженерийн зүйлүүд (хэрэв хүсвэл үл тоомсорлоорой):

Дашрамд хэлэхэд энэ нь хүзүүний хөшүүн байдлыг үнэхээр алдагдуулдаггүй. ПХБ -ийн материал нь анхны модон хавтангаас хамаагүй хатуу байдаг (зандан модуль: 10.6 GPa ба FR4 модуль: 24 GPa), үүнээс гадна бид Ukulele бүтээж байгаа тул өөрөөр хэлбэл гажуудуулж болзошгүй маш их утсан холболт байхгүй болно. хүзүү.

Нэг маш сонирхолтой анхаарал хандуулах зүйл бол (магадгүй би одоо хүртэл тооцоолох ёстой) температурын явцад юу болох вэ? Ерөнхийдөө модны хувьд үр тариатай зэрэгцэн тэлэлтийн дулааны коэффициент ойролцоогоор 3 x 10^-6/K, FR4 хувьд 14 × 10^−6/K байна. Тиймээс нэлээд ялгаа бий. Санаа зовоож буй зүйл бол температур өөр өөр байх тусам хүзүүндээ хурцадмал байдал үүсч, улмаар утаснуудыг тааруулдаг. Энэ нь төвийг сахисан тэнхлэгийн эсрэг талд ижил давхарга тавих эсвэл FR4 -ийг төвийг сахисан тэнхлэгт аль болох ойртуулах замаар нөхөх боломжтой зүйл юм. Гэхдээ энэ нь 2.0 -д үлдэх болно … Загварчлах, үнэлэх зүйл.

Электроникууд нь Uke -ийн биед байрладаг. UKE -ийн хажуугийн хананд (дууны самбар биш!) Нүх хайчилж, дэлгэц ба эргэлтэт кодлогч, Arduino Micro -ийг байрлуулж USB интерфэйс рүү нэвтрэх боломжийг олгодог. USB холболтыг илүү тохиромжтой газар гаргахын тулд нэвтрэх хавтан/бэхэлгээний дизайн, байршлыг сайжруулж болох боловч тоглож байх үед энэ нь тийм ч муу биш юм.

Алхамуудын тойм дараах байдалтай байна.

  1. Материал цуглуулах
  2. Хэрэгтэй хэрэгслүүдээ аваарай
  3. Илүү зузаан хавтанг байрлуулахын тулд хүзүүгээ тээрэмд
  4. Шаардлагатай газруудад нүх гаргах, самбар болон LED -ийн халаасыг бий болгохын тулд самбарыг тээрэмдэх
  5. LED барьсан ПХБ -ийг олж аваад бүтээнэ үү
  6. OLED дэлгэц, Ротари кодлогч, нэвтрэх самбарын хувьд Ukulele биеийн тээрмийн нэвтрэх нүх
  7. Хавтасны хавтан хийх
  8. ПХБ -д утас холбох; электроникийг холбож, туршиж үзээрэй
  9. Хүзүүгээ Укулелегийн биед хавсаргана
  10. ПХБ -ийн утсыг биед дамжуулахын тулд нэвтрэх хаалтыг өрөмдөх
  11. ПХБ ба самбарыг хүзүүнд нь тэгшлээд нааж болно
  12. Самбарын ирмэгийг хүзүүнд нь тэгшлээрэй (илүүдэл материалыг зайлуулна)
  13. Хөшүүргийн утаснуудыг суулгана уу
  14. Маск түрхэж, өнгөлгөөг Укулеле дээр түрхээрэй
  15. Гүүрийг тэгшлээд холбоно уу
  16. Электрон төхөөрөмж суурилуулж, туршиж үзээрэй.
  17. Тааруулагч суулгаж, багажийг чангал
  18. Uke хянагчийг програмчил
  19. Укулеле гайхалтайгаараа дэлхий ертөнцийг гайхшруулаарай!

Алхам 2: Материалыг цуглуулах

Манай материалын жагсаалт дараах байдалтай байна.

  1. Ukulele иж бүрдэл - Би Grizzly Concert Ukulele иж бүрдэл (Амазон дахь Grizzly Uke Kit) ашигласан боловч энэ нь зогссон бололтой. Зимо ижил төстэй загвар (Zimo Uke Kit @ Amazon) хийдэг бөгөөд энэ нь энэ ажлыг хийх болно
  2. Ukulele fretboard, урьдчилан ангархай (LMII Uke Fingerboards). Тэд самбарыг таны хэмжээнд багтаах бөгөөд энэ нь үймээн самууныг хэмнэх болно
  3. Эпокси - хавтанг хүзүүнд наалдуулах зориулалттай. ПБХ материалтай нийцдэг тул би эпокси сонгосон. Хамгийн багадаа 60 минутын ажлын амьдралтай зүйлийг хайж олоорой. 5 минутын төрлийг бүү ашиглаарай, танд тохируулга хийхэд цаг хэрэгтэй
  4. Fret утас - мөн LMII -ээс авах боломжтой
  5. Custom PCB - Altium файлууд энд байна. Би ердийн FR4 төрлийн материалыг сонгосон. Уян хатан (полиимид) хавтан нь илүү нимгэн байж болох тул сонирхолтой (хэрэв илүү үнэтэй бол) сонголт байх болно
  6. 48x Neopixel (SK6812) LED. Adafruit болон Digikey -ээс авах боломжтой
  7. 48x 0.1uF 0402 таг - том хэмжээтэй нь хүлээн зөвшөөрөгдөх боловч та байршлыг нь харах хэрэгтэй
  8. Холболтын утас - төөрөгдөл гаргахгүйн тулд дор хаяж 4-6 өнгөөр би 28 хэмжигч утсыг ашигласан. LED тэжээлийн холболт дээр DC уналтыг ажигла (VCC ба GROUND хоёулаа … одоогийн эх үүсвэр рүү буцах ёстой!)
  9. Ротари кодлогч-PEC16-4220F-S0024
  10. Сонирхолтой модон бариул - эргэдэг кодлогчын хувьд (би LMII -ээс авсан)
  11. OLED дэлгэц - 4D системээс OLED дэлгэц
  12. Гадаад USB батерей - үргэлж хямд, сэлбэг хэрэгсэл авч явах боломжтой!
  13. Arduino MICRO
  14. Хуудасны гууль - дэлгэцийг ардуино болон халхавчтай байлгахын тулд хавтанг хийх
  15. Янз бүрийн хэрэглээний материалууд: зүлгүүр, уретан өнгөлгөө, цул мод, резинэн тууз, гагнуур, урсгал, сойз, хоёр талт соронзон хальс (надад 3M UHC соронзон хальс таалагддаг), жижиг гуулин модон эрэг (хавтангийн хувьд)
  16. Нэмэлт Ukulele нэмэлтүүд - илүү сайн тюнер, илүү сайн утас, илүү сайн самар, эмээл, хэрэв та илүү чадварлаг гэдгээ харуулахыг хүсч байвал шигтгээ)

Алхам 3: Шаардлагатай хэрэгслүүдээ аваарай

Та эрт орой хэзээ нэгэн цагт эдгээрийг авах эсвэл авах шаардлагатай болно:

Манай хэрэгслийн жагсаалтад дараахь зүйлс орно.

  1. Тээрэмдэх машин - CNC -ийг илүүд үздэг, гэхдээ та чиглүүлэгч, азтай байж магадгүй. Би хосолсон CNC тээрэм/чиглүүлэгч ашигласан
  2. Чиглүүлэгчийн бит - карбидийг илүүд үздэг. Бид метал биш мод боловсруулж байгаа тул чиглүүлэгч битүүдийг тээрэм дээр сонгосон
  3. Хавчаар - маш олон. Ихэвчлэн нааж байх үед эд ангиудыг барих шаардлагатай байдаг
  4. Гагнуурын төмөр - гадаргуу дээр холбох гагнуурын жижиг үзүүр
  5. Микроскоп эсвэл томруулагч - та зөвхөн нүдээрээ гагнах гэж оролдож болно, гэхдээ би үүнийг зөвлөхгүй, хамгийн багадаа 10 дахин их
  6. Хясаа (эд ангиудыг байрлуулах зориулалттай)
  7. Хэвлэх хэрэгсэл (LMII дээрх зохих хэрэгслүүдийг эндээс үзнэ үү, гэхдээ би гэртээ байсан зүйлээ ашиглаж, хийсэн, алх, файл, таслагч)
  8. Модон хайч, халив, зөөлөн цохилт эсвэл түүхий арьсаар хийсэн алх зэрэг олон төрлийн гар багаж.
  9. Зүлгүүр - зүлгүүрийн янз бүрийн үртэс

Манай програм хангамжийн хэрэгсэлд дараахь зүйлс орно (зарим нь таны төсөв/овсгоо чадвараас хамаарч заавал биш):

  1. Arduino програм хангамж
  2. Ukulele эх код (https://github.com/conrad26/Ukulele)
  3. ПХБ -ийн байршлын багц - Eagle -ийн үнэгүй хувилбар нь миний хүссэн хавтангийн хэмжээг дэмждэггүй тул би Altium ашигладаг байсан. Altium бол бүрэн хэмжээний зохион байгуулалтын багц бөгөөд сонирхогчдын үнийн хүрээнд байдаггүй. Би загвар дээрээ зориулж Gerber файлуудыг сайт дээрээ оруулсан боловч эдгээрийг шинэчлэх шаардлагатай байгаа нь гарцаагүй
  4. 3D загварчлах програм хангамж - Би SolidWorks -ийг ашиглаж байсан боловч нэг үнэгүй хувилбар бол FreeCAD юм (https://www.freecadweb.org/)
  5. CAM програм хангамж - NC тээрмийн файл үүсгэх Autodesk -ийн FeatureCAM гэх мэт.

Altium -аас 3D алхамтай файлыг экспортлох самбарыг 3D загвартай хослуулах нь бүх зүйл хоорондоо нийцэж байгаа эсэхийг шалгахад ихээхэн бэрхшээл учруулдаг. Анхааралтай зохион байгуулалт нь ижил үр дүнд хүрэх болно.

Одоо бид юу хийхийг хүсч байгаагаа, мөн юу хийх ёстойгоо мэдэж байгаа бол Укулеле бүтээцгээе.

Алхам 4: Зузаан хавтанг байрлуулахын тулд хүзүүгээ тээрэмд

Зузаан хавтанг байрлуулахын тулд хүзүүгээ тээрэмд
Зузаан хавтанг байрлуулахын тулд хүзүүгээ тээрэмд

Тээрэмдэхээс өмнө хавтангийн анхны бэхэлгээний гадаргуугийн тэгш байдлыг хадгалах ёстой, эс тэгвээс та мушгирсан хавтантай байх ёстой бөгөөд энэ нь хөндлөвчийг тэгшлэхтэй холбоотой бүх асуудалд хүргэдэг болохыг анхаарна уу.

Зүгээр л тийшээ бүү яв, цаг заваа гаргаж, хүзүүгээ анхааралтай, чанга чангалж, огтлохоосоо өмнө чиглүүлэгчийн битийн хүзүүнд бүхэлд нь тааруулж байгааг шалгаарай. Энд өнгөрөөсөн цаг нь хожим таныг маш их уй гашуунаас аврах болно.

Би хүзүүндээ шигтгээ хийх зориулалттай зузаан хавтанг сонгох болсон нэг шалтгаан нь бэхэлгээний (наалдсан) гадаргуугийн талбай нэмэгдсэн явдал байв. Өөр нэг шалтгаан нь хүзүүний тээрэмдэх ажлыг хөнгөвчилдөг. Та бүх гадаргууг шаардлагатай өндөр хүртэл хайчилж ав.

Алхам 5: LED барьж буй ПХБ -ийг олж авах, бүтээх

LED барьж байгаа ПХБ -ийг олж авах, бүтээх
LED барьж байгаа ПХБ -ийг олж авах, бүтээх
LED барьж байгаа ПХБ -ийг олж авах, бүтээх
LED барьж байгаа ПХБ -ийг олж авах, бүтээх

Би угсралтыг бүхэлд нь гагнасан. LED баглаа боодол нь хайлахад маш хялбар байдаг тул эвдэрч гэмтэхээс болгоомжлох хэрэгтэй. Би статик оосор өмсөхийг санал болгож байна, учир нь утас нь LED ажиллаж байгаа бүх зүйлээс хамаардаг.

Fretboard загвар нь WS2812B LED -ийн эргэн тойронд суурилсан болно. Би зөвхөн самбарын эхний октавыг хийхээр шийдсэн (48 LED !!). LED бүрийг ээлжийн бүртгэлд нэг бит гэж ойлгож болно. Ээлжийн бүртгэл 800 кГц давтамжтай. Би ажлаа хурдан эхлүүлэхийн тулд Adafruit номын санг (програмчлалын хэсгийг үзнэ үү) ашигласан.

Би дизайныг Eagle -д эхлүүлсэн боловч самбарын хэмжээ 4х5 инч хэмжээтэй байх тул би Altium руу шилжих шаардлагатай болсон (эсвэл илүү зөвөөр хэлбэл би үүнийг сонгосон). Би Алтиумыг ажил дээрээ ашигладаг тул бодит байдал дээр энэ нь миний ажлыг илүү хурдан болгосон. Altium төсөл, схем, pcb файлууд (мөн номын сангийн хэсгүүд) миний сайт дээр байна. Самбар нь трапецын хэлбэртэй, 10 инч орчим урттай. Би тоймыг арай илүү шахахыг хичээх ёстой байсан гэж бодож байна (дараагийн эргэлт!) Ассемблер тийм ч муу биш байсан, гэхдээ хэрэв та үүнийг төлж чадах юм бол надад сайн гагнуурын төмөр (JBC гагнуурын төмөр), сайн микроскоп санал болгож байна. Тийм ээ, би эвдэрсэн, үгүй, миний гэрийн лабораторид тийм зүйл байхгүй. Би хямдхан байна.

Би Sunstone -д самбаруудыг хийсэн. Хоёр самбар авахад 129 доллар. Нэг долоо хоногийн эргэлт хийх баталгаа. Тээвэрлэлтэд бүү санаа зов. Би UPS газардуулгыг ашиглаж байснаа анзаараагүй бөгөөд самбараа ирэх хүртэл нэмэлт долоо хоног хүлээлээ. Нийт угсрах хугацаа 2 цаг орчим (98 хэсэг) байв.

Алхам 6: Хяналтын самбарыг тээрэмдэх

Image
Image
Укулеле биен дэх тээрмийн нэвтрэх цооногууд
Укулеле биен дэх тээрмийн нэвтрэх цооногууд

Шаардлагатай газруудад нүх гаргах, самбар болон LED -ийн халаасыг бий болгохын тулд бид самбарыг тээрэмдэх хэрэгтэй.

Би Solidworks дээр дууссан самбарын 3D загварыг бүтээж, FeatureCAM ашиглан CNC тээрэмдэх горимыг бий болгосон.

Хүзүү ба биеийн хоорондох өндрийн өөрчлөлтийг тооцоолохын тулд хавтангийн доод хэсгийг (дууны нүхэнд хамгийн ойрхон) нимгэн болгох шаардлагатай болно. Тохиромжтой эсэхийг шалгахын тулд хэд хэдэн удаа турших нь зүйтэй.

Эргээд харахад тээрэмд илүү сайн тохирохын тулд самбарын ашиглагдаагүй хэсгүүдийг таслах ёстой байсан (миний хямд тээрэм нь зөвхөн 12 инчийн X тэнхлэгтэй явдаг байсан). Үйлдлийн дарааллыг өмнө нь тээрмийн зузааны эхний тохируулга хийх хүртэл тохируулах ёстой. халаасыг тээрэмдэх нь халаасны хоорондох хагарал буурахад хүргэдэг.

Утас холбох зайг нэмэхийн тулд шаардлагатай бол гарын авлагын тохируулга хийх. Анхаарах ёстой нэг чухал зүйл бол зарим халаасанд би утсан утас орох үүр рүү нэвтэрсэн явдал юм. Үүнийг удирдаач гэж үзээд ямар нэгэн чухал зүйлийг богиносгохгүй байхыг анхаараарай. Энэ нь хөшигийг бэхэлсэн материалын бат бөх чанарыг бууруулдаг. Дизайныг нүхний үүртэй огтлолцохгүй байхаар өөрчлөх ёстой.

Алхам 7: Укулелийн биен дэх тээрмийн нэвтрэх цооногууд

Укулеле биен дэх тээрмийн нэвтрэх цооногууд
Укулеле биен дэх тээрмийн нэвтрэх цооногууд

Би биеийн доторх нэвтрэх нүхийг гараар тээрэмдсэн. Хамгийн хэцүү хэсэг бол маш муруй гадаргуугийн "хамгийн хавтгай" бүсийг олох явдал юм. Тоймыг харандаагаар тэмдэглээд, OLED дэлгэцэнд таарах хүртэл материалыг аажмаар тайрч ав. Би боловсруулсан гуулин хавтан авч, 3M VHB холбох соронзон хальс ашиглан бэхлэв.

Аль аль нь нарийн нарийвчлал шаарддаггүй тул эргэдэг кодлогч ба нэвтрэх самбарын нүхийг бүтээхэд илүү хялбар байдаг.

Алхам 8: Хавтасны хавтан хийх

Хавтасны хавтан хийх
Хавтасны хавтан хийх
Хавтасны хавтан хийх
Хавтасны хавтан хийх
Хавтасны хавтан хийх
Хавтасны хавтан хийх

Та мөн дэлгэцийн хүрээ ба нэвтрэх самбарын тагны хавтанг арчлах хэрэгтэй. Хандалтын самбар нь USB (микро) холбогчийн нүх (тэгш өнцөгт) хэрэгтэй. Micro USB -ийг самбар дээр холбох олон сонголт байдаггүй тул Arduino дээрх одоо байгаа холбогчийг ашиглаарай. (хэрвээ би эхнээс нь загвар зохион бүтээсэн бол эдгээрийн аль нэгийг нь харах болно)

Самбарыг байрандаа барихын тулд L хаалтыг гуулинаар хийж, нэвтрэх хавтангийн ар талд гагнана. Энэ нь байршил тогтооход тодорхой өргөрөг өгөх боломжийг танд олгоно. Байрлалыг зөв тогтоохын тулд эхлээд Arduino MICRO-д зориулагдсан перфрон хавтанг (бэхэлгээний нүхтэй) хийж, 2-56 ширхэг машины эрэг ашиглан L хаалт хавсаргана уу. Та дараа нь USB портыг байрлуулахын тулд байршлыг өөрчилж, хавтан дээрх хаалтуудын байршлыг нарийвчлан тэмдэглэж болно. Төгсгөлийн самбараас хаалтуудыг авч, гагнана. Эцэст нь perfboard -ийн угсралтыг холбоно уу.

Би дөрвөн жижиг гуулин модон эрэг ашиглан гуулин нэвтрэх самбарыг байрлуулсан байна.

Энэ үед би эцсийн угсралт эхлэхээс өмнө туршилт хийхийг зөвлөж байна. Энэ алхам нь сонголттой боловч санал болгож байна. Цавуу хийхээс өмнө тохируулга хийх нь хамаагүй хялбар юм.

Алхам 9: ПХБ -д утас холбох; Электроникийг холбож, туршиж үзээрэй

Image
Image
Укулелегийн биед хүзүүгээ бэхлээрэй
Укулелегийн биед хүзүүгээ бэхлээрэй

Цахилгаан хэрэгслийг хараахан бүү хавсаргаарай. ПХБ -д утсыг холбож, нэвтрэх нүхийг гадагшлуулахын тулд хангалттай сул зай үлдээгээрэй. Эдгээрийг эцэст нь Arduino MICRO самбарт байнга хавсаргах шаардлагатай байдаг (зургууд нь миний код боловсруулахад ашигладаг Arduino UNO -г харуулдаг)

Алхам 10: Хүзүүгээ Укулелегийн биед хавсаргана

Ukulele иж бүрдэлд багтсан зааврын дагуу хүзүүгээ Ukulele биед хавсаргана. Ялангуяа хавтангийн гадаргуугийн укеийн биетэй хэрхэн нийцэж байгааг анхаарч үзээрэй.

Алхам 11: ПХБ -ийн утсыг биед нэвтрүүлэхийн тулд нэвтрэх нүх өрөмдөнө

ПХБ -ийн утсыг биед нэвтрүүлэхийн тулд нэвтрэх нүх өрөмдөнө
ПХБ -ийн утсыг биед нэвтрүүлэхийн тулд нэвтрэх нүх өрөмдөнө

Цавуу хатсаны дараа ПХБ -аас утаснууд Ukulele -ийн биед орохын тулд ~ 1/4 (10мм) нүх өрөмдөж, дууны самбарыг гэмтээхгүй байхыг анхаарна уу.

Самбар доорх утаснуудын зузааныг зөвшөөрөхийн тулд та жижиг халаас хийх хэрэгтэй болж магадгүй (эсвэл сонголтыг дээд талд нь холбож, самбар дээр хөнгөлөлт оруулах боломжтой).

Өөр нэг туршилтын тохируулга энэ үед гэмтэхгүй.

Алхам 12: ПХБ ба самбарыг хүзүүнд нь тэгшлээд нааж болно

ПХБ ба самбарыг хүзүүнд нь тэгшлээд нааж болно
ПХБ ба самбарыг хүзүүнд нь тэгшлээд нааж болно

Би наахаасаа өмнө хавчих (мөн туршиж үзэх!) Талаар бодохыг санал болгож байна. Та хавтгай хавчих гадаргуутай болгохын тулд хүзүүний доод хэсэгт хэлбэртэй блок загварчлахыг хүсч магадгүй юм. Энэ үед самбар нь хүзүүнээс том хэмжээтэй тул та үүнийг зөвшөөрөх хэрэгтэй.

Хожим дуусгахыг хүсч буй гадаргуу дээр эпокси түрхэхээс болгоомжил. Наалдахаасаа өмнө наалдахгүй бүх гадаргуу дээр маск түрхсэн нь дээр.

Хамгийн багадаа 60 минут ажиллах хугацаатай эпокси ашигла … танд энэ бүхэн хэрэгтэй болно.

ПХБ -ийг эхлээд нааж, илүүдэл цавуу нь хавтангийн наалдамхай гадаргуу руу нэвчихгүй эсэхийг шалгаарай. Энэ нь самбарыг хүзүүнд нь тэгшлэх аргыг өгдөг. ПХБ нь гагнуурын маскны гөлгөр гадаргуутай тул эпоксид бага зэрэг сайжруулсан гадаргуутай болгохын тулд би үүнийг бага зэрэг зүлгүүрээр арчина.

Самбарыг хүзүүнд нь тэгшлээд нааж болно. Хожим резонанс үүсгэж болзошгүй халаасыг үлдээхгүй байхыг анхаарна уу (дуу чимээ!). Мөн LED гадаргуу дээр цавуу авахаас болгоомжлох хэрэгтэй.

Цавуу хатсаны дараа та цахилгаан хэрэгслийг дахин нэг удаа утасдаж, туршиж үзэхийг хүсч магадгүй юм. Нэг муу LED нь амьдралыг үзэн ядах болно. Надад прототип дээр нэг муу LED байсан (эхнийх нь!), Би гэмтэлтэй LED рүү нэвтэрч, цэвэрхэн нөхөхийн тулд бүтээлч модон эдлэл хийх шаардлагатай болсон.

Алхам 13: Хязгаарын ирмэгийг хүзүүнд нь тэгшлээд Fret утас нэмнэ

Цавуу хатсаны дараа та ирмэгийг нь дуусгаж эхэлж болно. Би илүүдэл хавтангийн материалыг болгоомжтой хайчилж (тээрэм ашиглан) сүүлчийн миллиметрийг гараар зүлгэж дуусгалаа.

Хөшигний утсыг алхаар хийх боломжтой (сүйрэхээс зайлсхийхийн тулд хуванцар нүүртэй). Зүгээр л хэтэрхий хатуу алх бүү хий. Хэрэв та оролтын утсыг үүрэнд тааруулсан бол тэд ямар ч бэрхшээлгүйгээр орох ёстой.

Таны анхаарах ёстой зүйл бол LED халаасны нимгэн гадаргууг эвдэх явдал юм. Прототип дээр би зарим LED халаасыг (зай 12 -р байрны ойролцоо, зай багатай) нүх рүү сунгахыг зөвшөөрөв. Энэ нь муу санаа юм, учир нь энэ нь сул утсыг бий болгодог бөгөөд энэ нь утсыг оруулсны дараа хагарч магадгүй юм.

Алхам 14: Маскийг түрхэж, өнгөлгөөг укулеле дээр түрхэнэ

Хажуугийн хавтан (дуусахгүй) болон гүүрний наалдсан хэсгийг маск хийж, өнгөлгөө хийж эхлээрэй.

Гүүрний талбайг далдлахдаа иж бүрдэлтэйгээ хамт зааврыг уншиж, масштабын уртыг сайтар шалгаж үзээрэй. Миний прототипт ашигласан иж бүрдэл нь масштабын уртыг буруу ашигласан тул гүүрийг олоход буруу хэмжээс өгсөн (гэхдээ хамгийн сүүлийн зааврыг вэбсайтаас шалгах тэмдэглэлтэй байсан!). Миний гэдэс надад энэ нь буруу гэж хэлсэн ч би эрх мэдлийг сохроор хүлээн зөвшөөрсөн.

Зааварчилгааг сохроор дагаж мөрдөхийн оронд яагаад ямар нэгэн зүйл хийж байгаагаа ойлгох нь үргэлж дээр байдаг.

Төгсгөлийн хувьд вэб дээр юу хийж байгаагаа мэддэг Luthiers -ийн маш олон заавар байдаг тул дуусгах үйл явц руу орохоосоо өмнө тэдэнтэй зөвлөлдөхийг зөвлөж байна.

Мэдээжийн хэрэг би үүнийг хийгээгүй тул буруу битүүмжлэгч ашиглаж дууссаны үр дүнд маш ширхэгтэй гадаргуу гарч ирэв. Үүнийг бүү хий.

Гэрийн даалгавраа хий.

Алхам 15: Гүүрийг тэгшлээд холбоно уу

Гүүрийг тэгшлээд холбоно уу
Гүүрийг тэгшлээд холбоно уу

Энэ алхам нь маш энгийн боловч дахин хавчих аргыг төлөвлөж, наахаасаа өмнө урьдчилан туршиж үзээрэй. Би гүүрийг холбохын тулд стандарт модон цавуу хэрэглэсэн.

Алхам 16: Электроникийг суулгаж турших

Электроникийг суулгаж, турших
Электроникийг суулгаж, турших

Цахилгааны утсыг гоёмсог болгох цаг болжээ. Дээрээс нь та биеийн дотор эргэлдэж, шуугиан тарьж, бүр дордохыг хүсэхгүй байна.

Arduino кодыг USB портоор дамжуулан шинэчлэх боломжтой тул хэрвээ та үүнийг засахыг хүсэхгүй бол үүнийг салгах шаардлагагүй болно.

Алхам 17: Тюнеруудыг суулгаж, багажийг чангална уу

Image
Image
Uke програмчлах
Uke програмчлах

Та бас сандралуудыг тэгшлээд, тохиргоогоо жаахан тоглох хэрэгтэй болно, гэхдээ төгсгөлдөө ойрхон байхад одоо яагаад санаа зовох ёстой гэж?

Би тааруулагчдыг сайжруулж, сайхан Аквила мөрүүдийг ашигласан нь дуунд огт тус болсонгүй. Төслийн төсөлд мөнгөө зарцуулж байхдаа үүнийг санаарай.

Алхам 18: Uke програмчлах

Arduino -ийн эцсийн код Github дээр байна. Кодонд ирээдүйн сайжруулалтыг дэмжих зарим мөрүүд байдаг (метрономын функц, дэлгэцийн "гулсагч" гэх мэт (гулсагч шиг харагдах UI элемент)

Энэ код нь Rotary Encoder -ийн хэрэглэгчийн оролтыг зохицуулахын тулд Rotary Encoder Library (Rotary Encoder Arduino Library) ашигладаг.

Энд бас Adafruit Neopixel номын сан болон жишээ кодыг ашигладаг. Театрын болон солонгын горимыг номын санд өгсөн жишээнээс авсан болно. (strandtest.ino -г үзнэ үү).

Дэлгэцийн драйверийг 4D системээр хангадаг бөгөөд Github дээрээс эндээс олж болно.

Укулеле төсөлд хэрэгжүүлсэн хоёр өвөрмөц функц байдаг. Эхнийх нь хөвч номын санг хэрэгжүүлдэг, хоёр дахь нь өөрчлөн тохируулсан тэмдэгт ашиглан гүйлгэж буй текст мессежийг харуулдаг.

Хавсаргасан диаграмм нь LED хавтангийн байршил, тэдгээрийг хэрхэн холбож байгааг харуулав. LED 0 нь баруун дээд буланд байрладаг.

Алхам 19: Хөвчийг хэрхэн харуулах вэ

Хөвчийг хэрхэн харуулах вэ
Хөвчийг хэрхэн харуулах вэ

DisplayChord функц нь хөвч бүрийн хурууны байрлалыг (зөвхөн одоогоор эхний байрлал) харуулдаг. Хэрэглэгчийн сонгосон хөвч (эх тэмдэглэл ба чанар) хос индекс хэлбэрээр хадгалагддаг. Эдгээр нь эргээд хөвч бүрийн хурууны үзүүрийг хайхад хэрэглэгддэг.

Би хөвч хадгалахад "GCEA" тэмдэглэгээг ашигласан (жишээ нь "А" бол "2100"). Аккорд нь язгуур тэмдэглэл бүрийн хувьд урьдчилан тооцоологдож, аккордын чанарт тохирсон хувьсагчаар хадгалагддаг. (Тэгэхээр, гол нь "2100" -тай тохирох "majorChords" массивын эхний байршилд хадгалагддаг).

char* majorChords = {"2100 / n", "3211 / n", "4322 / n", "0003 / n", "1114 / n", "2220 / n", "3331 / n", " 4442 / n "," 2010 / n "," 3121 / n "," 0232 / n "," 5343 / n "};

Энэ бол текст мөр тул цифр бүр нь 9 -өөс дээш байрлалыг харгалзах зургаан өнцөгт утгыг илэрхийлж болохыг анхаарна уу. Өөрөөр хэлбэл A ба B нь 10 ба 11 LED -ийг илэрхийлнэ. Эхний байрлалын хөвчний хувьд энэ нь асуудал биш байсан).

LED утас нь мөр бүрийн дагуу 12 мөр (октав) урттай утастай (A тэмдэгтээс эхлэн), дараагийн гүйлтийн дараагийн гүйлт нь эхний мөрөөс эхэлнэ (18 -р алхам дахь диаграмыг үзнэ үү). Алгоритм нь тухайн хөвчний аль гэрлийг асаахыг тодорхойлоход чухал ач холбогдолтой юм. Энэ нь 0 -ээс 11 хүртэлх пикселүүд нь A хэлбэрийн LED, 12 -оос 23 хүртэлх тоонууд нь E гэх мэт. A = "2100" (мөр хэлбэрээр хадгалагдсан, кодонд "\ n" гэсэн хоосон терминатор байдаг) -ийг задлан шинжлэхдээ бид үүнийг тайлбарладаг: A мөрөнд пиксел асдаггүй, E мөрөнд 0 пиксел байдаггүй. (fret 1) C string дээр асаалттай, G string дээр пиксел 1 (fret 2). Анхны LED биш "0" унтраалттай байгааг анхаарна уу. Утасны холболт дээр үндэслэн бид 24 ба 37 -р LED -ийг асаахыг хүсч байна. Хөвчийг харуулах кодыг доор харуулав.

for (int i = 0; i <4; i ++) {if (int (chord - '0')) {// chord string -ийг задлах алгоритм int ledNumber = int (chord - '0') + (3 - i) * 12 - 1; // дээрх хэлэлцүүлгийг үзнэ үү (3-i) нь индексийн зурвасыг буцаах явдал юм.setPixelColor (ledNumber, 0, 125, 125); // setPixelColor (ledNumber, улаан утга, ногоон утга, цэнхэр утга)}}

If мэдэгдэл нь унтраасан эсэхийг шалгадаг. Хэрэв тийм биш бол chord тэмдэгтийн ascii утгыг авч, '0' -ийн ascii утгыг хасч ledNumber -ийг асаах болно.

strip бол Adafruit_NeoPixel ангийн жишээ юм. SetPixelColor функц нь тооцоолсон пикселийн өнгийг (энэ тохиолдолд (0, 125, 125) дээр тогтоодог.

Алхам 20: Гүйлгэх мессежийг хэрхэн харуулах вэ

Гүйлгэх мессежийг хэрхэн харуулах вэ
Гүйлгэх мессежийг хэрхэн харуулах вэ

Тиймээс бидэнд 12х4 хэмжээтэй LED диод байдаг … яагаад үүнийг санамсаргүй гэрлийн загвараас өөр зүйлээр харуулахгүй байгаа юм бэ!

Эхний асуудал бол дэлгэцийн өндөр (4) нь Uke -ийн мөрүүдийн тооноос шалтгаалан хязгаарлагдмал байгаа явдал юм. Хэвтээ гүйлгэх нь ихэвчлэн унших боломжгүй боловч босоо чиглэлд босоо чиглэлд ажиллах 4 х 5 тэмдэгтийг дэмжих боломжтой.

Тэмдэгтүүдийг "босоо" таван мөр болгон зохион байгуулна гэдэг нь хоёр тэмдэгтийг нэгэн зэрэг харуулах боломжтой бөгөөд тэмдэгт бүрийн хооронд нэг мөр зай гаргах боломжийг олгодог.

Хэцүү байдал нь 4х5 хэмжээтэй стандарт тэмдэгт байхгүй байсан явдал юм. Би хавсаргасан хүснэгтийг ашиглан өөрөө хийсэн. Би мөр бүрийг нэг зургаан өнцөгт утгад оноосон (аль пикселийг асаах, унтраахыг харуулсан 4 бит). Таван зургаан өнцөгт утгын хослол нь тэмдэгт үүсгэдэг (жишээ нь "0" нь 0x69996).

Тэмдэгт бүрийн утгыг массив хэлбэрээр ASCII дарааллаар хадгална. Тэмдэгтийн багц нь тодорхой үсгээр зарим буулт хийдэг боловч ихэнх нь ойлгомжтой байдаг. (Хүснэгтийн доод хэсэгт бичсэн бичээсүүд нь миний тоглож байсан санаанууд юм, учир нь бид өнгөний сонголттой байдаг тул бид дүрд "гүн" нэмж, нэмэлт нарийвчлал авах боломжтой.

Үзүүлэх мөр нь зурвасын хувьсагч, мессежэнд агуулагдсан болно.

Тэмдэгтийн дэлгэцийг илэрхийлэхийн тулд буфер үүсгэнэ. Би орчуулсан зурвасын дарааллыг агуулсан том буфер үүсгэж болох байсан гэж бодож байна, ялангуяа ихэнх мессеж 20 тэмдэгтээс бага байх болно. Гэсэн хэдий ч би оронд нь гурван тэмдэгт (18 байт) хэмжээтэй буфер үүсгэхийг сонгосон. Дүрүүдийн зөвхөн хоёрыг л идэвхтэй харуулдаг бөгөөд гурав дахь нь урагшаа харж, дараагийн тэмдэгтийг ачаалдаг. LED мөр (үүнийг том ээлжийн бүртгэл гэж бодоорой) нь мөрийн 48 битээр ачаалагдсан байдаг. Үүнийг ойлгоход хялбар болгохын тулд би санах ойн зайгаа үрсэн. Хөмсөг бүр өөрийн санах ойн байршлыг олж авдаг бөгөөд энэ нь санах ойн шаардлагыг хоёр дахин нэмэгдүүлдэг боловч буферийн хэмжээг тийм ч сайн тооцдоггүй.

Гаралтын индекс (заагч) тэмдэгтийн хязгаарт хүрэх үед буферыг дараагийн тэмдэгтээр ачаална (outputPointer 5, 11, эсвэл 17).

Буферийг ачаалахын тулд бид "message" дэх эхний тэмдэгтийг ASCII утга болгож аваад 48 -ыг хасаад asciiFont массив дахь индексийг авна. Энэ индексийн утгыг codedChar дээр хадгална.

Зурвасын эхний хэсэг нь LED 47, 35, 23, 11 (дэлгэцийн доод талд) харгалзана. Тэг тэг 0x0F999F тооны хувьд F (зүүн талд) эхний, 9 секунд гэх мэтээр шилждэг.

Дараагийн тэмдэгтийг хөхний толгой бүрийг далдалж, баруун тийш шилжүүлснээр ачаална. Дээрх жишээний хувьд алгоритм нь (0x0F999F & 0xF00000) >> 20, дараа нь (0x0F999F & 0x0F0000) >> 16 гэх мэтийг өгдөг.

int индекс; if (outputPointer == 17 || outputPointer == 5 || outputPointer == 11) {char displayChar = message.charAt (messagePointer); // зурвасын эхний тэмдэгтийг авах codedChar = asciiFont [displayChar - 48]; if (displayChar == 32) codedChar = 0x000000; messageBuffer [bytePointer+5] = байт ((codedChar & 0xF00000) >> 20); // сүүлчийн хазайлтаас бусад бүгдийг маск хийж, 20 (гэх мэт) дээр шилжүүлээрэй messageBuffer [bytePointer+4] = байт ((codedChar & 0x0F0000) >> 16); // энэ нь санах ойн байршил бүрт нэг nibble байрлуулах ёстой messageBuffer [bytePointer+3] = байт ((codedChar & 0x00F000) >> 12); // зургаа нь бүгд тэмдэгтийн зурвасыг төлөөлдөгBuffer [bytePointer+2] = байт ((codedChar & 0x000F00) >> 8); messageBuffer [bytePointer+1] = байт ((codedChar & 0x0000F0) >> 4); messageBuffer [bytePointer] = байт ((codedChar & 0x00000F)); if (bytePointer == 0) {// bytePointer дээрх тойргийг зохицуулна bytePointer = 12; } өөр {bytePointer -= 6; // бид доороос дээш дүүргэж байна; ТАЙЛБАР: Үүнийг хялбарчилж байгаа эсэхийг харахын тулд үүнийг буцаах хэрэгтэй. } өөр {messagePointer += 1; // дараагийн тэмдэгт рүү шилжих}}

Буферийг ачаалсны дараа гаралтын заагч хаана байгааг хянаж, LED мөрийг зөв 48 битээр (одоогийн 4 ба өмнөх 44) ачаалах шаардлагатай болно. Өмнө дурьдсанчлан strip нь NeoPixel ангиллын жишээ бөгөөд setPixelColor нь пиксел бүрийн өнгийг (RGB) тохируулдаг. Show () функц нь дэлгэцийн утгыг LED мөр рүү шилжүүлдэг.

// буферийг тасралтгүй шилжүүлэхийн тулд давталт хийнэ

// давталт дамжих бүрт бүх зурвасыг бичихийг хүсч байна, зөвхөн эхлэх байрлал өөрчлөгдөнө (int row = 12; row> 0; row--) {index = outputPointer + (12-мөр); хэрэв (индекс> 17) индекс = outputPointer+(12 мөр) -18; // давталт (int багана = 4; багана> 0; багана--) {strip.setPixelColor (uint16_t (12*(багана-1)+(мөр-1)), uint8_t (RedLED*(bitRead (messageBuffer [index], багана-1))), uint8_t (GreenLED*(bitRead (messageBuffer [index], багана-1))), uint8_t (BlueLED*(bitRead (messageBuffer [индекс], багана-1)))); // байршил бүрт LED нь асдаг, хэрэв бит нь нэг бол}} // outputPointer нь дэлгэцийн мөрөнд байгаа хамгийн бага байтыг заана, хэрэв (outputPointer == 0) outputPointer = 17; else outputPointer -= 1; strip.show (); }

Алхам 21: Укулелийн гайхамшигтай байдгаараа дэлхийг гайхшруулаарай

Image
Image

Ukulele -ийн эцсийн загварыг гаргахад 6 сар орчим хугацаа шаардагджээ.

Сурах олон шинэ технологи, магадгүй мод боловсруулах, хөгжмийн онолыг эхлүүлэх болно!

Дараагийн хувилбарт юу хийх вэ?

  1. Дэлгэц болон эргэдэг кодлогчоос сал. Тэдгээрийг arduino -д залгагдсан Bluetooth модулаар солино уу. Үүнийг утас эсвэл таблет ашиглан алсаас удирдах боломжтой. Bluetooth -ийн тусламжтайгаар бүх зүйл илүү дээр юм.
  2. Аккордын хэв маягийг бодит цаг хугацаанд алсаас шинэчлэх. Аппликешнд хамгийн сайн үлдсэн зүйл.
  3. LED бүрхүүл. Одоогийн хувилбар нь LED нүх рүү орохоос урьдчилан сэргийлэхийн тулд юу ч хийдэггүй. Найз маань хэд хэдэн жижиг линз хийсэн боловч би түүнийг хэрхэн зөв байрлуулахыг нь олж чадаагүй юм.
  4. Хажуугийн тавцангийн өөр материал, хэрвээ хашлага барьж байх үед тодорхой зүйл байж магадгүй юм.
  5. Илүү их гэрэл! Илүү олон "мөр" нэмэх замаар текст дээрх хязгаарлалтыг арилга. Энэ нь үнэхээр самбарын хэмжээ болон LED их биеэс үүдэлтэй хязгаарлалт юм.

Дахин хэлэхэд, текстийг гүйлгэхийн тулд миний үүсгэсэн дүрүүдийн багцыг тайлбарласан Instructable хамтрагчийг үзнэ үү.

Өдий зэрэгтэй яваа танд маш их баярлалаа! Махало!

Зөвлөмж болгож буй: