Мазмуну:

Easy Infinity Mirror Arduino Gemma & NeoPixels менен: 8 кадам (сүрөттөр менен)
Easy Infinity Mirror Arduino Gemma & NeoPixels менен: 8 кадам (сүрөттөр менен)

Video: Easy Infinity Mirror Arduino Gemma & NeoPixels менен: 8 кадам (сүрөттөр менен)

Video: Easy Infinity Mirror Arduino Gemma & NeoPixels менен: 8 кадам (сүрөттөр менен)
Video: Soldering and Coding Adafruit Gemma and Neopixels (2018 Awesome DIY Project!) 2024, Июль
Anonim
Easy Infinity Mirror Arduino Gemma & NeoPixels менен
Easy Infinity Mirror Arduino Gemma & NeoPixels менен

Мына! Сыйкырдуу жана алдамчы жөнөкөй чексиздик күзгүсүнө терең караңыз! Светодиоддордун бир тилкеси чексиз чагылуу эффектин түзүү үчүн күзгү сэндвичтин ичине жаркырайт. Бул долбоор менин Arduino классымдагы көндүмдөрдү жана ыкмаларды колдонот жана кичине Arduino Gemma тактасын колдонуп, акыркы формага чогултат.

Бул долбоордун вебинарын көрүңүз! Бул курууну аягына чыгаруу үчүн мен 2017 -жылдын 28 -июнунда жетектеген вебинарды текшериңиз!

Мен иштеп жаткан нерсеге жетүү үчүн YouTube, Instagram, Twitter, Pinterestте мени ээрчиңиз жана менин маалымат баракчама жазылыңыз.

1 -кадам: Берилиштер

Жабдуулар
Жабдуулар

Бул сабакты улантуу үчүн сизге керек болот:

  • Курч бычак
  • Металл сызгыч же T-чарчы
  • Картон же мата кесүү
  • Шаблон же тегерек чийме компасы үчүн принтер
  • Пластикалык балл бычагы (милдеттүү эмес, бирок жакшы)
  • Hot eriyen клей тапанчасы, же E6000/Quick Hold кол өнөрчүлүк клейи
  • Clothespin (милдеттүү эмес, желим кысуучу катары колдонуу үчүн)
  • 4 "тегерек күзгү
  • Көз айнек пластик
  • Кара көбүк тактайы, калыңдыгы 3/16"
  • Arduino Uno жана монтаж плитасындагы solderless нан
  • USB A-B кабели
  • Чакан баскычтар (сиз мурда эриткенсиз)
  • Нан тактасы зымдары
  • RGBW NeoPixel тилкеси (же башка WS2812b RGBW LED тилкеси) (19 пиксел, сиз мурда эриткен тилкени колдонот)
  • Лампочка жана ширетүүчү
  • Сым тазалагычтар
  • Диагоналдуу кескичтерди жуу
  • Үчүнчү кол курал
  • Мультиметр (милдеттүү эмес)
  • Кичинекей ийнелер
  • Пинцет
  • Arduino Gemma тактасы
  • Микро USB кабели
  • USB хаб, эгер сиздин компьютерде USB 3 порту гана болсо (мисалы, жаңы Mac сыяктуу)
  • USB узартуу кабели (милдеттүү эмес)
  • USB кубат адаптери
  • Lipoly батареясы жана кубаттагыч (милдеттүү эмес)

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

Сүрөт
Сүрөт

Arduino Gemma - Чексиздик күзгү долбоору Arduino Uno менен Arduino Gemma алмаштыруу аркылуу Arduino схемасын миниатюрлештирет. Gemma - бул ATTiny85 микроконтроллеринин тегерегинде курулган кичинекей такта, анын эс тутуму азыраак жана Uno Atmega328ге караганда азыраак өзгөчөлүктөргө ээ, бирок ал кичине жана арзаныраак. Чоң төшөктөрдү ширетүү абдан оңой (жана өткөргүч жип менен тигүү, бирок бул башка класстын темасы). Gemma компьютериңизге туташуу үчүн микро USB кабелин колдонот жана батареяны туташтыруу үчүн JST порту бар. Сиз Gemma программасын Arduino программасынан кантип программалоону жана аны акыркы долбоорго кантип курууну үйрөнөсүз. Сиз анын ордуна Adafruit Gemma колдоно аласыз, бирок Arduino программасын конфигурациялоо үчүн кошумча кадам жасашыңыз керек болот.

Сүрөт
Сүрөт

RGBW NeoPixel тилкеси - Бул санариптик даректүү тилкеде кызыл, жашыл, көк жана ак түстөгү LED диоддорун башкаруучу WS2812b чиптери камтылган. NeoPixel - бул Adafruit фирмалык аталышы, бирок сиз бул тилкени сүйүктүү жеткирүүчүнүн сайтынан "WS2812b RGBW тилкесин" издөө аркылуу таба аласыз. Бул класста берилген үлгү коду RGB (ак жок) тилкеси, аналогдук LED тилкеси же башка санариптик башкаруу чипи менен иштебейт (APA104 aka DotStar сыяктуу)

2 -кадам: Frame Pieces кесип

Frame Pieces кескиле
Frame Pieces кескиле

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

Эгерде сиз пенкорко тактасын кесүү жана жабыштыруу боюнча жаңы болсоңуз, практика жана каталар үчүн кошумча алыңыз- 16х20ин тактайларынын үч пакети жетиштүү болушу керек (жана эгер сизде ашыкча калса, аны менен башка долбоорлорду түзө аласыз). Жаракат албоо үчүн курч пышакты, металл сызгычты, жай темпти жана көп этияттыкты колдонуңуз. Бычактын тайып кетишинен же кыйшайышынан улам бир нече бөлүктү кайра жасоо кадимки көрүнүш.

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Фигураларды кол менен тартуу чынында жөнөкөй, бирок мен убада берем! Биринчиден, компасты радиусуна (4 "күзгү = 2" радиусуна) орнотуп, ар бир четинен кеминде 5 дюймдук көбүккө тегеретип, күзгүңүздүн өлчөмүнө дал келген тегеректи сызыңыз. Албетте, сиз күзгүнүн тегерегине байкоо салсаңыз болот, бирок анда борборду таап, белгилешиңиз керек! Компас экинчи борбордук тегеректи жасоо үчүн ыңгайлуу болгон борбордук чекитти түзөт.

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Үстүнкү/алдыңкы бөлүгү бир аз чоңураак болушу керек, андыктан компасыңызды 4 3/16 дюймга чейин кеңейтиңиз жана аны астыңкы бөлүктөн коопсуз аралыкта сууруп алыңыз.

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Көпүрөңүздүн бир узун капталында бир тилкени 1/2 "туурасында, экинчисин 1" туурасында белгилеп, кесип алыңыз.

Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Чөйрөлөрдү кесүүгө! Бул жерде сабырдуулук жана сабырдуулук жардам берет. Мен кичине кол өнөрчүлүк бычакты колдонууну жакшы көрөм, анткени өзүмдү көбүрөөк көзөмөлдөйм. Мен колдонгон бычак кадимки X-акто бычактарды алат, мен аны scrapbooking коридорунан таптым.

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

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Ийри ички шакек үчүн ар бир 1/4 же андан да жука көбүктүү тилке боюнча кайчылаш кесүүлөрдү жасаңыз, бирок аягына чейин кесип салбаңыз! Бул угулгандан да оңой- эки жеңил пас жасаңыз жана сиз Бул кесимдер кесимдин ийри болуусуна мүмкүндүк берет, ал эми жылмакай ички бетин камсыз кылат.

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Сырткы рамка эң жакшы жүзүн сыртка чыгарышы керек, андыктан биз бир аз башкача түрдө кайчылаш кесимдерди жасайбыз. Алгач 3/16 "четинен 3/8" жана 1/8 "тегерегиндеги калың жана ичке бөлүктөрдү кезектештире сызык менен упай алуу үчүн даярдык көрүңүз.

Сүрөт
Сүрөт

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

Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

3 -кадам: Frame чогултуу

Frame чогултуу
Frame чогултуу
Frame чогултуу
Frame чогултуу

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт

Бул тема боюнча менин Arduino класс сабагымда сүрөттөлгөн NeoPixel кодунун үлгүсүн иштетип, NeoPixel тилкеңизди Arduino тактаңызга туташтырып, эки жолу чагылтууга көңүл буруңуз.

4 -кадам: Райондук диаграмма жана псевдокод

Райондук диаграмма жана псевдокод
Райондук диаграмма жана псевдокод

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

Байланыштар төмөнкүчө:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (маалыматтар) -> Arduino санариптик I/O пини (конфигурацияланган)

бир заматта баскычты которгучтун бир тарабы -> Arduino санариптик I/O пини (конфигурациялануучу)

бир аз баскычтын башка тарабы -> Arduino GND

Бул схема NeoPixel тилкесин ар кандай LED анимацияларын иштетүү үчүн баскыч менен бириктирет жана сиз киргизүү/чыгаруу сабагында көргөндөй ички тартма каршылыгын колдонот. Бул маалыматты колдонуп, биз "pseudocode:" деп аталган Arduino программабыздын адам окуй турган моделин жаза алабыз.

Өзгөрмөлөр: NeoPixel пин номери, баскычтын пин номери, канча Светодиод бар, LEDлар канчалык жаркыраш керек

Бир жолку тапшырмалар: баскычтын пинин ички тартылуу каршылыгы менен киргизүү, NeoPixel тилкесин инициализациялоо, LED анимацияларын сүрөттөө

Тапшырмалар: баскыч басылганын текшериңиз жана эгер бар болсо, башка LED анимациясына өтүңүз

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

5 -кадам: Breadboard прототиби

Breadboard прототиби
Breadboard прототиби

Arduino жана нан тактаңызды кармап, USB кабели ажыратылганын текшериңиз. Сиздин NeoPixels мурдагыдай эле туташтырылганбы? Абдан жакшы! Болбосо, аларды туташтырыңыз: 5В электр рельсине, Din Arduino pin 6га, GND жер темир жолуна.

Андан кийин, борбордук бөлүүчү сызыкты басып, нан табыңызга бир аз баскычты кошуңуз. Бир бутуңузду жерге темир жолго, анын кошуна бутун Arduino pin 2 -ге туташтырыңыз. Бул долбоордун кодун түздөн -түз же жогорудагы Autodesk Circuits модулунан жүктөп, "Code Editor" баскычын, андан кийин "Code Download" баскычын чыкылдатып, файлды ачыңыз. Arduino, же кодду көчүрүп, жаңы бош Arduino эскизине чаптаңыз.

Сүрөт
Сүрөт

USB кабелиңизди сайып, кодду Arduino тактасына жүктөңүз. Баскычты басыңыз; бул NeoPixels боюнча ойноо үчүн жаңы анимацияны иштетиши керек. 5V темир жолу чектелген жарыктыкта бул бир нече пикселге жетиштүү, бирок келечектеги LED диоддору үчүн, менин жеке Arduino классымдын көндүмдөр сабагында талкуулангандай, өзүнчө электр булагы керек болот.

6 -кадам: Код

Келгиле, кодду кененирээк карап көрөлү:

#define BUTTON_PIN 2 // Баскычка туташкан Digital IO пин. Бул болот

// тартылуучу резистор менен айдалат, андыктан которгуч // төөнөгүчтү бир заматта жерге тартып кетиши керек. Жогорку -> төмөн // өтүүдө баскычты басуу логикасы аткарылат. #dexine PIXEL_PIN 6 // NeoPixelsке туташкан Digital IO пин. #аныктоо PIXEL_COUNT 19 #аныктоо BRIGHTNESS 100 // 0-255 // Параметр 1 = тилкедеги пикселдердин саны // Параметр 2 = пиндин номери (көбү жарактуу) // Параметр 3 = пиксель түрүндөгү желектер, керек болгондо кошуңуз: / / NEO_RGB Пикселдери RGB бит агымы үчүн зымдуу // NEO_GRB Пикселдери GRB бит агымы үчүн зымдуу, эгер түстөр тестирлөөдө алмаштырылса // NEO_RGBW Пикселдер RGBW бит агымы үчүн зымдуу болушат // NEO_KHZ400 400 КГц бит агымы (мис. FLORA пикселдери) // NEO_KHZ8 bitstream (мис. Жогорку тыгыздыктагы LED тилкеси), неопиксел таякчасы үчүн туура Adafruit_NeoPixel strip = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = HIGH; int showType = 0;

NeoPixel мисалынын кодуна окшош, бул биринчи бөлүм NeoPixel тилкесин жана баскычтын пини, пикселдик контролдук пин үчүн ж.

жараксыз орнотуу () {

pinMode (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Бардык пикселдерди "өчүрүү" үчүн баштапкы абалга келтирүү} Орнотуу функциясы 2-пинди ички тартылуу каршылыгы иштетилген киришке коёт, пикселдердин глобалдык жарыктыгын орнотот жана пиксел маалымат байланышын баштайт.

void loop () {

// Учурдагы баскычтын абалын алуу. bool newState = digitalRead (BUTTON_PIN); // Абал жогорудан төмөнгө өзгөргөнүн текшериңиз (баскычты басуу). if (newState == LOW && oldState == HIGH) {// Баскычты чыгаруу үчүн кыска кечигүү. кечигүү (20); // Чыккандан кийин баскыч дагы эле төмөн экенин текшериңиз. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; if (showType> 6) showType = 0; startShow (showType); }} // Акыркы баскычтын абалын эски абалга коюңуз. oldState = newState; }

Цикл функциясы алгач баскычтын учурдагы абалын текшерет жана аны логикалык өзгөрмөдө сактайт (эки абалдын бири болушу мүмкүн: ЖОГОРУ же ТӨМӨН). Андан кийин ал мамлекет БИЙИКТЕН ТӨМӨНГӨ өтөрүн текшерет жана эки жолу текшерет. Эгер андай болсо, showType бирге көбөйтүлөт жана startShow функциясы чакырылат, учурдагы showType ага аргумент катары берилген (showType 0-6 менен чектелген). OldState өзгөрмөсү акыркы баскычтын абалын чагылдыруу үчүн жаңыртылган.

void startShow (int i) {

switch (i) {case 0: colorWipe (strip. Color (0, 0, 0), 50); // Black/off break; 1 -абал: colorWipe (strip. Color (255, 0, 0), 50); // Кызыл тыныгуу; 2 -абал: colorWipe (strip. Color (0, 255, 0), 50); // Жашыл тыныгуу; 3 -жагдай: colorWipe (strip. Color (0, 0, 255), 50); // Blue break; учурда 4: pulseWhite (5); тыныгуу; учурда 5: rainbowFade2White (3, 3, 1); тыныгуу; 6 -жагдай: fullWhite (); тыныгуу; }}

StartShow функциясы switch/case билдирүүсүн камтыйт, бул if/else билдирүүлөрүн топтоонун эң сонун ыкмасы. Коммутатордун иши i өзгөрмөсүн ар бир иштин мааниси менен салыштырат, андан кийин ошол билдирүүдөгү кодду иштетет. Ачкыч сөз

тыныгуу;

которгучтан/иштин билдирүүсүнөн чыгат. Бул которгуч/корпус баскычты баскан сайын ар кандай анимация функцияларын чакыруу үчүн колдонулат.

Сүрөт
Сүрөт

Эми сизде функционалдуу нан тактасынын прототиби бар, Arduino Unoго караганда кичине, азыраак жана азыраак болгон Arduino Gemma менен муну даяр долбоорго айлантуу убактысы келди. Сиз анын ордуна Adafruit Gemma колдоно аласыз, бирок Arduino программасын конфигурациялоо үчүн кошумча кадам жасашыңыз керек болот.

Биринчиден, кодуңуздагы NeoPixel pin өзгөрмөсүн 6дан 1ге өзгөртүңүз:

#dexine PIXEL_PIN 1 // NeoPixelsке туташкан Digital IO пин.

USB кабели аркылуу компьютериңизге Arduino Gemma сайыңыз жана Arduino Tools менюсунан "Arduino Gemma" тактасын тандаңыз.

Сүрөт
Сүрөт

Борттогу ATTiny85 микроконтроллеринин чектелген функциялары Uno сыяктуу эле сериялык портту колдобойт, андыктан Порт менюсунан эч нерсени тандап алуунун кажети жок. Бирок, Программист менюсунан "Arduino Gemma" тандап алууну унутпаңыз.

Сүрөт
Сүрөт

Тактага сиз аны программалоого аракет кылып жатканыңызды билүү үчүн бир аз жардам керек, андыктан тактадагы баштапкы абалга келтирүү баскычын басыңыз жана кызыл LED басылып жатканда, эскизиңизди Жеммага жүктөө үчүн Жүктөө баскычын басыңыз. Эгерде сиз баштапкы абалга келтирүү баскычын басканыңызда кызыл LEDыңыз пульстолбосо, анда USB кабелиңиз кубат үчүн гана болушу мүмкүн, жана аны кубаты жана маалымат байланыштары бар USB кабели менен алмаштыруу керек. Жарык диодуңуздун импульстук эместигинин дагы бир себеби, эгер сиз Gemma жүктөгүчтү таанууда кыйынчылыкка кабылган USB 3 портун (бардык жаңы Macs) колдонуп жатсаңыз. Компьютериңиздеги USB 2 портун же компьютериңиз менен Gemma ортосундагы USB хабын колдонуңуз.

7 -кадам: Solder Circuit

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (санарип пин 1)
  • NeoPixel GND -> баскычтын бир жагы -> Gemma GND
  • баскычтын экинчи тарабы -> Gemma 2 (санарип пин 2)

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

Сүрөт
Сүрөт
Сүрөт
Сүрөт

Сиздин Gemma ысык клейиңизди USB порту тегерек четине каратып коюңуз.

Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт
Сүрөт

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

8 -кадам: Аны колдон

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

Сүрөт
Сүрөт

Бул долбоорду USB кабелин туташтыруунун ордуна ички батарея менен оңой иштете аласыз. Gemma желимдөөчү багыты батарея портуна кирүүнү аныктайт, андыктан аны башка бурчтан кайра жабыштыргыңыз келиши мүмкүн. 19 RGBW пикселинин эсеби 80ма максималдуу учурдагы тартуу (плюс ~ 10ma Gemma үчүн) 1530мага барабар, бул техникалык жактан жок дегенде ушунча мАч батареяга муктаж экенибизди билдирет. Бирок күзгүнүн коду толук жарыктыкта төрт пикселдин диоддорун бирге колдонууга жакын келбейт, андыктан чындыгында учурдагы максималдуу тартуу аз. Батарейканын компромиссине 1200мАч кайра заряддалуучу липолий батарея кирет.

Сүрөт
Сүрөт

Бул Arduino долбоору менен бирге келгениңиз үчүн рахмат! Көбүрөөк маалымат алуу үчүн, менин киришүү Arduino классымды карап көрүңүз. Мен сиздин версияларыңызды комментарийлерде көрүп, ой -пикириңизди күтө албайм.

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