Мазмуну:
- 1 -кадам: Бөлүктөрдү, шаймандарды жана жабдууларды чогултуу
- 2 -кадам: Каршылык көрсөтүү абдан маанилүү
- 3 -кадам: Код?
- 4 -кадам: Чип
- 5 -кадам: Switch жана Capacitor
- 6 -кадам: которуштуруу жана батарея кармагыч
- 7 -кадам: LED
- 8 -кадам: Аны текшерип көрүңүз
- 9 -кадам: Убакыт айлануу
- 10 -кадам: Бул революциябы?
- 11 -кадам: Баланстоо актысы
- 12 -кадам: Сиз ыкчамсыз
- 13 -кадам: Бирок күтө туруңуз, дагы бар.
- 14 -кадам: Кредиттер жана акыркы ойлор
Video: Geek Spinner: 14 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Фиджет спиннерлери кызыктуу, жана сиз бул күндөрү каалаган эсептегичтен бир нече долларга таба аласыз, бирок сиз өзүңүз куруп алсаңызчы? Жана анын светодиоддору бар беле? Жана сиз каалаганыңызды айтуу же көрсөтүү үчүн аны программалай аласызбы? Эгер бул укмуштуудай угулса, бул сиз үчүн проект.
Мен ар дайым балдарды программалоого кызыктыруу үчүн жаркыраган диоддорду колдонууга кызыкчумун. Arduino микроконтроллери бар эң жөнөкөй долбоор - бул LEDди күйгүзүү жана өчүрүү. Андан кийин, сиз аларды LED күйүп турганга чейин канчалык тез күйүп кете тургандыгын көрөсүз (болжол менен 12 миллисекунд аралыкта). Андан кийин сиз LEDди ары -бери чайкасаңыз, анын кайра жаркырап турганын көрө аласыз! Бул кубулуштар "көрүнүштүн туруктуулугу" (POV) деп аталат жана бул долбоор кандай иштейт. Бул көздүн кантип иштээрин жана компьютерлердин укмуш ылдамдыгын талкуулоого алып келиши мүмкүн.
Бул долбоордо программалануучу 8-биттик микроконтроллер, сегиз LED жана монета клеткасы колдонулат. Ал скейтборддун стандарттуу подшипнигин колдонуп айланат жана айланууну аныктоо үчүн Холл эффекти сенсорун жана магнитти колдонот. Бул башталгычтарга ыңгайлуу тешикчелердин жардамы менен жасалган жана Arduino программалоо чөйрөсүн колдонуп программаланышы мүмкүн. Сүйлөшүү жетиштүү, келгиле…
1 -кадам: Бөлүктөрдү, шаймандарды жана жабдууларды чогултуу
Курулуштун жарымынан өтүү жана бир нерсеңизди жоготуп алуу дайыма көңүлдү чөктүрөт. Бул мен аракет кылган жана жакшы иштеген бөлүктөр. Өз тобокелчилигиңизге алмаштырыңыз:
Билл материалдары =================
- 1 ea, Purple PCB, мээримдүү түрдө OSH Park тарабынан АКШда өндүрүлгөн
- 1 эа, Аттини 84, Atmel ATTINY84A-PU,
- 1 эа, тийүү которгуч, TE 1825910-6,
- 1 ea, Slide Switch SPDT аркылуу Hole, C&K JS202011AQN,
- 1 еа, Батарея кармагыч, Linx BAT-HLD-001-THM,
- 8 ea, 3mm Red LED 160 Mcd, Wurth 151031SS04000,
- 8 ea, 330 ohm 1/8W, Stackpole CF18JT330R,
- 1 ea, 0.1 uF капкак, KEMET C320C104M5R5TA,
- 1 эа, Магниттик которгуч, Melexis MLX92231LUA-AAA-020-SP,
- 1 ea, 608 Skateboard Bearing,
- 1 еа, кичинекей сейрек кездешүүчү магнит 2мм 1мм,
- 2 дана, 3D басылган капкактар (STL файлы тиркелет).
- 1 еа, CR2032 батареясы, Panasonic BSP же эквиваленти,
Куралдар жана жабдуулар: Менин семинарларым үчүн, пинцеттен башка сизге керектүү нерселердин баары бар SparkFun's Beginner's ToolKit колдоном:
- Кандооч.
- SolderWire
- Кыркылган плейерлер (мен 5 долларлык Hakko CHP170ди жакшы көрөм!)
- Түшүн өчүрүү өрүмү
- Супер клей
Аттинини программалоо (4 -кадам, эгер сиз муну комплект катары сатып алсаңыз, талап кылынбайт):
-
Arduino (арзан кытай клондорунан алыс болуңуз жана АКШнын ачык булак өндүрүштөрүн колдоңуз).
- SparkFun Redboard
- Адафрут метросу
- Arduino UNO
- AVR программалоо калканы.
- Pogo адаптери (эгер чип орнотулган болсо).
- Uno үчүн стандарттуу USB A-B, Redboard үчүн USB Mini же Metro үчүн USB Micro.
Бул долбоор үчүн комплект Tindie.com сайтында бар (минус батарея). Комплектти сатып алуу сизге бир нече башка сатуучулардан заказ берүүнүн убактысын жана чыгымын үнөмдөйт жана минималдуу PCB заказ премиясынан качат. Ошондой эле, Аттинини программалоо анча деле маанилүү эмес, эгерде сиз комплектти сатып алсаңыз, ал мурунтан эле программаланган болот. Сиз мага семинарларда башка долбоорлорду иштеп чыгууга жана бөлүшүүгө жардам бересиз!
2 -кадам: Каршылык көрсөтүү абдан маанилүү
Сизде комплект куруу тажрыйбасы бар деп ойлойбуз. Эгерде сизге кандайдыр бир жардам керек болсо, www.sparkfun.com/tutorials/213 дарегине өтүңүз же Geek Girlдун https://www.youtube.com/embed/P5L4Gl6Q4Xo дарегиндеги түшүндүрмөсүн көрүңүз. Менде дагы башталгычтар үчүн ылайыктуу комплект бар
Мага резистордон баштоо жагат, анткени а) алар салыштырмалуу ысыкка чыдамдуу, сиз ширетүүчү оюгуңузга кирип жатасыз жана темир темп -рага чейин келе жатат, б) аларда полярдык жок, ошондуктан ориентациясы анча маанилүү эмес жана в) алар борттогу эң төмөнкү компонент, ошондуктан ширетүүдө бекем отуруңуз. Светодиоддордун ар бирине бирден 330-Ом ток чектөөчү резисторлор бар. Сиз бирден жасай аласыз, же сегизин бирден жасай аласыз.
- Өткөргүчтөрдү жаздыктардын туурасына бүгүп, резисторду салыңыз.
- Тактайды оодарып, коргошундарды ээрчиңиз.
- Бийиктиги кесилген жерлер менен кыркыңыз.
- Эгер алар сиздин геик досторуңузду таң калтырышын кааласаңыз, аларды темир менен дагы бир жолу басыңыз.
3 -кадам: Код?
Эгерде сиз менин комплектти сатып алган болсоңуз, анда чип алдын ала программаланган жана кийинки кадамга өтүп кетиши мүмкүн.
Ооба, бул долбоорго кандайдыр бир код керек. Ал эми, эгер сиз көңүл буруп жатсаңыз, 1 -кадамда мен сизге Attini программалоо анча деле маанилүү эмес экенин айткам. Мен Arduino колдоном, бул программалоо чөйрөсү, менин AVR программистим жана пого пин джиг.
Чипти жерде ширетүүдөн мурун программалоого болот (фото 2), же ПХБнын ылдый жагындагы ISPтин башын колдонуу менен солго коюлгандан кийин (сүрөт 3). Кандай болбосун, программалоо төмөнкүдөй:
- Arduino программалоо чөйрөсүн жүктөп алыңыз.
-
Attiny 85 үчүн колдоону орнотуңуз:
- https://highlowtech.org/?p=1695 (Arduino Tiny)
- https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
- "Arduino ISP эскизин" жүктөп бериңиз: [File] -> [Examples] -> [Arduino as ISP].
- AVR Programming Shield тиркелип, Attiny84 абалына лента кабелин салыңыз
- Pogo адаптерин колдонуп жатсаңыз, аны тактанын провайдеринин башына жайгаштырыңыз. Оң жана терс блокноттор белгиленген, андыктан баштыкты туура багытта аласыз.
- Эгерде чипти колдонуп жатсаңыз, аны USB туташтыргычына карай пин менен киргизиңиз.
-
Туура чипти тандаңыз:
- Arduino Tiny: "Attiny 84 @ 8 Mhz"
-
Attiny Core: "Attiny 24/44/84"
- Чип "Attiny 84"
- 8 МГц (Ички)
- "Сааттын жебесине каршы" картага түшүрүү
- Программистти тандаңыз, [Куралдар] -> [Программист] -> [ISP катары Arduino]
- Программалоо сактандыргычтарын орнотуңуз, [Куралдар] -> [Burn Bootloader]
- Тиркелген эскизди жүктөңүз, [Файл] -> [Программист аркылуу жүктөө]
Мен алган каталардын эң чоң булагы, казыктардын туура тегизделбегендигинде.
4 -кадам: Чип
Эми сиздин чипте код бар, аны орното аласыз. DIP ("кош катарлуу пакет") микросхемасынын багыты, адатта, бул жердегидей эле, бирөөнү туташтырган тешик менен же чиптин учунда бир пин бар.
- Түз жерлерди 90 градуска чейин бүгүңүз (1 жана 2 -сүрөттөр).
- Чипти PCBдеги символго тууралап, чипти салыңыз (фото 3).
- Карама -каршы тарапка бир пин туташтырыңыз жана чиптин ПХБга каршы жалпак экенин жана багытынын туура экендигин текшериңиз. Ушундан кийин оңдоо абдан кыйын болуп калат. Бул боюнча мага ишен.
- Туура экенине ынангандан кийин, калган төөнөгүчтөрдү ээрчитип, анан тегиз кылып кесиңиз.
5 -кадам: Switch жана Capacitor
Баскыч баскычы ICнин жанына, ал эми экинчи жагында конденсатор.
- Баскычты ордуна коюңуз (анын туура багытта экенин текшериңиз).
- Аны ордуна коюңуз.
- Арткы жагындагы учтарды кысыңыз.
Конденсатордун ориентациясы жок, бирок эгерде сиз жазуу жагын сыртка чыгарсаңыз, анда сиздин досторуңуз сиз колдонгон бааны билишет.
6 -кадам: которуштуруу жана батарея кармагыч
Которуу деңгээли менен сыртты карайт. Башка нерселер сыяктуу эле, эки төөнөгүчтү ээрчитип, анын тегиз отурганын текшериңиз, анан калганын ширетип коюңуз.
Батарея кармагычтын багытын көрсөтүү үчүн маркировкасы бар, бирок чындыгында мааниси жок. Бирок, ал кадимки коргошундарга караганда бир аз көбүрөөк жылуулукту талап кылат жана батарейканы кармап туруу үчүн анын тегиз отурганына ынангыңыз келет (сүрөт 4).
7 -кадам: LED
Жок дегенде бир LED камтыбаган татыктуу долбоор жок. Бул сегизге ээ!
Узун коргошун оң (анод). Жибек экранда "+" белгиси бар, жана жаздык төрт бурчтуу. Эгерде сиз бардык сегизди бир убакта жасай турган болсоңуз, анда бардык багыттар туура экенине ынануу үчүн аларды кармап туруңуз.
- Ар бир светодиоддо бирден коргошун.
-
Багытын жана алардын тегиз отурганын текшериңиз (3 -сүрөт).
Эгерде алар андай болбосо, анда колуңуз менен капкакты басыңыз жана коргошун позициясына түшкөнчө кайра жылытыңыз (сүрөт 4)
- Калганын ширетүү.
- Жетектерди кысыңыз.
8 -кадам: Аны текшерип көрүңүз
Бул учурда, биз дагы эле Светодиоддорду текшерип, өчүрө алабыз:
- Батарейканы оң жагы менен сыртка салыңыз.
- Спиннерди күйгүзүңүз, андан кийин бардык (үмүт менен) LEDлер күйгүчө баскычты басыңыз (видеону караңыз).
- Айлангычты айлантып, үлгүсүн көрүңүз. Эгерде светодиод күйбөсө, ал артка орнотулган же жылуулуктан жабыркаган болушу мүмкүн. Аны эритип, жаңысын салыңыз.
Мүчүлүштүктөрдү оңдоо:
-
Эгерде светодиод жок болсо:
- Батареяңыздын жакшы жана туура багытта экенин текшериңиз.
- Сиз чипиңизди программаладыңызбы? Бул туура багыттабы? Күн ысый баштадыбы?
- Светодиоддор туура багытталганбы? Аларды сынап көрүү үчүн монетанын уячасын жетектелген ширетүүчү муундар аркылуу колдоносузбу?
-
Эгерде светодиод жаркырабаса, анда:
- LEDдеги ширетүүчү жерлерди текшериңиз.
- Аттинидеги ширетүүчү жерлерди текшериңиз.
- Баары ишке ашпай калса, алдыңкы жана арткы тараптын жогорку чечилиштүү сүрөттөрүн алып, комментарийлерде жардам сураңыз.
9 -кадам: Убакыт айлануу
Подшипник корпусту чоң жаздыкка ширетүү менен кармалып турат. Бул чыдамдуулукту жана көп жылуулукту талап кылат:
- Подшипникти коюу үчүн катуу бетке тыйын сыяктуу нерсени колдонуңуз.
- Корпуста lehim агып жатканын көрмөйүнчө, подшипникти жана подшипниктин кабыгын жылытыңыз (бир аз убакыт талап кылынат).
- Башка тарапта кайталаңыз.
- Подшипниктин туура тегизделгенин ыргыткычты айлантуу аркылуу текшериңиз.
- Тактайды оодарып, экинчи жагында эки чекитти ээрчиңиз.
10 -кадам: Бул революциябы?
Жөн эле үлгүлөрдүн ордуна билдирүүлөрдү көрсөтүү үчүн, биз айлануучунун тегерекчеге карата абалын билишибиз керек. Биз Hall-эффект сенсорун жана магнитти колдонобуз. Бул күйүүчү кыймылдаткычтар эң күчкө ээ болуу үчүн учкунду качан күйгүзүүнү кантип билишине окшош. Бул иштөө үчүн сенсор менен магниттин багыты жана тегизделиши өтө маанилүү.
- Түзмөктүн бетиндеги жазуу жибек экранга дал келген подшипникке карайт (фото 1).
- Бийиктикти подшипниктин үстүнө тууралаңыз (капкактагы магнит турган жерде).
- Бир коргошун.
- Бийиктигин жана азыктуулугун текшериңиз.
- Калган сымдарды ээрчиңиз.
- Жетектерди кысыңыз.
Эгерде сиз Omni-pole сенсорун колдонуп жатсаңыз, анда магниттин багытын аныкташыңыз керек болот. Муну жасоонун эң жакшы жолу - бул мурунку кадамдагы үлгүдөн башка режимди орнотуу жана андан кийин магниттин LEDлеринин жарк этип башташын табуу (видеону караңыз). Магнитти сыртка караган тарап менен чаптаңыз. Жумушуңузду эки жолу текшериңиз.
11 -кадам: Баланстоо актысы
Эгерде сиз ийиргичти батарея менен горизонталдуу кармай турган болсоңуз, анда ал батарейянын ылдый жагына бурулганын көрөсүз. Компоненттерди баланстоодо болгон аракетиме карабай, ал дагы деле тең салмактуулукта эмес. Сиз гайканы жана болтту колдонуп, батарейканын эмес тарабына бир аз салмак кошсоңуз болот же подкладка бир аз ширетүүнү кошсоңуз болот.
12 -кадам: Сиз ыкчамсыз
Магнитиңиз жана сенсоруңуз бар, сиз Geek Spinnerдин укмуштуудайдыгын текшерүүгө даярсыз. Спинердин режими күйгүзүлгөн же баскычты баскандан кийин (D0 - D7) күйгүзүлгөн LED менен көрсөтүлөт. Режим баскычты басуу менен өзгөртүлөт (видеону караңыз).
int режимдери = 8; // жеткиликтүү режимдин саны
// 0 -> текст "Hello World!" // 1 -> RPM // 2 -> секунддагы убакыт // 3 -> айлануу саны // 4 -> айлануу саны (бардыгы) // 5 -> "lilly pad" үлгүсү // 6 -> 1 -форма (жүрөк) // 7 -> форма 2 (жылмайуу)
13 -кадам: Бирок күтө туруңуз, дагы бар.
"Жүрөк" жана "смайлик" үлгүлөрү сегиз сегменттин ар бир 5 градуска айлануусун көрсөтүү үчүн полярдык графиктин жардамы менен түзүлгөн.
Кол менен:
- Толук чечилиштеги сүрөттү түшүрүү жана басып чыгаруу (1-сүрөт).
- Сүрөттү жасоо үчүн блокторду толтуруңуз (2 -сүрөт).
-
Радиал боюнча, 0 баштап, байтты кара = 1, ак = 0 колдонуп эсептеңиз;
Жүрөктүн биринчи радиалы 1, 0, 0, 0, 0, 0, 0, 0, ошондуктан байт = 0b100000000;
- Бүткөнчө улантыңыз (кыйытма, эгер сиздин сүрөтүңүз симметриялуу болсо, жарымын гана жасоо керек).
- Байттарыңызды эскиздин "textAndShapes.h" бөлүмүнө "shape_1 " же "shape_2 " астына чаптаңыз.
Python колдонуу:
- Python орнотуу.
- Pythonдун Image китепканасын орнотуңуз.
- Тиркелген "readGraph.py" скриптин жүктөп алыңыз.
- Толук чечилиштүү сүрөттү түшүрүү (1-сүрөт).
- Сүйүктүү редакторуңузда сүрөттү ачыңыз (GIMP же MS Paint).
- Күйгүңүз келген сегменттерди толтуруу үчүн тандалган кара түс менен "Толтур" командасын колдонуңуз (2 -сүрөт).
- Сүрөттү "readGraph.py" скрипти менен бир каталогго сактаңыз жана ага дал келүү үчүн скрипттеги файлдын атын өзгөртүңүз:
im = Image.open ('heart.png')
Скриптти иштетип, чыгарманы эскиздин "textAndShapes.h" бөлүмүнө "shape_1 " же "shape_2 " астына кой
Кандай болбосун, комментарийлерде жаратууңузду (сүрөт жана код) бөлүшүүдөн тартынбаңыз!
14 -кадам: Кредиттер жана акыркы ойлор
Мен, албетте, мунун баарын өзүм ойлоп тапкан жокмун. Узак эмес.
- POV менен биринчи тажрыйбам Ник Сайердин POV Twirlie деп аталган долбоору менен болду: https://www.tindie.com/products/nsayer/pov-twirlie/. (Мен дагы пого адаптерин колдоном).
- "LED + Fidget spinner = POV" деген ой мээмде Techydiy's Instructable https://www.instructables.com/id/LED-FIDGET-SPINNER/ көргөндөн кийин пайда болду.
- Качан сизде сонун идея пайда болсо, кимдир бирөө буга чейин жасаган: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Surface Mounting soldering - бул мен кыла турган нерсе, бирок чындыгында башталгычтарга ылайыктуу эмес. Анын коду дагы менин башымдан бир аз ашып түштү, бирок мен анын RPM жана эсептөөлөрдү көрсөтүү жөнүндө ойлорун колдондум.
- Мен текстти көрсөтүү үчүн Reger-men's POV Clock кодунун үзүндүлөрүн түшүнө алдым жана колдондум:
Эч бир долбоор эч качан толук же кемчиликсиз болбойт. Мына мен алдыда бара жаткан кээ бир ойлор:
- Баланс: Маалымат баракчаларында компоненттердин салмагы жөнүндө маалымат сейрек кездешет, андыктан балансты жөн эле курбай туруп, болжолдуу божомол жасоо кыйын. Батарея, албетте, эң оор компонент. Мен салмактоо үчүн керек болгон салмакты кошо алам деп, ар бир учуна тешик коштум.
- Саат жебеси мененби? Эгер байкасаңыз, текст сааттын жебеси боюнча айлансаңыз гана туура көрсөтүлөт. Башка багытта айлануу күзгү сүрөттү жаратат. Экинчи Холл сенсорун же магнитти кошуу сизге айлануу багытын алууга мүмкүндүк берет (Шондун долбоору муну кылган).
- Түс? Программалануучу RGB LEDди колдонуу түстөрдү жасоого мүмкүндүк берет. Алар, адатта, жер үстүндө орнотулат.
Сунушталууда:
Автоматтык Twister Spinner: 7 кадам (Сүрөттөр менен)
Автоматтык Twister Spinner: "Twister." Бул командалаштарыңыз менен болгон мамилеңизди жакшырта турган физикалык чеберчилик оюну. Оюндун жеңүүчүсү болуу үчүн колуңуздан келишинче аракет кылып, татаал дирионаны ээрчип
Bulbasaur Succulent Spinner: 12 кадам (Сүрөттөр менен)
Bulbasaur Succulent Spinner: Бул көрсөтмөдө мен сизге Bulbasaur Spinning Succulent кантип жасоону көрсөтөм
Fidget Spinner генератору: 3 кадам (сүрөттөр менен)
Fidget Spinner Generator: FIDGET SPINNER GENERATOR Төмөнкү саптарда биз фиджет спиненерин, 3 неодим магнитин, синхрондуу мотордон өзөгү жок катушканы 230 В - A4 ламинаторлорунун жана микротолкундарынын ичинде кантип колдонуу керектигин көрсөтөбүз
LED Super Geek сандалы: 9 кадам (сүрөттөр менен)
LED Super Geek Sandal: Эгерде сиз биринчи жолу аракет кылып, кийинчерээк ойлонгон укмуштуу түрдөгү жаратуучу болсоңуз, түтүн кеткенде, сиз диоддорду ар кандай өлүмгө дуушар болгон жаракаттарды таба аласыз. Бул мини-проект начар LED диоддорун ортопедиялык жактан акылдуу түрдө кайра иштетүү жөнүндө болуп жатат
"Geek-ify" Сиздин Bluetooth гарнитураңыз: 5 кадам (сүрөттөр менен)
Сиздин Bluetooth гарнитураңыздын "Geek-ify": Бул Нускамада Bluetooth функционалдуу бойдон калып, ички дүйнөңүздү кантип ачуу керектиги көрсөтүлөт