Мазмуну:
- 1 -кадам: Бөлүктөрдү алуу
- 2 -кадам: Keyswitch өзгөртүүлөр
- 3 -кадам: 3d басып чыгаруу
- 4 -кадам: Сизде азырынча бар нерселерди чогултуу
- 5 -кадам: OLEDди орнотуу
- 6 -кадам: ширетүү
- 7 -кадам: Программалоого киришүү
- 8 -кадам: Коммутаторлорду программалоо
- 9 -кадам: OLEDди программалоо
- 10 -кадам: Светодиоддорду программалоо
- 11 -кадам: чогултуу
- 12 -кадам: Сиздин жеке жакшыртууларыңыз
Video: Ыңгайлаштырылган макро механикалык баскыч: 12 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул Нускамада мен сизди Arduino тарабынан башкарылуучу 6 ачкычтуу макропадды түзүүнүн негиздери менен тааныштырам. Мен сизге керектүү нерселерди, аны кантип чогултууну, кантип программалоону жана аны кантип өркүндөтүүнү же өзүңүздүкүн жасоону үйрөтөм.
Көптөгөн изилдөөлөрдөн кийин, мен макро баскычтопту же жалпысынан колго зымдуу клавиатураны кантип жасоо боюнча чоң көрсөтмө таба алган жокмун. Ошентип, мен муну диодсуз, резисторсуз жана башка нерселерсиз, эң жөнөкөй жол менен өзүм чечтим. Мен дагы уникалдуу модулдук клавиатурага ээ болгум келди, анда мен керектүү бөлүктөрдү тартып алам, бул башка көптөгөн бөлүктөрдүн биринчиси. Бул модулдун шыктандыруусу клавиатурадагы жебе баскычтарынан болгон, аны чөнтөгүңүзгө сыйдыра алуу жана каалаган учурда каалаган жерден алып кетүү.
Бул клавиатура кантип жасалганына байланыштуу, мен сизди сатып алуу боюнча чечим чыгарардан мурун Нускаманын баарын окуп чыгууну сунуштайм.
Мен ошондой эле Instructable программасын логикалык тартипте түзүүгө аракет кылдым, бирок логикалык жактан курбайм, андыктан кантип куруп жатканыңызга жараша кадамдардын ирети менен айланып өтүү жакшыраак болушу мүмкүн.
1 -кадам: Бөлүктөрдү алуу
Эң узун кадам дал ушул жерде, тетиктерди сатып алуу жана алардын жөнөтүлүшүн күтүү. Amazon шилтемелери Канадалык Амазонка болот. Сизге керектүү болгон бөлүктөр:
-
Механикалык ачкычтар
- Мен бул жерден тунук чокулары бар Гатерондун өчүргүчтөрүн тандайм (Таза чокулар кийинки кадамды жеңилдетет, көбүнчө өчүргүчтөрдүн түрлөрү ошол жерде камтылган)
-
Сатып алуу үчүн башка жерлерди бул жерден сүйүктүү которгучтар бөлүмүнөн тапса болот
Мен ошондой эле "Сезимдер" бөлүмүнүн астында бул жерде кайсы которгучту каалаарыңызды изилдөөнү сунуштайм
-
Механикалык баскычтар
-
Алар сиз тандаган которгучка туура келээрин текшериңиз!
Ошондой эле, алар түсүн өзгөртө аласыз, ошондуктан алар арткы жарыкка шайкеш келишин текшериңиз
- Сатуучуларды бул жерде "Жаңылык ачкычтары (стандарттык өндүрүш)" бөлүмүнөн тапса болот, эгерде сиз толук баскыч баскычын каалабасаңыз.
-
-
Даректүү RGB LED тилкелери (Милдеттүү эмес, бирок абдан сунушталат)
-
Мен Amazonдон ушуга окшош нерсени сатып алдым
- LEDлар WS2812B LED экенине ынангыла, алар төмөнкү чыңалууну кабыл алышат.
- Сиз ошондой эле сүйүктүү түсүңүздүн 3 мм кадимки светодиодун сатып алсаңыз болот, бирок сизге резисторлор керек
-
-
HIDге шайкеш микро контроллер (мен Pro Micro колдондум)
-
Мен буларды Амазонкадан эң жакшы келишимге сатып алдым
Сиз башка микро контроллерлерди сатып алсаңыз болот, бирок алар Arduino менен HIDге (адам киргизүү түзмөгү) шайкеш келерин текшериңиз
-
-
128x32 I2C OLED дисплейи
Мен муну Амазонкадан сатып алдым
-
3D принтерге кирүү
- Айланаңыздагы жергиликтүү китепканаларды же мектептерди колдонуп көрүңүз жана алардын 3D принтери бар -жогун текшериңиз
- Мен жеке онлайн кызматын эч качан колдонгон эмесмин, бирок сиз дагы муну колдонсоңуз болот (ушул сыяктуу)
- Thin Wire
-
Жалпы куралдар керек
- Паяльник жана Лайк
- Side Cutter Pense
- Чакан файлдар (бир аз кошумча)
- Hot Glue Gun and Glue
- Бурамалар жана бурамалар сиз тандаган
2 -кадам: Keyswitch өзгөртүүлөр
Сатып алган өчүргүчтөрдү бөлүп баштаңыз. Биз муну жарыктын биздин клавишаларга жетүү үчүн жакшыраак жаркырашына жол берүү үчүн жасап жатабыз. Эгерде сиз RGBди колдобогон клавишаларды тандасаңыз, бул кадамды өткөрүп жибериңиз.
2 кичине шынаа алыңыз (мен 2 тегиз баштуу бурагычты колдондум) жана которгучтун капталындагы өтмөктөрдүн астына басыңыз. Анан жабылбашы үчүн үстү менен астына бир нерсе коюңуз. Башка тараптын өтмөктөрүн түртүүнү улантыңыз, андыктан эч бир өтмөк үстүн кармап турбашы керек. Андан кийин, бүтүрүп, которгучтун үстүнкү жагын ачыңыз. Адатта, төрт бөлүктөн турат, корпустун үстү жана асты, пружина жана сабагы (баскычтын капкагын кармаган которгучтун жылма бөлүгү).
Көбүрөөк жарык өтүшү үчүн корпустун түбүнөн кичинекей кичинекей бөлүктөрдү кесип баштаңыз. Адегенде плитанын которгучун кармап турган өтмөктү кесип алыңыз. Андан кийин баштапкы LED өтүшүн бир аз кесип алыңыз (4 тешиги бар бөлүк, бул LEDдин буттары үчүн). Төмөнгө түшүү үчүн ичиндеги өтмөктү акырындык менен кесип салыңыз. Андан кийин жазды кармап турган которгучтун цилиндрдик борборуна чейин кесүүнү улантыңыз. Биз мындан ары баруунун кажети жок. Андан кийин, тешикти бир аз кеңейтип, алдын ала калыпталган таянычтар менен эки жагын акырын кесип салыңыз. Дагы бир кошумча кадам - бул файлды түшүрүү, аны жакшы жана анча -мынча бүктөө. Корпустун ичинде пластикалык биттер жок экенин текшериңиз, анткени сиз которгучтун жабышып калышын каалабайсыз. Бул кыскартууларды жай жана кичине кылганыңызга ишениңиз, анткени мен капуста кескичтердин туурасынан бир нече корпусту бөлүп салдым.
Эгерде сиздин которгучтун жогорку жарымы так эмес болсо, анда жарыктын жаркырашына жол берүү үчүн аны өзгөртүүгө аракет кылыңыз. Өчүргүчтү бузбастан акырындык менен аракет кылыңыз, анткени сиз сабактын түшүшүн каалабайсыз. Мүмкүн болгон чечим, кадимки светодиодду кармап турган пластикти кесип алып, сабагын жабык бойдон калтырып, аны түшүрүү гана болушу мүмкүн.
3 -кадам: 3d басып чыгаруу
Төмөндөгү zip файлдарынын бирин жүктөп алып, 3d кылып басып чыгарышыңыз керек болот. Сиз каалаган нерсеге жараша ар кандай версиялар болот. Бардык кадимки stl файлдары бар папка болот (KeybArrowSTLFiles), жана Autodesk ойлоп табуучу файлдары бар (KeybArrowSourceFiles), сиз файлдарды өзгөртүп, аларды өз керектөөлөрүңүзгө өзгөртө аласыз. Файлдар мен баскандардан бир аз айырмаланат, мунун себеби кээ бир дизайн кемчиликтери болгон жана мен аларды жакшырта аларымды сездим. Мисалы, иштин капталдары болмок, меники бир аз өтө жогору болгондуктан, клавишалар ылдый түшпөйт, жаңы файлдар муну оңдошу керек.
Алардын дизайны өтө татаал, 30дан ашык кадамдан турган. Менин айтайын дегеним, эгер сиз башка өлчөмдөгү корпусту жасоону кааласаңыз, анда бир аз татаал 3d дизайндары менен тажрыйбаңыз бар экенине ынанууңуз керек. Бул чындыгында 3d дизайнына жаңы келген адамдар үчүн эмес.
Корпустун файлдарынын экөө тең 3 градус бурчта экенин эске алып, аларды керебетке тегиз буруп коюңуз
4 -кадам: Сизде азырынча бар нерселерди чогултуу
Эми бизде бардык бөлүктөрүбүз бар жана 3d басылган бөлүктөрүбүз бар, аны бир аз чогултууга убакыт келди!
Бардык 6 өчүргүчтү табакка салып, аларды ордуна чаптаңыз. Биз аларды жабыштырышыбыз керек, анткени биз аны кармап турган өтмөктөрдү кесип салдык. Мен OLEDге коюуну күтүүнү сунуштайм, анткени сиз анын кыйшайышын каалабайсыз.
Андан кийин, 6 светодиодду өчүрүп, аларды LED плитасына коюңуз. Табактагы төрт бурчтуктар сизге LED ди түздөөгө жардам берет. Чарчы диоддор аларга туура келет, андыктан тегиздикке жардам берүү үчүн башка бирөөнү 3d басып чыгарсаңыз болот, же жөн эле аны арткы жагына сызып коюңуз. Жебелер башка диоддорго багытталганын текшериңиз, анткени DO DIге ширетилет. Светодиоддорду ысык клей менен жабыштыруу үчүн ошол квадраттарды колдонуңуз жана аларды кармаңыз жана клейдин кармалышын күтүңүз.
Мен светодиодду (сүрөттөрдө) кармоо үчүн өчүргүчтөрдүн прототип пластинкасын колдондум, анткени жипти текке кетирүүнү жактырбайм жана кайра колдонууну чечтим. Жаңы файл эч нерсеге таасир этпейт, жөн гана тегиздөөнү жеңилдетет.
5 -кадам: OLEDди орнотуу
Мен кылдат жүрүү үчүн бул инструкцияны колдонууну сунуштайм. Алар муну түшүндүрүү үчүн абдан жакшы иш кылышты.
Коддун иштеши үчүн бул китепкананы жана бул китепкананы жүктөп алып, импорттоо керек болот.
Алгач аны зымга байлаңыз. WC VCCге жана GNDден GNDге. Андан кийин SDA жана SCL төөнөгүчтөрүн зымга сайыңыз. SDA жана SCL төөнөгүчтөрү ар бир Arduinoдон айырмаланышы мүмкүн, бирок про микродо SDA 2 -пинге чейин, ал эми SCL 3 -пинге чейин туташтырылган, эгерде сиз SDAнын кандай казыктары бар экенин билбесеңиз, микро контроллериңиздин пинутун издеңиз. жана SCL туташтырылган.
Кийинки, аны көрсөтүү жана сүрөттөрдү алуу. Төмөндө аны кантип иштетүү керектиги тууралуу файлдар болот. Биринчи кадам - ScreenScan кодун колдонуу (бул жерде Arduino тарабынан берилген). Кодду Pro Microго жүктөп, Сериялык окурманы ачыңыз (үстүндөгү куралдар өтмөгүнүн астында). Бул сизге OLEDдин дарегин жана дарегин окуп берет. Эгер дарегиңиз 0x3C болсо, анда эч нерсени өзгөртүүнүн кажети жок. Эгер андай болбосо, анда барып, ssd1306_128x32_i2c кодундагы даректи жана акыркы кодду (ArrowKeypad деп аталат) туура иштеши үчүн өзгөртүү керек.
Эми 128x32 i2c коду үчүн (ssd1306_128x32_i2c деп аталат) Adafruit ssd1306 китепканасына киргизилген мисал кодун сынап көрүңүз.
Андан кийин, Arduino күйгүзүлүп, OLEDди которуштуруу плитасына тизип көрүңүз, андан кийин өчүрүп, ордуна чаптап көрүңүз. Сиз, балким, бул биринчи аракетти көрбөйсүз, бирок аягына чыкканда бурчка түшпөшү үчүн, аны тегиздөө үчүн жөндөөнү улантыңыз. Мен бир жагын бир аз жабыштырууну сунуштайм, ал эми экинчи тарабын жабыштыруудан мурун анын кыйшык эмес экенин текшериңиз.
Кодду азыр жүктөп алыңыз жана кийинчерээк ушул Нускамада 8 -кадамдагы башка код файлдарын колдонуңуз
6 -кадам: ширетүү
Fritzing файлы төмөндө жеткиликтүү болот. Бул сизге схемалар менен өз ара аракеттенүүгө мүмкүндүк берет жана эгер сиз сол баскычты басып кармап турсаңыз, файлды ачуудан мурун Fritzingке импорттолушу керек болгон бардык зымдар (сары чекиттер менен белгиленген) кандай болгонун көрө аласыз (үчүн Pro Micro жана LED).
"MOSI, MISO же SCLK" этикеткаларынын КОЛДОНУЛБАГАНДЫГЫН текшериңиз, болбосо OLED менен мүчүлүштүктөр пайда болот
6 диодду бир тилкеге кесип, пластинкага жабыштыргандан кийин. Жез төшөмөлөргө ширетүүчү темирди коюп, ар бир подшипникке кошуп коюңуз. Зымдын кичинекей бөлүктөрүн кесип, жарымын сыйрып, бурап, анан экинчи жарымын алып, зымды бурап алыңыз. Зымды кычкач же кээ бир ширетүүчү жардам колу менен кармоо керек болот, ал эми сиз аны ширетүүчү тарабынан кармап турасыз. Аны жакшылап кармоо үчүн көбүрөөк ширелерди кошуңуз. Катардагы диоддордун бардыгын чогуу ээрчиңиз. Зымды кесип, "DO" же "D-" энбелгиси менен биринчи катардагы LEDдин аягына чейин ширетип, экинчи диапазондогу "LED" же "D+" энбелгиси менен туташтырыңыз. '. Сиз муну 5v жана GND менен да жасай аласыз, бирок ар бир катардагы биринчи 5v жана GND диоддору зым менен бириктирилсе, бул оңой. 5V зымын VCCге, Data pinди каалаган санариптик пинге (коду 10 деп белгиленген) жана GND Arduinoдогу GNDге өткөрүңүз.
Arduino'го кирүүнү таануу үчүн, өчүргүчтөр жерди маалымат пинине туташтырышы керек. Ошентип, сиз бардык 6 өчүргүчтү жерге туташтыруу үчүн бир зымды ширете аласыз. Ар бир которгучка бир зымды ээрчиңиз, эгер мүмкүн болсо, зымдын түстөрүн өзгөртүүгө аракет кылыңыз, бул эмне зым экенин текшерип туруу. Зымдарды LED плитасы аркылуу өткөрүңүз жана Arduino'догу маалымат түйүнүнөн өткөрүңүз (мен бул үчүн 5-9 маалымат төөнөгүчтөрүн колдондум)
Капталдагы эки которгучтун ар кандай функциялары бар, бири программалоо үчүн баштапкы абалга келтирүү, экинчиси баскычтардын функцияларын тез өзгөртүү үчүн клавиатуранын катмарлары арасында которула турган функция алмаштыргыч. Жогорку которгуч, (RST) жана GND'ди баштапкы абалга келтирүү үчүн зымдуу, туташканда, ал баштапкы абалга келтирет. Төмөнкү которгуч Pro Microдо A0 деп белгиленген 18 -пинге чейин зымдуу. Өзүңүздү которгуч зымдары менен бошоңдоп бериңиз, анткени сиз дагы эле плиталардын ичине жылышыңыз керек жана зымдын өтө азы уруксат бербейт. плиталар үстү аркылуу киргизилет.
7 -кадам: Программалоого киришүү
Ишти жапкыңыз келгенче, аны текшерип, иштээрин текшериңиз. Аны азыр чогултуу үчүн 11 -кадамга өтсөңүз болот. Мен аны алдын ала тестирлөө аны ачуу жана жабуу убактысын азайтууга жардам берет деп ойлойм. Бул көп таасир этпеши керек болсо да, мен Arduino IDE 1.8.3 версиясын колдондум, андыктан сизде көйгөйлөр болсо, бул версияны колдонууга аракет кылыңыз. Код 5 -кадамда, бул ZIP файл, аны сиз Arduino аркылуу чыгарып, жүктөп беришиңиз керек болот.
Төмөндө бир нече коддор болот. Бири акыркы код болот, экөө OLEDди сыноо (бири сыноо үчүн, бири дарегин табуу үчүн), бири RGBди текшерүү үчүн болот. Коммутаторлорду текшерүү үчүн акыркы кодду колдонуңуз.
Эгерде сиз өзүңүздүн кодуңузду иштеп чыгууну кааласаңыз, мен муну кийинки 3 этапта үйрөтүп жатам, бирок эгер сиз менин кодумду колдонууну же аны алып, өзгөртүүнү кааласаңыз, анда баары жакшы.
Муну программалоонун кээ бир негиздери
- "Куралдар" өтмөгүнүн астында, андан кийин "Такта" өтмөгүндө, аны Arduino Leonardo'го коюңуз (Эгерде сизде Pro Microдон башка микро контроллер болбосо)
- Кодду Pro Microго жүктөгөн сайын баштапкы абалга келтиргичти колдонуңуз. Мен компиляция тилкеси толуп, дагы эле жүктөлүп жаткан учурда, программаны которуштуруу жана өчүрүү үчүн эң ылайыктуу учур экенин байкадым. (Эгер муну жасабасаңыз, жүктөө жүктөлбөй калат.)
-
Бардык колдонулган китепканалар орнотулуп, импорттолушу керек
Импорттоо үчүн, куралдар өтмөгүнө өтүп, китепкананы кошууну чыкылдатыңыз. (Көңүл буруңуз, веб -баракчадагы менин мисалдарым китепкананын аталышына ээ болушу керек, мен аларды кийинки бир нече кадамдын мисал коду бөлүмүнө киргизе алган жокмун)
-
LED жана OLED китепканалары объект катары инициализацияланат, сиз каалаган нерсеңизди атасаңыз болот, бирок демонстрация үчүн мен аларга "тилке" жана "дисплей" деп ат берем
Функцияларды объектинин атын терүү, чекит коюу, андан кийин колдонууну каалаган функцияны терүү аркылуу чакырыңыз
Кийинкиде LED диоддорун сынап көрүңүз, кодду жүктөңүз жана алардын бардыгы иштээрин текшериңиз. Эгерде эч нерсе иштебесе, анда сиздин аларга бара турган төөнөгүчүңүз жок болсо, анда биринчи светодиоддун ширетилгенин текшериңиз.
Акырында, которгучтарыңызды текшерүү үчүн акыркы кодду колдонуңуз. Бул эң оңой жасалышы керек. Белгилей кетчү нерсе, азыр HID кодун жүктөгөндөн кийин, сиз кодду жүктөгөн сайын Arduino'ду баштапкы абалга келтиришиңиз керек болот. Жөн гана аны жүктөө аркылуу жарымына кайтарыңыз жана ал иштеши керек.
8 -кадам: Коммутаторлорду программалоо
Бардык программалоонун ичинен которгучтар эң аз татаал. Аны клавиатура катары таануу үчүн Arduino клавиатурасынын китепканасы жана шарттуу билдирүүлөр гана керек. Мен сыяктуу Pro Micro колдонуп жатсаңыз, Tools өтмөгүнүн астына Board Arduino Leonardo орнотулганын текшериңиз.
Биз шарттуу билдирүүлөр менен баштоо алдында, биз казыктарын орнотуу керек. Биз муну бир гана жолу иштетишибиз керек, андыктан муну боштук орнотуусуна салыңыз. PinMode менен баштоо (PinNum, INPUT_PULLUP); Бул Arduinoго PinNum кирүүнү күтүп жаткандыгын жана ага тартылуу каршылыгын кошоорун айтат (андыктан аппараттык жабдууларга зым салуунун кереги жок)
Кирүүчү тартууда 2 абал бар, LOW жана HIGH. Arduino жерге (GND) туташканда пинде LOW окуйт жана ажыратылганда HIGH дегенди окуйт. Пиндин эмне окуп жатканын билүү үчүн, digitalRead (PinNum) колдонобуз.
Негиздерден баштап, ачкыч басылганын билүү үчүн шарттуу if операторлорун колдонобуз. Биз муну кайра -кайра иштетүүнү каалайбыз, ошондуктан бул боштуктун айлануусун каалайбыз. Эгерде ачкыч "LOW" деп катталган болсо, анда биз ачкычты басууну каалайбыз, жана баскыч "HIGH" болгондо бошотулсун. Муну кылуу үчүн, биз код кылабыз if (digitalRead (PinNum) == LOW) {[Код баскыч басылганда]} жана if (digitalRead (PinNum) == HIGH) {[Баскыч бошотулгандагы код] }
Баскычтоптун коду үчүн баскычтоптун китепканасын импорттоңуз. Клавиатура кой.begin (); боштук орнотууда. Андан кийин шарттуу билдирүүлөрүбүздүн ичинде keyboard.press ([key]) колдонобуз; жана keyboard.release ([key]); же keyboard.releaseAll (); эгер сизде бир нече баскычтар басылган болсо. Сиз дагы keyboard.print ([String]) колдоно аласыз; жана keyboard.println ([String]) саптарды басып чыгаруу үчүн, сырсөз сыяктуу. print жана println окшош, бирок println жөн гана ENTERди кошот, андыктан ал автоматтык түрдө кийинки сапка өтөт.
9 -кадам: OLEDди программалоо
OLEDди программалоодон баштап, сизде негизги орнотуу коду болушу керек. Бул негизинен компьютерге сиздин OLED кайда жайгашканын, анын өлчөмүн жана кантип программаланганын айтат. Сиз OLED үчүн жөндөө кодун алгандан кийин, сиз тек гана текстти көрсөтүп жатасыз деп ойлосоңуз, аны программалоо абдан жөнөкөй болушу керек. Биринчиден, Wire жана SSD1306 китепканалары кирет.
OLED_RESETти 4 деп аныктап, кодуңузга SSD1306 китепканасын кошуңуз. Adafruit_SSD1306 дисплейин коюңуз (OLED_RESET); кодуңузда Adafruit SSD1306 китепканасын колдонууну баштаңыз.
Serial.begin менен баштоо (9600); анда display.begin (SSD1306_SWITCHCAPVCC, 0x3C); i2C дисплейин 0x3C дареги менен баштоо үчүн (эгер ал 5 -кадамда өзгөрбөсө). Бул экөөнү тең жараксыз орнотууга салыңыз, анткени алар бир гана жолу иштетиши керек.
Дисплейди программалоодон мурун, display.clearDisplay колдонгонуңузга ынанууңуз керек. Эгер сиз антпесеңиз, киргизилген нерсе бири -бирине дал келет жана өзгөргөн нерсеге жараша, окулбайт. Сиз ошондой эле келип чыгышын орноткуңуз келет, ошондуктан display.setCursor колдонуңуз (0, 0); аны дисплейиңиздин чекитине коюу үчүн (0, 0) баскычын баштапкы абалга келтириңиз. Тексттин өлчөмүн коюу үчүн display.setTextSize (1) колдонуңуз; Мен 1ден чоң болбойт элем, ал күтүлгөндөн алда канча чоң.
Биздин дисплей монохромдуу болсо да, тексттин түсүн орнотушубуз керек, ошондуктан аны display.setTextColor (WHITE) сыяктуу программалайбыз;
Эми сизде китепкана импорттолуп, дисплей объектиңиз бар болгондуктан, сиз аны программалоону баштасаңыз болот. Текстти кошуу үчүн display.print () колдонуңуз; жана display.println (); саптарды басып чыгаруу. Дагы, басып чыгаруу кайтып келүүнү кошпойт, ал эми println бир нерсе кайра басылганда автоматтык түрдө кийинки сапка кайтат.
Көрсөтүү үчүн бир нерсе алаардан мурун, OLEDди жаңыртып, жаңыртууну айтуу үчүн, display.display () колдонуңуз; параметрлери жок жана ал жаңыртылат.
Код азыр окшош болушу керек:
// Фостер Филлипс жасаган код
#include Adafruit_SSD1306.h #Include Wire.h #deleine OLED_RESET 4 Adafruit_SSD1306 дисплейи (OLED_RESET); void setup () {pinMode (SWITCH, INPUT_PULLUP); Serial.begin (9600); display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.display (); кечигүү (2000); display.clearDisplay (); display.setTextSize (1); display.setTextColor (АК); } void loop () {display.display (); кечигүү (2000); display.clearDisplay (); display.setTextSize (1); display.setCursor (0, 0); display.println ("Hello World!"); display.println ("Hello Instructables!"); }
Бул Instructable жана бул Github шилтемеси көйгөйлөрдү чечүү жана дисплейди программалоо боюнча көбүрөөк маалымат алуу үчүн абдан жакшы шилтемелер.
10 -кадам: Светодиоддорду программалоо
Светодиоддор да абдан жөнөкөй. Биз Adafruit Neopixel китепканасын колдонобуз. Жеке, NeoPixel китепканасы, эгер сиз буга чейин программалаган болсоңуз, Processing программасына абдан окшош.
Биринчи орнотуу коду бар, биз колдонуп жаткан китепкананы чечебиз жана массивди орнотобуз, анда пинде канча LED бар экенин, маалымат үчүн кандай пин бар экенин жана ал кантип программаланганын айтат. Бул Adafruit_NeoPixel strip = Adafruit_NeoPixel (6, 10, NEO_GRB + NEO_KHZ800) сыяктуу мисал менен жасалат; Бул 6 светодиод бар экенин түшүндүрөт, пин 10 -пин, жана NEO_GRB + NEO_KZH800 даректүү тилкелердин түрүн колдонот. Адатта акыркы аргументке тийүүнүн кереги жок, мен колдонгон LED тилкелери өзгөргөн жок.
Андан кийин strip.begin () керек; аларды колдонууга даяр экениңизди көрсөтүүчү функция. Эч нерсе кашаанын ичинде болбошу керек.
Муну алгандан кийин, тилке менен ар кандай функцияларды чакырсаңыз болот. [Function]
Сиз билишиңиз керек болгон нерсе - strip.setPixelColour. Бул кашаанын ичинде 4 функция бар. Сизде Светодиоддордун "массивинде" LED бар (эсиңизде болсун, массивдер 0дөн башталат) жана тиешелүү Кызыл, Жашыл жана Көк түстөр 0-255ке чейин. Бул сиз каалаган түстү алуу үчүн каалаган Кызыл Жашыл жана Көк баалуулуктарды аралаштырууга мүмкүндүк берет. Код мындай болушу керек: strip.setPixelColour (0, 0, 255, 255); эгер сиз биринчи LEDде көк түстү кааласаңыз.
Светодиод ошол маалыматтарды жибериши керек, бул strip.show (); кылат. Сиз алар менен бир нерсени өзгөрткөндөн кийин пикселдерди жаңыртат. Эч нерсе кашаанын ичине кирүүнүн кажети жок.
Код мындай болушу керек:
// Фостер Филлипс жасаган код
#кошуу Adafruit_NeoPixel.h #PIN аныктоо 10 #аныктоо Num 6 Adafruit_NeoPixel тилкеси = Adafruit_NeoPixel (Num, PIN, NEO_GRB + NEO_KHZ800); void setup () {strip.begin (); strip.show (); } void loop () {strip.setPixelColor (0, 255, 0, 0); strip.setPixelColor (1, 255, 0, 0); strip.setPixelColor (2, 255, 0, 0); strip.setPixelColor (4, 255, 0, 0); strip.setPixelColor (3, 0, 0, 255); strip.setPixelColor (5, 0, 0, 255); strip.show (); }
Көбүрөөк маалыматты бул жерден тапса болот.
11 -кадам: чогултуу
Бул, балким, эң оңой жана эң сонун кадам.
Профилди жабуу үчүн Pro Microго салып, жылдырып баштаңыз. Аны ысык клей менен ордуна чаптаңыз.
Корпус/жабуу сиз которгуч пластинаны жана LED пластинасын капталга түшүрүү үчүн иштелип чыккан. Жөн эле жылдырып коюңуз, жана аны кантип басып чыгарганыңызга жараша, пластмассаны алып салуу үчүн слайддын ичин толтуруп же кесип салышыңыз керек болот.
Андан кийин, бурамаларыңызды алыңыз жана ошол жерге тыгып, өз бурама тешиктериңизди жасаңыз. Файлдарды иштеп чыгууда менде атайын бурамалар жок болчу, ошондуктан мен болжол менен бураманын тешигин жасап, өзүмдүн ичине сайып койгом. Аны күйгүзгүч менен жылытуу аны керектүү бурамага келтирүүгө жардам берет жана көбүнчө катмарларды бекемдейт. Бурамаларга ашыкча түртпөңүз, болбосо башыңызды сыйрып аласыз. Мен бул тобокелдикти азайтуу үчүн Аллендин негизги бурамаларын колдондум.
Андан кийин жөн эле баскычтардын капкактарын баскычтарга басыңыз. Андан кийин ал дээрлик жасалды! Менин Arrow Key Macropad версиясы аяктады!
12 -кадам: Сиздин жеке жакшыртууларыңыз
Эми менин версиямды кантип жасоону билсеңиз, өзүңүз жасай аласыз! Баскычтоптор, албетте, өзүңүздү билдирүү жөнүндө болушу мүмкүн, андыктан башка бирөөнүн дизайнына ээ болуу, аны өзүңүзгө ылайыкташтырмайынча кызыктуу эмес! Сиз кыла ала турган көптөгөн жакшыртуулар бар! Бул жерде мен кошумчалагым келген же ойлонгум келген жакшыртуулар!
- Tetris программасы жана башка жөнөкөй оюндар
- Аны Bluetooth кыл
- Слайдшоудагы маалыматтарды окууга жана OLED дисплейинде көрсөтүүгө уруксат берүү (слайддын номерин жана слайддын атын көрсөтүү)
-
Бул техниканы колдонуу менен толук өлчөмдөгү клавиатура же чоңураак макропад жасаңыз
Бул үчүн сиз которуу матрицасын жасоону үйрөнүшүңүз керек
- Көбүрөөк түстүү программаларды программалаңыз
- Оюндар үчүн программа макростары, видео түзөтүү ж.б.
- Autodesk Inventor булак файлдарын колдонуңуз же өзүңүздүкү кылып өзгөртүңүз!
- Музыкалык ойноткуч катары эки эсе көп болушу үчүн үн тактасын кошуңуз
Жасоо кызыктуу болсун! Кеңештерди кошуп коюңуз же менден тактоону сураныңыз!
Башка бөлүктөрдүн прогрессин көргүңүз келсе, менин Инстаграммды карап көрүңүз. Менин көрсөтмөмдү окуганыңыз үчүн рахмат!
Микроконтроллер конкурсунда экинчи орун
Сунушталууда:
UK Ring Video Doorbell Pro механикалык коңгуроо менен иштөө: 6 кадам (сүрөттөр менен)
Улуу Британиянын Ring Video Doorbell Pro механикалык коңгуроо менен иштөө: ************************************** *************** Бул ыкма азыр AC кубаты менен гана иштээрине көңүл буруңуз, эгерде мен DC кубатын колдонуп эшиктин коңгуроосуна чечим тапканымда, эгерде сизде DC кубаты болсо камсыздоо, сизге керек болот
Баскыч (Баскыч); // An Arduino LCD оюну: 5 кадам (сүрөттөр менен)
Баскыч (Баскыч); // An Arduino ЖК оюну: Жакында Скауттарда мен Оюн Дизайнынын татыктуу бейджиги менен иштедим. Талаптардын бири үчүн, мен бул оюнду LED Rocker Game'ге негизделген Arduino менен кургам. Оюндун мааниси мүмкүн болгон эң көп упай топтоо. Т -дын башында
AF менен Diy макро линзасы (башка DIY макро линзаларынан айырмаланып): 4 кадам (сүрөттөр менен)
AF менен Diy макро линзасы (Башка DIY макро линзаларынан айырмаланып): Мен көптөгөн адамдарды стандарттык комплект линзасы менен макро линзаларды жасоону көрдүм (Адатта 18-55мм). Алардын көбү камерага артка жабышкан же алдыңкы элементи алынып салынган линзалар. Бул эки варианттын тең терс жактары бар. Линзаны орнотуу үчүн
AVR микроконтроллери. Баскыч баскычын колдонуп LEDди өчүрүү. Баскыч баскычын чыгаруу: 4 кадам
AVR микроконтроллери. Баскыч баскычын колдонуп LEDди өчүрүү. Push Button Debouncing .: Бул бөлүмдө биз ATMega328PU үчүн үч LEDдин статусун баскычты которгучтун киргизүүсүнө ылайык алмаштыруу үчүн C программасын кантип жасоону үйрөнөбүз. Ошондой эле, биз "Switch Bounce" көйгөйүнүн чечилишин изилдедик. Адаттагыдай эле, биз
Баскыч интерфейси 8051 жана 7 сегменттеги баскыч сандарын көрсөтүү: 4 кадам (сүрөттөр менен)
Баскыч интерфейси 8051 жана 7 сегментте баскычтоп сандарын көрсөтүү: Бул үйрөткүчтө мен клавиатураны 8051 менен кантип интерфейстештирүү жана 7 сегменттеги дисплейде баскычтардын санын көрсөтүү жөнүндө айтып берейин