Агуулгын хүснэгт:
- Алхам 1: Зорилго
- Алхам 2: Материал
- Алхам 3: Урьдчилан кодлох: Микро: битээ холбоно уу
- Алхам 4: Алхам 0: Кодын урсгал
- Алхам 5: Алхам 1: Хувьсагчийг тодорхойлох
- Алхам 6: Алхам 2: Хазайлтын утгыг түвшин болгон хөрвүүлэх
- Алхам 7: Алхам 3: Хазайлтын түвшинг эмхэтгэх
- Алхам 8: Алхам 4: LEDPlotList функцийг бичнэ үү
- Алхам 9: Алхам 5: Кейс бүрийн хувьд LED матрицыг зур
- Алхам 10: Алхам 6: Калибровк хийх функцийг бичнэ үү
- Алхам 11: Алхам 7: Улсын функцийг бичих
- Алхам 12: Алхам 8: Бүгдийг хамтад нь оруулах 1 -р хэсэг
- Алхам 13: Алхам 9: Бүгдийг нэгтгэх 2 -р хэсэг
- Алхам 14: Алхам 10: Чуулган
- Алхам 15: Эх сурвалж
Видео: Цахилгаан сүнсний түвшинг бий болгох: 15 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Энэхүү сүнсний түвшинг ашиглан хавсаргасан аливаа зүйлийн хазайлтыг хурдан бөгөөд хялбархан харуулаарай!
Raffles Institution -ээс Kaitlyn бүтээсэн.
Алхам 1: Зорилго
Налууг микро: битийн хурдасгуураар уншиж сурах.
Micro: bit -ийн 5х5 хэмжээтэй LED дэлгэцтэй ажиллаж сураарай!
Алхам 2: Материал
1 x BBC микро: бит
1 x Micro USB кабель
2 x АА батерей
1 x Давхар АА батерейны багц
Алхам 3: Урьдчилан кодлох: Микро: битээ холбоно уу
- Бичил USB кабель ашиглан BBC micro: bit -ийг компьютерт холбоно уу.
- Makecode.microbit.org дээрээс micro: bit -ийн JavaScript засварлагч руу нэвтэрнэ үү.
Алхам 4: Алхам 0: Кодын урсгал
Кодыг бичиж эхлэхээсээ өмнө бид програмаар юунд хүрэхийг хүсч байгаагаа, бүрэлдэхүүн бүр ямар дарааллаар ажиллах ёстойг шийдэх хэрэгтэй.
Цахилгаан спиртийн түвшний хувьд давталт бүрийн кодонд хийх алхамууд нь:
- Хазалтын уншилтыг хурдасгуураас уншина уу.
- LED матриц дээр харуулахын тулд хазайлтын уншилтыг хазайлтын түвшинд шилжүүлээрэй.
- Өмнөх давталтын хазайлтын түвшний уншилт өөрчлөгдсөн эсэхийг шалгана уу.
- Янз бүрийн хазайлт ба чиглэлд зориулж LED координатын массив үүсгэнэ.
- LED координатыг микро: битийн LED матриц дээр байрлуул.
Бидний оруулах ёстой хэд хэдэн нэмэлт функцууд:
- Эхний хазайлтын байрлалыг тохируулах.
- Анхдагч хазайлтын шалгалт тохируулга руу буцаж байна.
Алхам 5: Алхам 1: Хувьсагчийг тодорхойлох
Бид зураг дээр үзүүлсэн шиг шаардлагатай хувьсагчдыг тодорхойлж эхэлдэг. Хэд хэдэн хувьсагчийн задаргааг дараах байдлаар харуулав.
- tiltList: 0-4 утгуудын хазайлтын хэмжээг [Зүүн, Баруун, Урагш, Арагш] дарааллаар хадгалдаг массив
- tiltBoundary: 0 (хазайлтгүй) ба 1 (бага зэрэг хазайлт) хоорондох эхний хазайлтын түвшний хил
- prevState: Өмнөх давталтын бичил: битийн хазайлтын утгыг tiltList -тэй ижил форматаар хадгалдаг, давталтын хоорондох хазайлтын өөрчлөлтийг шалгахад ашигладаг массив
- ledPlotList: Лед координатын массивуудыг (x, y) хэлбэрээр зурна. Массивыг тодорхойлохын тулд бид төрөл дугаар ашиглан төрөл: хувьсагчийн үүрлэсэн массивыг заана.
Алхам 6: Алхам 2: Хазайлтын утгыг түвшин болгон хөрвүүлэх
5x5 LED матриц нь зөвхөн маш их мэдээлэл харуулдаг тул хазайлтын бодит утга нь дэлгэцэнд ашиггүй болно.
Үүний оронд tiltExtent () функц нь акселерометрийн хазайлтын утгыг илэрхийлдэг num параметрийг авч, эдгээр хазайлтын утгуудыг (num) 0 -ээс 4 хүртэл хазайлтын түвшинд хөрвүүлнэ.
0 нь өгөгдсөн чиглэлд хазайлт байхгүй, 4 нь маш том хазайлтыг илэрхийлдэг бол алдаа гарсан тохиолдолд -1 буцаана.
Энд tiltBoundary ба tiltSensitivity -ийг хазайлтын түвшин хоорондын хилийн утга болгон ашигладаг.
Алхам 7: Алхам 3: Хазайлтын түвшинг эмхэтгэх
CheckRoll () ба checkPitch () гэсэн хоёр функц нь tiltExtent () -ээс олж авсан хазайлтын түвшинг тус тусдаа өнхрөх (зүүнээс баруун тийш) болон давирхай (урагш хойш) тэнхлэгийн хувьд tiltList болгон бичнэ.
Хазайлтын утгыг ашиглахаасаа өмнө бид дараа нь бичсэн шалгалт тохируулгын функцээс олж авсан давирхай (zeroPitch) ба өнхрөх (zeroRoll) хоёуланг нь тэглэсэн утгыг ашиглан шалгалт тохируулга хийдэг.
Акселерометрийн уншилт нь зүүн болон урагш хазайхад сөрөг байдаг тул бид Math.abs () функцийг ашиглан tiltExtent () функцэд өгөх сөрөг утгын модулийг эдгээр хоёр чиглэлд параметр болгон авах хэрэгтэй.
Алхам 8: Алхам 4: LEDPlotList функцийг бичнэ үү
TiltList -ийн хазайлтын түвшинг олж авсны дараа бид үүсч болох янз бүрийн тохиолдлуудад зориулагдсан график зурах функцийг бичиж болно.
- plotSingle (): Параметр болгон өгөгдсөн чиглэлд хазайлтын хэмжээг харгалзан зөвхөн нэг чиглэлд хазайлгана.
- plotDiagonal (): Параметр болгон аль ч чиглэлд хазайлтын хэмжээг харгалзан ижил хэмжээтэй хоёр чиглэлд хазайлгана.
- plotUnequal (): Янз бүрийн хэмжээтэй хоёр чиглэлд хазайлгах ба чиглэл бүрт хазайлтын хэмжээг параметр болгон авна. Эхлээд plotDiagonal () ашигладаг бөгөөд дараа нь ledPlotList массив дээр нэмдэг.
Эдгээр диаграмын функцууд нь ledPlotList -д LED координатын массивыг бичээд дараа нь зурна.
Алхам 9: Алхам 5: Кейс бүрийн хувьд LED матрицыг зур
4 -р алхам дээрх гурван тохиолдлын диаграмын функцийг ашиглан одоо налуу түвшний янз бүрийн хослолуудын хувьд бодит LED матрицыг зурж болно. 4 -р алхам дээрх гурван функц нь чиглэлийг ялгадаггүй тул LED -ийг зөв чиглэлд байрлуулахын тулд LED матрицад дамжуулсан координатын утгыг тохируулах шаардлагатай байна.
PlotResult () нь хазайлтын төрлийг шалгаж, LED.plot (x, y) ашиглан LED матрицыг зохих ёсоор зурах нөхцлүүдийг агуулдаг. Хазайлтын боломжит хослолууд нь:
Ганц чиглэл: Зөвхөн зүүн эсвэл баруун
Нэг чиглэл: Зөвхөн урагш эсвэл зөвхөн урагш
Хоёр чиглэл: Урагш-зүүн эсвэл Арагш-зүүн
Хоёр чиглэл: Урагш-баруун эсвэл Арагш-баруун
Тэмдэглэл: Хоёр чиглэлд хазайлгахын тулд хослол бүр ижил эсвэл өөр хэмжээтэй байж болно (maxX ба maxY -ийг харьцуулж шалгана).
Алхам 10: Алхам 6: Калибровк хийх функцийг бичнэ үү
Кодын ихэнх хэсгийг дуусгасны дараа бид calibTilt () болон resetTilt () функцуудыг нэмж оруулав.
calibTilt () нь хэрэглэгчдэд micro: bit -ийн одоогийн байрлал дахь хазайлтыг тэг болгож тааруулах боломжийг олгодог
resetTilt () нь самбарын шалгалт тохируулгыг анхны төлөвт нь буцаана.
Алхам 11: Алхам 7: Улсын функцийг бичих
Бид хазайлтын түвшин өмнөх давталтаас өөрчлөгдсөн эсэхийг шалгахын тулд checkState () функцийг нэмж өгдөг.
Хэрэв өмнөх давталтаас хазайлтын түвшин өөрчлөгдөөгүй бол stateChange == 0 байвал бид дараагийн давталт руу шууд шилжиж, LED матрицын диаграмыг алгасаж, шаардлагатай тооцооллыг бууруулж болно.
Алхам 12: Алхам 8: Бүгдийг хамтад нь оруулах 1 -р хэсэг
Одоо бид шаардлагатай бүх функцийг эцэс төгсгөлгүй давтан ажиллуулахын тулд micro: bit -ийн хязгааргүй гогцоонд байрлуулж болно.
Нэгдүгээрт, бид micro: bit товчлуурыг calibTilt () ба resetTilt () функцуудыг input.onButtonPressed () ашиглан тохируулж, шалгалт тохируулга дууссаны дараа LED матриц дээр тэмдэг тавина.
Алхам 13: Алхам 9: Бүгдийг нэгтгэх 2 -р хэсэг
Дараа нь 0 -р алхам дахь кодын урсгалын дагуу шаардлагатай функцуудыг ажиллуулж төлөв байдлын өөрчлөлтийг шалгана уу (сүүлийн давталтаас хойш micro: bit -ийн хазайлт өөрчлөгдсөн гэсэн үг).
Хэрэв хазайлтын түвшин өөрчлөгдсөн бол stateChange == 1 байвал код нь prevState -ийг шинэ хазайлтын түвшинд шинэчилж, дараагийн давталтын хувьд stateChange -ийг буцааж 0 болгож, PlotResult () ашиглан LED матриц дээр шинэ хазайлтын түвшинг зурна.
Алхам 14: Алхам 10: Чуулган
Дууссан кодыг өөрийн микро: бит рүү шарна уу.
Микро: бит болон батерейны хайрцгийг ямар ч объектод найдвартай холбож, ашиглахад бэлэн боллоо!
Гайхалтай
Цахилгаан сүнснийхээ түвшинг сайхан өнгөрүүлээрэй! Та үүнийг хийж байхдаа хазайлтын мэдрэгчийн чадавхийг өргөжүүлж, тоглоом болгон хувиргахыг оролдож яагаад болохгүй гэж?
Энэ нийтлэлийг TINKERCADEMY -ээс авсан болно.
Алхам 15: Эх сурвалж
Энэ нийтлэлийг:
Хэрэв танд ямар нэгэн асуулт байвал та [email protected] хаягаар холбоо барьж болно.
Зөвлөмж болгож буй:
Өөрийн хувьсах лабораторийн вандан цахилгаан хангамжийг бий болгох: 4 алхам (зурагтай)
Өөрийн хувьсах лабораторийн вандан цахилгаан хангамжийг бий болгох: Энэхүү төсөлд би 130W хүчирхэг Step Up/Step Down хөрвүүлэгч LTC3780 -ийг 12V 5A тэжээлийн хангамжтай хэрхэн тохируулж лабораторийн вандан тэжээлийн үүсгүүрийг бий болгохыг харуулах болно. V-29.4V || 0.3A-6A). Компанийн хувьд гүйцэтгэл нь маш сайн
Dead Mobile -ийн батерейг ашиглан наранд суурилсан цахилгаан банкийг хэрхэн яаж бий болгох вэ: 4 алхам
Dead Mobile -ийн батерейг ашиглан наранд суурилсан цахилгаан банкийг хэрхэн яаж бүтээх вэ: Энэхүү төсөл нь гар утасны үхсэн батерейг ашиглан гэртээ ажилладаг нарны гэрэлтэй цахилгаан банк юм. Бид ижил схемтэй гар утасны батерейтай тэнцэх аливаа батерейг ашиглаж болно. Нарны хавтан нь батерейг цэнэглэх бөгөөд бид батерейны хүчийг цэнэглэх боломжтой
Гитарын дөрөөнд зориулж цахилгаан хангамж бий болгох: 7 алхам (зурагтай)
Гитарын дөрөөнд зориулж цахилгаан хангамж үүсгээрэй: ЧУХАЛ ТАЙЛБАР: ЦАХИЛГААН АЮУЛТАЙ! ЭНЭ ТӨСӨЛИЙГ ЦАХИЛГААН ЦАХИЛГААН ХӨДӨЛГӨӨРИЙН АЖИЛЛАГААНЫ ТУХАЙ МЭДЛЭГ, АЮУЛГҮЙ БОЛОВСРОЛГҮЙ БОЛОХГҮЙ! Энэ нь чамайг алж, үхүүлж чадна! ЦАХИЛГААН ЭРЧИМ ХҮЧНИЙГ ХЭРЭГЖҮҮЛЭХ ГЭРИЙН ЦАХИЛГААН БҮТЭЭГДЭХҮҮД БОЛОХГҮЙ
Оюун санааны хяналтыг бий болгох гипноз Мөрөөдлийн машиныг хямд болгох: 7 алхам
Оюун санааны хяналттай гипнозын мөрөөдлийн машиныг хямд болгох: Энэ бол үндсэндээ хэд хэдэн нэмэлт функц, зарим ажилтай Flash Nap төсөл юм. Энэ нь бас "Light/Sound" гипнозын машинуудын хамгийн бага хувилбар бөгөөд хэдэн зуун долларын үнэтэй боловч хэрэв танд эд анги байгаа бол энэ машин хэдхэн долларын үнэтэй болно. ХӨТӨЛБӨРГҮЙ
DSLR -ийн гэрэл асаах камерын түвшинг хэрхэн яаж бий болгох вэ: 4 алхам (зурагтай)
DSLR -ийн гэрэлтүүлгийн камерын түвшинг хэрхэн яаж бий болгох вэ: Та гэрэл багатай нөхцөлд буудаж, зураг авалтаа тааруу байгааг анзаарч байсан уу? За, мэдээж надад байна! Би сүүлийн үед урт хугацааны гэрэл зургийн чиглэлээр маш их ажил хийж байгаа бөгөөд гориллапод ашиглан хээр гарч байхдаа өөрийгөө зугтааж байгааг олж харсан