Съдържание:

Geek Spinner: 14 стъпки (със снимки)
Geek Spinner: 14 стъпки (със снимки)

Видео: Geek Spinner: 14 стъпки (със снимки)

Видео: Geek Spinner: 14 стъпки (със снимки)
Видео: Камера-ЛАМПА с проследяване и идентификация на човек. 2024, Ноември
Anonim
Image
Image
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner
Geek Spinner

Непостоянните въртящи се устройства са забавни и можете да ги намерите на почти всеки гише за само няколко долара в наши дни, но какво ще стане, ако можете да създадете свой собствен? И имаше ли светодиоди? И бихте могли да го програмирате да казва или показва каквото искате? Ако това звучи странно готино, ТОВА Е ПРОЕКТЪТ ЗА ВАС.

Винаги съм се интересувал от използването на мигащи светодиоди, за да накарам децата да се интересуват от програмиране. Най -простият проект с микроконтролер Arduino е да мигате и изключвате светодиод. След това ги карате да видят колко бързо един светодиод може да мига, преди да изглежда, че е включен непрекъснато (около 12 милисекундни интервали). След това разклащате светодиода напред -назад и можете да видите как мига отново! Това явление се нарича "постоянство на зрението" (POV) и така работи този проект. Това може да доведе до дискусии за това как работи окото и колко невероятно бързи са компютрите.

Този проект използва програмируем 8-битов микроконтролер, осем светодиода и монета. Той се върти с помощта на стандартен лагер за скейтборд и използва сензор за ефект на Хол и магнит за определяне на въртенето. Изработен е с помощта на части, подходящи за начинаещи, и може да бъде програмиран с помощта на средата за програмиране Arduino. Стига приказки, да започваме…

Стъпка 1: Съберете частите, инструментите и консумативите

Image
Image
Съберете частите, инструментите и консумативите
Съберете частите, инструментите и консумативите

Винаги е разочароващо да преминете по средата на изграждането и да откриете, че пропускате нещо. Това са частите, които опитах и установих, че работят добре. Заменете на свой собствен риск:

Сметка за материали =================

  • 1 еа, лилава печатна платка, с любов, произведена в САЩ от OSH Park
  • 1 ea, Attiny 84, Atmel ATTINY84A-PU,
  • 1 ea, тактилен превключвател, TE 1825910-6,
  • 1 ea, плъзгащ превключвател SPDT през отвор, C&K JS202011AQN,
  • 1 ea, държач за батерия, Linx BAT-HLD-001-THM,
  • 8 ea, 3 mm Red LED 160 Mcd, Wurth 151031SS04000,
  • 8 ea, 330 ома 1/8W, Stackpole CF18JT330R,
  • 1 ea, 0.1 uF капачка, KEMET C320C104M5R5TA,
  • 1 ea, Магнитен превключвател, Melexis MLX92231LUA-AAA-020-SP,
  • 1 ea, 608 Лагер за скейтборд,
  • 1 ea, малък магнит за редки земни уреди 2mm x 1mm,
  • 2 ea, 3D отпечатани капачки (прикачен STL файл).
  • 1 ea, батерия CR2032, Panasonic BSP или еквивалент,

Инструменти и консумативи: За моите работилници използвам набора за инструменти за начинаещи SparkFun, който има всичко необходимо, освен пинсетите:

  • Поялник.
  • SolderWire
  • Плъзгащи се плоскости (обичам $ 5 Hakko CHP170!)
  • Разпръскваща плитка
  • супер лепило

Програмиране на Attiny (Стъпка 4, не се изисква, ако купувате това като комплект):

  • Arduino (моля, избягвайте евтините китайски клонинги и подкрепете вашите американски производители с отворен код).

    • SparkFun Redboard
    • Метро Адафрут
    • Arduino UNO
  • AVR Програмиращ щит.
  • Pogo адаптер (ако програмирате с инсталиран чип).
  • Стандартен USB A-B за Uno, USB Mini за Redboard или USB Micro за Metro.

Комплект за този проект е достъпен на Tindie.com (минус батерията). Закупуването на комплекта ще ви спести време и разходи за поръчки от няколко различни доставчици и ще избегне минималната премия за поръчка на печатни платки. Също така програмирането на Attiny не е тривиално и ако закупите комплекта, той вече ще бъде предварително програмиран. Вие също ще ми помагате да разработвам и споделям други проекти в моите работилници!

Стъпка 2: Съпротивата е от съществено значение

Съпротивата е от съществено значение
Съпротивата е от съществено значение
Съпротивата е от съществено значение
Съпротивата е от съществено значение
Съпротивата е от съществено значение
Съпротивата е от съществено значение

Ще приемем, че имате опит в изграждането на комплекти. Ако имате нужда от помощ при запояването, отидете на www.sparkfun.com/tutorials/213, за да изчистите или да гледате как Geek Girl обяснява това на https://www.youtube.com/embed/P5L4Gl6Q4Xo. Имам и комплект, подходящ за начинаещи на адрес

Харесва ми да започвам с резистора, защото а) те са относително устойчиви на топлина, докато влизате в канала си за запояване и желязото се издига до температура, б) нямат полярност, така че ориентацията не е критична и в) те са най -ниският компонент на дъската, така че седнете здраво при запояване. Има осем резистора за ограничаване на тока 330 ома, по един за всеки от светодиодите. Можете да правите една по една или всички осем наведнъж.

  • Огънете проводниците до ширината на подложките и поставете резистора.
  • Обърнете дъската и запоявайте кабелите.
  • Подрежете проводниците с изравнени разфасовки.
  • Ударете ги отново с желязото, ако искате да впечатлят приятелите ви отрепки.

Стъпка 3: Код?

Код?
Код?
Код?
Код?
Код?
Код?
Код?
Код?

Ако сте закупили моя комплект, чипът е предварително програмиран и може да премине към следващата стъпка.

Да, този проект се нуждае от някакъв код. И ако обръщате внимание, в Стъпка 1 ви казах, че програмирането на Attiny не е тривиално. Използвам Arduino, това е среда за програмиране, моя AVR програмист и приспособление за pogo pin.

Чипът може да бъде програмиран преди запояване на място (снимка 2) или след като е запоен на място с помощта на ISP заглавието в долната част на печатната платка (снимка 3). И в двата случая програмирането е както следва:

  • Изтеглете среда за програмиране Arduino.
  • Инсталирайте поддръжка за Attiny 85 от:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • Качете „скицата на Arduino като ISP“: [Файл] -> [Примери] -> [Arduino като ISP].
  • Прикрепете щита за програмиране на AVR и поставете лентов кабел в позиция Attiny84
  • Ако използвате адаптера Pogo, го поставете върху заглавката на ISP на дъската. Положителните и отрицателните подложки са маркирани, за да можете правилно да ориентирате заглавката.
  • Ако използвате чипа, поставете го с щифт 1 към USB конектора.
  • Изберете правилния чип:

    • Arduino Tiny: "Attiny 84 @ 8 Mhz"
    • Attiny Core: „Attiny 24/44/84“

      • Чип "Attiny 84"
      • 8 Mhz (вътрешен)
      • Съпоставяне на щифтове „обратно на часовниковата стрелка“
  • Изберете програмиста, [Инструменти] -> [Програмист] -> [Arduino като ISP]
  • Задайте предпазителите за програмиране, [Инструменти] -> [Записване на зареждащия бутон]
  • Качете приложената скица, [Файл] -> [Качване с помощта на програмист]

Най -големият източник на грешки, които получавам, е, че щифтовете не са подравнени правилно.

Стъпка 4: Чип го

Чип го
Чип го
Чип го
Чип го
Чип го
Чип го
Чип го
Чип го

Сега, когато чипът ви има код, можете да го инсталирате. Ориентацията на DIP ("двоен вграден пакет") чип обикновено се обозначава или с отвор, съседен на щифт едно, или с разклонение в края на чипа, съдържащ щифт едно, както е случаят тук.

  • Огънете проводниците до 90 градуса, като ги притиснете към равна повърхност (снимки 1 и 2).
  • Подравнете чипа със символа на платката и поставете чипа (снимка 3).
  • Запоявайте един щифт от противоположните страни и проверете дали чипът е плосък срещу печатната платка и дали ориентацията е правилна. След това става наистина трудно да се поправи. Повярвайте ми в това.
  • След като се уверите, че е правилно поставен, запоявайте останалите щифтове и след това ги изрежете на едно ниво.

Стъпка 5: Превключвател и кондензатор

Превключвател и кондензатор
Превключвател и кондензатор
Превключвател и кондензатор
Превключвател и кондензатор

Бутонът се намира до IC, а кондензаторът от другата страна.

  • Натиснете бутона на място (уверете се, че е в правилна ориентация).
  • Запояйте го на място.
  • Издърпайте проводниците отзад.

Кондензаторът няма ориентация, но ако поставите страницата за писане навън, приятелите ви отрепки ще знаят каква стойност сте използвали.

Стъпка 6: Превключвател и държач на батерията

Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията
Превключвател и държач на батерията

Превключвателят върви с нивото, насочено навън. Подобно на другите елементи, запоявайте два щифта, проверете дали е седнал плоско и след това запоявайте остатъка.

Поставката на батерията има маркировка, която показва ориентацията, но това няма значение. Той обаче ще изисква доста повече топлина от обикновените проводници и ще искате да се уверите, че е седнал плоско, за да държи батерията в позиция (снимка 4).

Стъпка 7: Светодиоди

Светодиоди
Светодиоди
Светодиоди
Светодиоди
Светодиоди
Светодиоди
Светодиоди
Светодиоди

Няма достоен проект, който да не включва поне един светодиод. Това има ОСЕМ!

Дългият проводник е положителен (анод). На копринения екран има знак „+“, а подложката е квадратна. Ако правите всичките осем наведнъж, задръжте ги, за да се уверите, че всички ориентации са правилни.

  • Запоявайте по един проводник на всеки светодиод.
  • Проверете ориентацията и дали са седнали плоско (снимка 3).

    Ако не са, натиснете кутията с палеца и загрейте отново проводника, докато щракне на място (снимка 4)

  • Запояйте остатъка.
  • Затегнете проводниците.

Стъпка 8: Проверете го

Image
Image
Време на въртене
Време на въртене

На този етап все още можем да проверим светодиодите и да изключим:

  • Поставете батерия с положителната страна навън.
  • Включете центрофугата и след това натиснете бутона, докато всички (надявам се) светодиодите светнат (вижте видеото).
  • Завъртете въртящото се устройство и вижте шаблона. Разпаяйте го и поставете нов.

Отстраняване на неизправности:

  • Ако не светят светодиоди:

    • Уверете се, че батерията ви е добра и в правилна ориентация.
    • Програмирал ли си чипа? В правилна ориентация ли е? Става ли горещо?
    • Правилно ли са ориентирани светодиодите? Използвайте монетната клетка през светодиодните спойки, за да ги тествате?
  • Ако превключвателят не кара светодиодите да мигат:

    • Проверете спойките на светодиода.
    • Проверете спойките на Attiny.
  • Ако всичко друго се провали, направете и публикувайте снимки отпред и отзад с висока разделителна способност и помолете за помощ в коментарите.

Стъпка 9: Време на завъртане

Време на въртене
Време на въртене
Време на въртене
Време на въртене
Време на въртене
Време на въртене

Лагерът се задържа на място чрез запояване на корпуса към голямата подложка. Това изисква търпение и много топлина:

  • Използвайте нещо като монети върху твърда повърхност, за да позиционирате лагера.
  • Загрейте както подложката, така и лагерната обвивка, докато видите спойка да тече върху корпуса (отнема малко).
  • Повторете от другата страна.
  • Проверете дали лагерът е подравнен правилно, като завъртите въртящия механизъм.
  • Обърнете дъската и запойте две точки от другата страна.

Стъпка 10: Това революция ли е?

Image
Image
Това революция ли е?
Това революция ли е?
Това революция ли е?
Това революция ли е?

За да показваме съобщения, а не само модели, трябва да знаем позицията на въртящото се устройство спрямо кръга. Ще използваме сензор за ефект на Хол и магнит. Това е подобно на това как двигателите с вътрешно горене знаят кога да запалят искрата, за да получат максимална мощност. Ориентацията и подравняването както на сензора, така и на магнита са от решаващо значение, за да работи това.

  • Надписът на лицевата страна на устройството е обърнат към лагера, съответстващ на копринения екран (снимка 1).
  • Подравнете височината точно над лагера (където ще бъде магнитът в капачката).
  • Запоявайте един проводник.
  • Проверете височината и височината.
  • Запоявайте останалите проводници.
  • Затегнете проводниците.

Ако използвате многополюсен сензор, ще трябва да разберете ориентацията на магнита. Най -добрият начин да направите това е да зададете режим, различен от модела от предишната стъпка, и след това да намерите страната на магнита, която стартира мигащите светодиоди (вижте видеото). Залепете магнита със страната, която е работила, обърната навън. Проверете отново работата си.

Стъпка 11: Закон за балансиране

Закон за балансиране
Закон за балансиране
Закон за балансиране
Закон за балансиране

Ако държите въртящото устройство хоризонтално с батерията, ще видите, че се завърта към страната на батерията надолу. Въпреки усилията ми за балансиране на компонентите, той все още е извън баланса. Можете да добавите малко тегло към страната извън батерията с помощта на гайка и болт или да добавите малко спойка към подложката.

Стъпка 12: Вие сте оперативни

Image
Image
Но почакайте, има още.
Но почакайте, има още.

С поставения магнит и сензор сте готови да проверите пълната великолепие на вашия Geek Spinner. Режимът на въртене се показва от светодиода, който свети при включване или след натискане на бутон (D0 - D7). Режимът се променя с натискане на бутона (вижте видеоклипа).

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.
  • Изтеглете приложения скрипт "readGraph.py".
  • Изтеглете изображение с пълна разделителна способност (снимка 1).
  • Отворете изображението в любимия си редактор (GIMP или MS Paint).
  • Използвайте командата "Fill" с избран черен цвят, за да запълните сегментите, които искате да бъдат осветени (снимка 2).
  • Запишете изображението в същата директория като скрипта "readGraph.py" и променете името на файла в скрипта, за да съответства на него:

im = Image.open ('heart.png')

Стартирайте скрипта и поставете изхода в секцията "textAndShapes.h" на скицата под "shape_1 " или "shape_2"

Така или иначе, не се колебайте да споделите вашето творение (снимка и код) в коментарите!

Стъпка 14: Кредити и заключителни мисли

Кредити и заключителни мисли
Кредити и заключителни мисли

Със сигурност не съм измислил всичко това сам. Не от далечна гледна точка.

  • Първият ми практически опит с POV беше с проект на Nick Sayer, наречен POV Twirlie: https://www.tindie.com/products/nsayer/pov-twirlie/. (Аз също използвам pogo адаптер).
  • Мисълта „LED + Fidget spinner = POV“се появи в мозъка ми, след като видях инструкциите на Techydiy
  • Всеки път, когато имате страхотна идея, някой вече го е направил: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Спояването с повърхностен монтаж е нещо, което мога да направя, но не е особено удобно за начинаещи. Кодът му също беше малко над главата ми, но аз използвах идеите му за показване на RPM и броя.
  • Успях да разбера и използвах фрагменти от кода на часовника POV на Reger-men за показване на текст:

Никой проект никога не е завършен или перфектен. Ето някои мисли, които имам занапред:

  • Баланс: Информационните листове рядко съдържат информация за теглото на компонентите, така че е трудно дори да се направи предположение за баланса, без просто да се изгради. Батерията очевидно е най -тежкият компонент. Добавих дупки на всеки край, за да мога да добавя тегло според нуждите, за да го балансирам.
  • По часовниковата стрелка? Ако сте забелязали, текстът се показва правилно само ако се завъртите по посока на часовниковата стрелка. Завъртането в другата посока създава огледален образ. Добавянето на втори сензор или магнит на Хол ще ви позволи да извлечете посоката на въртене (проектът на Шон направи това).
  • Цвят? Използването на програмируеми RGB светодиоди ще ви позволи да правите цветове. Те обаче обикновено се монтират на повърхността.

Препоръчано: