Мазмұны:

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 еа, Аттини 84, Atmel ATTINY84A-PU,
  • 1 еа, тактильді қосқыш, TE 1825910-6,
  • 1 дана, SPDT саңылау арқылы ауысу, C&K JS202011AQN,
  • 1 еа, батарея ұстағыш, Linx BAT-HLD-001-THM,
  • 8 дана, 3 мм қызыл жарықдиодты 160 Mcd, Wurth 151031SS04000,
  • 8 еа, 330 ом 1/8 Вт, Stackpole CF18JT330R,
  • 1 еа, 0,1 uF қақпағы, KEMET C320C104M5R5TA,
  • 1 еа, магниттік қосқыш, Melexis MLX92231LUA-AAA-020-SP,
  • 1 еа, 608 скейтборд мойынтіректері,
  • 1 еа, 2 мм х 1 мм сирек кездесетін жер магниті,
  • 2 дана, 3D басылған қақпақтар (STL файлы қоса беріледі).
  • 1 еа, CR2032 батареясы, Panasonic BSP немесе оған балама,

Құралдар мен керек -жарақтар: Менің шеберханаларым үшін мен пинцерден басқа сізге қажет нәрсенің бәрі бар SparkFun's Beginner's ToolKit қолданамын:

  • Пісіру темірі.
  • SolderWire
  • Біркелкі қысқыштар (маған 5 долларлық Hakko CHP170 ұнайды!)
  • Тоқуды кетіру
  • Супер желім

Attiny бағдарламалау (4 -қадам, егер сіз оны жинақ ретінде сатып алсаңыз қажет емес):

  • Arduino (қытайлық арзан клоннан аулақ болыңыз және АҚШ -тың ашық көзі бар өндірістеріне қолдау көрсетіңіз).

    • SparkFun Redboard
    • Адафрут метросы
    • Arduino UNO
  • AVR бағдарламалау қалқаны.
  • Pogo адаптері (егер чип орнатылған бағдарламалау болса).
  • Uno үшін стандартты USB A-B, Redboard үшін USB Mini немесе Metro үшін USB Micro.

Бұл жобаға арналған жинақ Tindie.com сайтында бар (аккумуляторды қоспағанда). Жинақты сатып алу сізге әр түрлі жеткізушілерден тапсырыс берудің уақытын және шығынын үнемдейді және ПХД тапсырысының ең төменгі сыйлықақысын болдырмайды. Сондай-ақ, Attiny бағдарламалауы маңызды емес, және егер сіз жинақ сатып алсаңыз, ол алдын ала бағдарламаланған болады. Сіз маған семинарларымда басқа жобаларды әзірлеуге және бөлісуге көмектесесіз!

2 -қадам: Қарсылық маңызды

Қарсылық маңызды
Қарсылық маңызды
Қарсылық маңызды
Қарсылық маңызды
Қарсылық маңызды
Қарсылық маңызды

Сізде жинақ құрастыру тәжірибесі бар деп ойлаймыз. Егер сізге дәнекерлеу бойынша көмек қажет болса, www.sparkfun.com/tutorials/213 сайтына өтіңіз немесе Geek Girl мұны түсіндіреді: https://www.youtube.com/embed/P5L4Gl6Q4Xo. Менде жаңадан бастаушыларға арналған жинақ бар:

Маған резистордан бастаған ұнайды, себебі а) олар салыстырмалы түрде ыстыққа төзімді, ал сіз дәнекерлеуші ойыққа еніп жатқанда және үтік температураға жақындайды, ә) олардың полярлығы жоқ, сондықтан бағдарлау маңызды емес және в) олар тақтадағы ең төменгі компонент, сондықтан дәнекерлеу кезінде тығыз отырыңыз. Светодиодтардың әрқайсысы үшін 330 Ом токты шектейтін сегіз резистор бар. Сіз бірден жасай аласыз, немесе бірден сегіз.

  • Сымдарды жастықтардың еніне қарай бүгіңіз және резисторды салыңыз.
  • Тақтаны төңкеріп, сымдарды дәнекерлеңіз.
  • Сымдарды біркелкі кесу арқылы кесіңіз.
  • Егер сіз олардың достарыңызға әсер еткіңіз келсе, оларды қайтадан темірмен ұрыңыз.

3 -қадам: код?

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

Егер сіз менің жинағымды сатып алсаңыз, чип алдын ала бағдарламаланған және келесі қадамға өтуге болады.

Иә, бұл жобаға кейбір код қажет. Егер сіз назар аударатын болсаңыз, 1 -қадамда мен сізге Attiny бағдарламалауы маңызды емес екенін айттым. Мен Arduino -ны қолданамын, бұл бағдарламалау ортасы, менің AVR бағдарламашым және пиго пин -джиг.

Чипті дәнекерлеуге дейін бағдарламалауға болады (фото 2), немесе ПХД төменгі жағындағы провайдер провайдерінің көмегімен дәнекерленгеннен кейін (3 -сурет). Кез келген жағдайда бағдарламалау келесідей:

  • Arduino бағдарламалау ортасын жүктеңіз.
  • Attiny 85 қолдауын келесі жолдардың бірінен орнатыңыз:

    • https://highlowtech.org/?p=1695 (Arduino Tiny)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • «Arduino ISP эскизін» жүктеңіз: [Файл] -> [Мысалдар] -> [Arduino провайдер ретінде].
  • AVR бағдарламалау қалқаны бекітіліп, таспа кабелін Attiny84 позициясына енгізіңіз
  • Егер Pogo адаптерін қолдансаңыз, оны тақтадағы провайдер тақырыбына орналастырыңыз. Оң және теріс тақталар таңбаланған, сондықтан сіз тақырыпты дұрыс бағдарлай аласыз.
  • Егер чипті қолдансаңыз, оны бір түйреуішпен USB қосқышына қарай салыңыз.
  • Дұрыс чипті таңдаңыз:

    • Ардуино Тини: «8 МГц Аттини 84»
    • Аттиний ядросы: «Аттиния 24/44/84»

      • «Аттин 84» чипі
      • 8 МГц (ішкі)
      • «Сағат тіліне қарсы» түйреуішті салыстыру
  • Бағдарламалаушыны таңдаңыз, [Құралдар] -> [Программист] -> [Ардуино провайдер ретінде]
  • Бағдарламалық сақтандырғыштарды орнатыңыз, [Құралдар] -> [Bootloader Burn]
  • Қосылған эскизді жүктеңіз, [Файл] -> [Бағдарламашымен жүктеу]

Мен алатын қателердің ең үлкен көзі - түйреуіштердің дұрыс реттелмеуі.

4 -қадам: чипті салыңыз

Оны чип
Оны чип
Оны чип
Оны чип
Оны чип
Оны чип
Оны чип
Оны чип

Енді сіздің чипте код бар, оны орнатуға болады. DIP («қосарланған кірістірілген пакет») микросхемасының бағыты әдетте түйреуішке жақын орналасқан тесікпен немесе осында болғандай, түйреуіші бар чиптің ұшындағы нүктемен көрсетіледі.

  • Өткізгіштерді тегіс бетке басу арқылы 90 градусқа бүгіңіз (1 және 2 -суреттер).
  • Чипті ПХД белгісімен туралаңыз және чипті салыңыз (фото 3).
  • Бір түйреуішті қарама -қарсы жаққа дәнекерлеңіз және чиптің екеуі де ПХД -ге қарама -қарсы орналасқанын және бағдар дұрыс екенін тексеріңіз. Осыдан кейін түзету өте қиын болады. Бұл туралы маған сеніңіз.
  • Дұрыс орнатылғанына сенімді болғаннан кейін, қалған түйреуіштерді дәнекерлеңіз, содан кейін оларды тегіс етіп кесіңіз.

5 -қадам: Коммутатор мен конденсатор

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

Басу түймесі IC -тің жанына, ал екінші жағынан конденсаторға түседі.

  • Түймені орнына қойыңыз (оның дұрыс бағытта екеніне көз жеткізіңіз).
  • Оны орнына дәнекерлеңіз.
  • Сымдарды артқы жағынан қысыңыз.

Конденсатордың бағыты жоқ, бірақ егер сіз оны жазатын жағын қойсаңыз, онда сіздің достарыңыз қандай құндылықты қолданғаныңызды біледі.

6 -қадам: қосқыш пен батарея ұстағыш

Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш
Коммутатор мен батарея ұстағыш

Коммутатор сыртқа бағытталған деңгеймен жүреді. Басқа заттар сияқты, екі түйреуішті дәнекерлеңіз, оның тегіс орналасқанын тексеріңіз, содан кейін қалғанын дәнекерлеңіз.

Батарея ұстағышында бағдарды көрсету үшін таңбалау бар, бірақ бұл маңызды емес. Дегенмен, ол әдеттегі сымдарға қарағанда біршама көп жылуды қажет етеді және сіз батареяны орнында ұстау үшін оның тегіс екеніне көз жеткізгіңіз келеді (4 -сурет).

7 -қадам: жарықдиодты шамдар

Жарық диодтары
Жарық диодтары
Жарық диодтары
Жарық диодтары
Жарық диодтары
Жарық диодтары
Жарық диодтары
Жарық диодтары

Кем дегенде бір жарық диодты қамтымайтын лайықты жоба жоқ. Бұл сегізге ие!

Ұзын қорғасын - оң (анод). Жібек экранда «+» белгісі бар, ал алаң төртбұрышты. Егер сіз бірден сегізді жасасаңыз, барлық бағыттардың дұрыс екеніне көз жеткізу үшін оларды ұстап тұрыңыз.

  • Әр светодиодқа бір сымнан дәнекерлеңіз.
  • Бағытты және олардың тегіс орналасқанын тексеріңіз (сурет 3).

    Егер олар жоқ болса, корпусты саусағыңызбен басыңыз және сымды орнына түскенше қайта қыздырыңыз (сурет 4)

  • Қалғанын дәнекерлеңіз.
  • Сымдарды қысыңыз.

8 -қадам: тексеріңіз

Image
Image
Айналу уақыты
Айналу уақыты

Осы сәтте біз жарық диодты тексеріп, өшіре аламыз:

  • Батареяны оң жағымен сыртқа салыңыз.
  • Айналдырғышты қосыңыз, содан кейін барлық светодиодтар жанғанша түймесін басыңыз (бейнені қараңыз).
  • Айналдырғышты айналдырып, үлгіні қараңыз. Егер жарық диоды жанбаса, ол артқа орнатылуы немесе жылудан зақымдалуы мүмкін. Оны дәнекерлеп, жаңасын салыңыз.

Ақаулық себебін іздеу және түзету:

  • Егер жарық диодтары жанбаса:

    • Батареяның жақсы және дұрыс бағытта екеніне көз жеткізіңіз.
    • Сіз чипті бағдарламаладыңыз ба? Ол дұрыс бағытта ма? Күн ысып жатыр ма?
    • Жарық диодтары дұрыс бағдарланған ба? Монеталық ұяшықты оларды дәнекерленген дәнекерлеу қосылыстарында сынау үшін қолданыңыз ба?
  • Егер қосқыш светодиодты жыпылықтамаса:

    • Жарық диодындағы дәнекерлеу қосылыстарын тексеріңіз.
    • Аттинидегі дәнекерлеу қосылыстарын тексеріңіз.
  • Егер бәрі көмектеспесе, алдыңғы және артқы жағындағы жоғары ажыратымдылықтағы фотосуреттерді түсіріп, орналастырыңыз және түсініктемелерде көмек сұраңыз.

9 -қадам: Айналу уақыты

Айналу уақыты
Айналу уақыты
Айналу уақыты
Айналу уақыты
Айналу уақыты
Айналу уақыты

Мойынтірек корпусты үлкен жастыққа дәнекерлеу арқылы бекітіледі. Бұл шыдамдылық пен көп жылуды қажет етеді:

  • Мойынтіректі орналастыру үшін қатты бетке тиын тәрізді заттарды қолданыңыз.
  • Корпуста дәнекердің ағып жатқанын көрмейінше, жастықшаны да, мойынтіректің қабығын да қыздырыңыз (біраз уақыт кетеді).
  • Екінші жағынан қайталаңыз.
  • Иіргішті айналдыру арқылы мойынтіректің дұрыс тураланғанын тексеріңіз.
  • Тақтаны аударып, екінші жағынан екі нүктені дәнекерлеңіз.

10 -қадам: Бұл революция ма?

Image
Image
Бұл революция ма?
Бұл революция ма?
Бұл революция ма?
Бұл революция ма?

Хабарламаларды жай өрнектердің орнына көрсету үшін біз айналдырғыштың шеңберге қатысты орнын білуіміз керек. Біз холл-эффект сенсоры мен магнитті қолданамыз. Бұл жану қозғалтқыштары ең көп қуат алу үшін ұшқынды қашан өртеу керектігін білетініне ұқсас. Бұл жұмыс үшін сенсор мен магниттің бағдары мен туралануы маңызды.

  • Құрылғының бетіндегі жазу жібек экранға сәйкес келетін мойынтірекке қарайды (1 -сурет).
  • Биіктікті мойынтіректің үстінен туралаңыз (қақпақта магнит болатын жерде).
  • Бір қорғасынды дәнекерлеңіз.
  • Биіктігі мен қорытылуын тексеріңіз.
  • Қалған сымдарды дәнекерлеңіз.
  • Сымдарды қысыңыз.

Егер сіз омни-полюсті сенсорды қолдансаңыз, магниттің бағытын анықтау қажет болады. Мұны істеудің ең жақсы әдісі - алдыңғы қадамдағы үлгіден басқа режимді орнату, содан кейін светодиодтардың жыпылықтай бастайтын магнит жағын табу (бейнені қараңыз). Магнит жағын сыртқа қаратып жабыстырыңыз. Жұмысыңызды екі рет тексеріңіз.

11 -қадам: теңгерім туралы заң

Теңгерім туралы заң
Теңгерім туралы заң
Теңгерім туралы заң
Теңгерім туралы заң

Егер сіз иіргішті батареяны көлденеңінен жоғары ұстасаңыз, оның батарея жағына төмен қарағанын көресіз. Компоненттерді теңестіруге қанша тырысқаныма қарамастан, ол әлі де тепе -тең емес. Гайка мен болтты қолдана отырып, аккумуляторлық емес жағына біраз салмақ қосуға немесе жастықшаға дәнекер қосуға болады.

12 -қадам: Сіз жеделсіз

Image
Image
Бірақ күте тұрыңыз, тағы бар.
Бірақ күте тұрыңыз, тағы бар.

Магнит пен сенсор орнында, сіз Geek Spinner -дің керемет қасиеттерін тексеруге дайынсыз. Айналдырғыштың режимі қосулы кезде немесе түймені басқаннан кейін (D0 - D7) жарықдиодты шамда көрсетіледі. Режим батырманы басу арқылы өзгертіледі (бейнені қараңыз).

int режимдері = 8; // қол жетімді режимдер саны

// 0 -> «Сәлем әлем!» Мәтіні // 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).
  • Қажетті сегменттерді толтыру үшін қара түсті таңдалған «Толтыру» пәрменін қолданыңыз (2 -сурет).
  • Кескінді «readGraph.py» сценарийі бар каталогта сақтаңыз және оған сәйкес келу үшін сценарийдегі файл атауын өзгертіңіз:

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

Сценарийді іске қосыңыз және шығуды «хэлбэр_1 » немесе «пішін_2 » астындағы эскиздің «textAndShapes.h» бөліміне қойыңыз

Қалай болғанда да, өз туындыларыңызды (сурет пен кодты) түсініктемелерде бөлісуге болады!

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/. Беттік дәнекерлеу - бұл мен жасай алатын нәрсе, бірақ іс жүзінде жаңадан бастаушыларға жарамайды. Оның коды менің басымнан сәл асып кетті, бірақ мен оның айналу жылдамдығы мен сандарды көрсету туралы идеяларын қолдандым.
  • Мен мәтінді көрсету үшін Reger-men POV Clock кодының үзінділерін түсіндім және қолдандым:

Ешқандай жоба толық немесе мінсіз болмайды. Міне, мен алда болатын кейбір ойлар:

  • Баланс: Деректер парақтарында компоненттердің салмағы туралы ақпарат сирек кездеседі, сондықтан оны құрмай -ақ баланс туралы білімді болжам жасау қиын. Аккумулятор - ең ауыр компонент. Мен оны теңестіру үшін қажет болғанша салмақ қосу үшін әр ұшына тесіктер қостым.
  • Сағат тілімен? Егер сіз байқаған болсаңыз, мәтін сағат тілінің бағытымен айналғанда ғана дұрыс көрсетіледі. Басқа бағытта айналдыру айна бейнесін жасайды. Екінші Холл датчигін немесе магнитін қосу сізге айналу бағытын алуға мүмкіндік береді (Шонның жобасы мұны жасады).
  • Түсі? Бағдарламаланатын RGB светодиоды түстерді жасауға мүмкіндік береді. Олар әдетте жер бетіне бекітіледі.

Ұсынылған: