Мазмуну:

Geek Spinner: 14 кадам (Сүрөттөр менен)
Geek Spinner: 14 кадам (Сүрөттөр менен)

Video: Geek Spinner: 14 кадам (Сүрөттөр менен)

Video: Geek Spinner: 14 кадам (Сүрөттөр менен)
Video: Апам түрмөгө кантип киргенмен Катя жана Макс Шайыр үй-бүлө Барби куурчактары күлкүлүү Серия жыйнагы 2024, Ноябрь
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Фиджет спиннерлери кызыктуу, жана сиз бул күндөрү каалаган эсептегичтен бир нече долларга таба аласыз, бирок сиз өзүңүз куруп алсаңызчы? Жана анын светодиоддору бар беле? Жана сиз каалаганыңызды айтуу же көрсөтүү үчүн аны программалай аласызбы? Эгер бул укмуштуудай угулса, бул сиз үчүн проект.

Мен ар дайым балдарды программалоого кызыктыруу үчүн жаркыраган диоддорду колдонууга кызыкчумун. Arduino микроконтроллери бар эң жөнөкөй долбоор - бул LEDди күйгүзүү жана өчүрүү. Андан кийин, сиз аларды LED күйүп турганга чейин канчалык тез күйүп кете тургандыгын көрөсүз (болжол менен 12 миллисекунд аралыкта). Андан кийин сиз LEDди ары -бери чайкасаңыз, анын кайра жаркырап турганын көрө аласыз! Бул кубулуштар "көрүнүштүн туруктуулугу" (POV) деп аталат жана бул долбоор кандай иштейт. Бул көздүн кантип иштээрин жана компьютерлердин укмуш ылдамдыгын талкуулоого алып келиши мүмкүн.

Бул долбоордо программалануучу 8-биттик микроконтроллер, сегиз LED жана монета клеткасы колдонулат. Ал скейтборддун стандарттуу подшипнигин колдонуп айланат жана айланууну аныктоо үчүн Холл эффекти сенсорун жана магнитти колдонот. Бул башталгычтарга ыңгайлуу тешикчелердин жардамы менен жасалган жана Arduino программалоо чөйрөсүн колдонуп программаланышы мүмкүн. Сүйлөшүү жетиштүү, келгиле…

1 -кадам: Бөлүктөрдү, шаймандарды жана жабдууларды чогултуу

Image
Image
Бөлүктөрдү, шаймандарды жана жабдууларды чогултуңуз
Бөлүктөрдү, шаймандарды жана жабдууларды чогултуңуз

Курулуштун жарымынан өтүү жана бир нерсеңизди жоготуп алуу дайыма көңүлдү чөктүрөт. Бул мен аракет кылган жана жакшы иштеген бөлүктөр. Өз тобокелчилигиңизге алмаштырыңыз:

Билл материалдары =================

  • 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 -кадам: Код?

Code?
Code?
Code?
Code?
Code?
Code?
Code?
Code?

Эгерде сиз менин комплектти сатып алган болсоңуз, анда чип алдын ала программаланган жана кийинки кадамга өтүп кетиши мүмкүн.

Ооба, бул долбоорго кандайдыр бир код керек. Ал эми, эгер сиз көңүл буруп жатсаңыз, 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 -кадам: Чип

Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It
Chip It

Эми сиздин чипте код бар, аны орното аласыз. DIP ("кош катарлуу пакет") микросхемасынын багыты, адатта, бул жердегидей эле, бирөөнү туташтырган тешик менен же чиптин учунда бир пин бар.

  • Түз жерлерди 90 градуска чейин бүгүңүз (1 жана 2 -сүрөттөр).
  • Чипти PCBдеги символго тууралап, чипти салыңыз (фото 3).
  • Карама -каршы тарапка бир пин туташтырыңыз жана чиптин ПХБга каршы жалпак экенин жана багытынын туура экендигин текшериңиз. Ушундан кийин оңдоо абдан кыйын болуп калат. Бул боюнча мага ишен.
  • Туура экенине ынангандан кийин, калган төөнөгүчтөрдү ээрчитип, анан тегиз кылып кесиңиз.

5 -кадам: Switch жана Capacitor

Коммутатор жана конденсатор
Коммутатор жана конденсатор
Коммутатор жана конденсатор
Коммутатор жана конденсатор

Баскыч баскычы ICнин жанына, ал эми экинчи жагында конденсатор.

  • Баскычты ордуна коюңуз (анын туура багытта экенин текшериңиз).
  • Аны ордуна коюңуз.
  • Арткы жагындагы учтарды кысыңыз.

Конденсатордун ориентациясы жок, бирок эгерде сиз жазуу жагын сыртка чыгарсаңыз, анда сиздин досторуңуз сиз колдонгон бааны билишет.

6 -кадам: которуштуруу жана батарея кармагыч

Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч
Батарея кармагыч жана которгуч

Которуу деңгээли менен сыртты карайт. Башка нерселер сыяктуу эле, эки төөнөгүчтү ээрчитип, анын тегиз отурганын текшериңиз, анан калганын ширетип коюңуз.

Батарея кармагычтын багытын көрсөтүү үчүн маркировкасы бар, бирок чындыгында мааниси жок. Бирок, ал кадимки коргошундарга караганда бир аз көбүрөөк жылуулукту талап кылат жана батарейканы кармап туруу үчүн анын тегиз отурганына ынангыңыз келет (сүрөт 4).

7 -кадам: LED

LED
LED
LED
LED
LED
LED
LED
LED

Жок дегенде бир LED камтыбаган татыктуу долбоор жок. Бул сегизге ээ!

Узун коргошун оң (анод). Жибек экранда "+" белгиси бар, жана жаздык төрт бурчтуу. Эгерде сиз бардык сегизди бир убакта жасай турган болсоңуз, анда бардык багыттар туура экенине ынануу үчүн аларды кармап туруңуз.

  • Ар бир светодиоддо бирден коргошун.
  • Багытын жана алардын тегиз отурганын текшериңиз (3 -сүрөт).

    Эгерде алар андай болбосо, анда колуңуз менен капкакты басыңыз жана коргошун позициясына түшкөнчө кайра жылытыңыз (сүрөт 4)

  • Калганын ширетүү.
  • Жетектерди кысыңыз.

8 -кадам: Аны текшерип көрүңүз

Image
Image
Убакыт айлануу
Убакыт айлануу

Бул учурда, биз дагы эле Светодиоддорду текшерип, өчүрө алабыз:

  • Батарейканы оң жагы менен сыртка салыңыз.
  • Спиннерди күйгүзүңүз, андан кийин бардык (үмүт менен) LEDлер күйгүчө баскычты басыңыз (видеону караңыз).
  • Айлангычты айлантып, үлгүсүн көрүңүз. Эгерде светодиод күйбөсө, ал артка орнотулган же жылуулуктан жабыркаган болушу мүмкүн. Аны эритип, жаңысын салыңыз.

Мүчүлүштүктөрдү оңдоо:

  • Эгерде светодиод жок болсо:

    • Батареяңыздын жакшы жана туура багытта экенин текшериңиз.
    • Сиз чипиңизди программаладыңызбы? Бул туура багыттабы? Күн ысый баштадыбы?
    • Светодиоддор туура багытталганбы? Аларды сынап көрүү үчүн монетанын уячасын жетектелген ширетүүчү муундар аркылуу колдоносузбу?
  • Эгерде светодиод жаркырабаса, анда:

    • LEDдеги ширетүүчү жерлерди текшериңиз.
    • Аттинидеги ширетүүчү жерлерди текшериңиз.
  • Баары ишке ашпай калса, алдыңкы жана арткы тараптын жогорку чечилиштүү сүрөттөрүн алып, комментарийлерде жардам сураңыз.

9 -кадам: Убакыт айлануу

Убакыт айлануу
Убакыт айлануу
Убакыт айлануу
Убакыт айлануу
Убакыт айлануу
Убакыт айлануу

Подшипник корпусту чоң жаздыкка ширетүү менен кармалып турат. Бул чыдамдуулукту жана көп жылуулукту талап кылат:

  • Подшипникти коюу үчүн катуу бетке тыйын сыяктуу нерсени колдонуңуз.
  • Корпуста lehim агып жатканын көрмөйүнчө, подшипникти жана подшипниктин кабыгын жылытыңыз (бир аз убакыт талап кылынат).
  • Башка тарапта кайталаңыз.
  • Подшипниктин туура тегизделгенин ыргыткычты айлантуу аркылуу текшериңиз.
  • Тактайды оодарып, экинчи жагында эки чекитти ээрчиңиз.

10 -кадам: Бул революциябы?

Image
Image
Бул революциябы?
Бул революциябы?
Бул революциябы?
Бул революциябы?

Жөн эле үлгүлөрдүн ордуна билдирүүлөрдү көрсөтүү үчүн, биз айлануучунун тегерекчеге карата абалын билишибиз керек. Биз Hall-эффект сенсорун жана магнитти колдонобуз. Бул күйүүчү кыймылдаткычтар эң күчкө ээ болуу үчүн учкунду качан күйгүзүүнү кантип билишине окшош. Бул иштөө үчүн сенсор менен магниттин багыты жана тегизделиши өтө маанилүү.

  • Түзмөктүн бетиндеги жазуу жибек экранга дал келген подшипникке карайт (фото 1).
  • Бийиктикти подшипниктин үстүнө тууралаңыз (капкактагы магнит турган жерде).
  • Бир коргошун.
  • Бийиктигин жана азыктуулугун текшериңиз.
  • Калган сымдарды ээрчиңиз.
  • Жетектерди кысыңыз.

Эгерде сиз Omni-pole сенсорун колдонуп жатсаңыз, анда магниттин багытын аныкташыңыз керек болот. Муну жасоонун эң жакшы жолу - бул мурунку кадамдагы үлгүдөн башка режимди орнотуу жана андан кийин магниттин LEDлеринин жарк этип башташын табуу (видеону караңыз). Магнитти сыртка караган тарап менен чаптаңыз. Жумушуңузду эки жолу текшериңиз.

11 -кадам: Баланстоо актысы

Баланс мыйзамы
Баланс мыйзамы
Баланс мыйзамы
Баланс мыйзамы

Эгерде сиз ийиргичти батарея менен горизонталдуу кармай турган болсоңуз, анда ал батарейянын ылдый жагына бурулганын көрөсүз. Компоненттерди баланстоодо болгон аракетиме карабай, ал дагы деле тең салмактуулукта эмес. Сиз гайканы жана болтту колдонуп, батарейканын эмес тарабына бир аз салмак кошсоңуз болот же подкладка бир аз ширетүүнү кошсоңуз болот.

12 -кадам: Сиз ыкчамсыз

Image
Image
Бирок күтө туруңуз, дагы бар.
Бирок күтө туруңуз, дагы бар.

Магнитиңиз жана сенсоруңуз бар, сиз 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ди колдонуу түстөрдү жасоого мүмкүндүк берет. Алар, адатта, жер үстүндө орнотулат.

Сунушталууда: