Мазмуну:
- 1 -кадам: Бөлүктөр
- 2 -кадам: Кабелдөө
- 3 -кадам: Альтернативдүү зымдар
- 4 -кадам: Код + Түшүндүрмө
- 5 -кадам: Окуганыңыз үчүн рахмат
Video: Понг тенниси LED Matrix, Arduino жана Joysticks менен: 5 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:39
Бул долбоор башталгычтарга жана тажрыйбалуу шылуундарга арналган. Негизги денгээлде муну нан менен, секиргич зымдар менен жасоого болот жана Blu-Tack менен эч кандай ширетүү жок болгон сынык материалга (мен жыгач колдонгом) жабышып калам. Бирок, өркүндөтүлгөн деңгээлде, аны тактага же ыңгайлаштырылган ПКБга ширетүүгө болот.
Бул блокировка долбоору болгондуктан, мен көптөгөн шаймандарга же материалдарга кире алган жокмун, ошондуктан ал Blu-Tack менен бир аз өтө кичинекей жыгачтын сыныгына жабышып калды, бирок буга карабастан, бул чогуу келген кызыктуу долбоор тез жана Интернетте арзан табууга мүмкүн болгон жалпыга жеткиликтүү бөлүктөрдөн турат.
1 -кадам: Бөлүктөр
Понг оюнун жасоо үчүн сизге керек;
- 1x An Arduino (каалаган түрү иштейт)
- 4x MAX7219 8x8 LED матрицалары
- 2x джойстиктер
- 1x Piezo Buzzer (Милдеттүү эмес)
- 15х Аял-Аял Jumper Wires (5тен 3 топ)
- 15x Эркек-Аял Jumper Wires (5тен 3x топтору)
- 18x Эркек-Эркек Jumper Wires
- 1x нан тактасы
- 1x 220Ω резистор
Arduino Uno же Nano тактасынын ордуна Arduino негизделген нан тактасын колдонсоңуз болот;
- 1x ATmega328p 28pin IC
- 1х 16 кГц кристалл осциллятору
- 2x 22pF керамикалык конденсаторлор
- 1x USB FTDI UART Converter
- 1x 100uF электролиттик конденсатор
- 1x Micro USB Breakout (Милдеттүү эмес)
Куралдар;
- PC Arduino IDE менен (жана LedControl китепканасы)
- Сиздин Arduino үчүн тиешелүү USB кабели
- Power Bank оюнду компьютериңизден алыстатуу үчүн
2 -кадам: Кабелдөө
Зымдар абдан жөнөкөй, анткени сизге матрицанын жана джойстиктин башын Arduino менен туташтыруу үчүн секирүүчү зымдар жетиштүү. Жалгыз татаалдык - бул күч, анткени Arduino Uno 3 GND жана 5V туташуусу бар. Бул жерде панель келип, бардык компоненттер үчүн электр бөлүштүрүүчү темир жол катары иштейт, эгерде сиз НАНО колдонсоңуз, нандын тактайы ошол эле максатта кызмат кылат жана бардыгын туташтырууга мүмкүндүк берет.
Өткөрүү үчүн бул байланыштарды аткарыңыз.
- Сол Джойстик - GND жана 5v тиешелүү электр рельстерине. SW - пин 9, VRx - A0, VRy - A1.
- Оң джойстик - GND жана 5v тиешелүү электр рельстерине. SW - пин 8, VRx - A2, VRy - A3.
- Rightmost LED Matrix - GND жана 5v тиешелүү электр рельсине. DIN - 13, CS - 11, CLK - 12. (25 -сап боюнча)
- Башка бардык LED матрицалары биринчисинин оңунан солго карай кетүүсүн чечип койсо болот, андыктан код туура иштейт.
- Кошумча Buzzer - Анод (+) аркылуу 220Ω токту чектөөчү резистор 10, Катод (-) - GND.
3 -кадам: Альтернативдүү зымдар
Аны мейкиндикти үнөмдөө үчүн Arduino UNO менен кошкондон кийин, мен Arduino ICди UNOдон 16Mhz кристалл осциллятору жана 22pF конденсаторлору менен ар тараптан жерге коюуну чечтим. Менимче, бул татыктуу модификация болду, анткени ал долбоорду тыкан жана бүтүргөндөй кылат, бирок программаны жаңыртуу үчүн USB FTDI программистин колдонушуңуз керек.
4 -кадам: Код + Түшүндүрмө
Кодду Arduinoго жүктөө үчүн LedControl китепканасын GitHubдан бул жерден жүктөп алыңыз, github.com/wayoda/LedControl жана Zip файлын кошуңуз же IDE ичиндеги Китепкана менеджери аркылуу кошуңуз. Андан кийин тиркелген эскизди ачыңыз, куралдар астындагы Arduino тактасынан жана порт орнотууларынан тандап, аны arduinoго жүктөңүз.
Түшүндүрмө
1 -сап: Китепкана кошулат
5-23-сап: Бардык өзгөрмөлөрдү, константаларды жана пин сандарды орнотот.
25 -сап: LED Martixти орнотот жана башкаруу казыктарын жана канча дисплейди орнотот.
27 -сап: Баштапкы абалга келтирүү функциясын орнотот.
30-35-сап: Бардык дисплейлерди чогуу күйгүзүү/өчүрүү функциясы.
38-43-сап: SetIntensity функциясы бардык дисплейлердин жарыктыгын бирге орнотуу үчүн.
46-51-сап: ClearAll функциясы бардык дисплейлерди бирге тазалайт.
53-64-сап: джойстиктин функциясы, джойстиктердин абалын алуу үчүн, аларды топту уруу үчүн 7 мүмкүн болгон жарганат позициясына карта коюп, анан жарганатты жаңы позицияга жылдырат.
67-435-сап: Топту белгиленген бийиктикте жана ылдамдыкта сол оюнчуга жылдыруучу функция, оюнчу аны урганын текшерет, же улантат жана авариянын абалын чын деп коет же топту артка кайтарат, эсепке 1 кошот жана ылдамдыгын жогорулатат.
Линия 438-811: Топту белгиленген бийиктикте жана ылдамдыкта оң оюнчуга жылдыруучу функция, оюнчу аны урганын текшерет, же улантат жана кырсыктын абалын чын деп коет же топту артка кайтарат, эсепке 1 кошот жана ылдамдыгын жогорулатат.
Сап 813-823: Белгиленген дисплейге Smiley Face, Tick, Cross же суроо белгисин көрсөтүү функциясы (оңдо 0 солго 3).
Сап 861-979: 0-9 сандарын көрсөтүлгөн дисплейге көрсөтүү функциясы.
Линия 981-1047: Экрандын ар бир оюнчусуна эсепти көрсөтүү функциясы.
Сап 1049-1064: Функция, оюнчунун даяр экендигин текшерүү.
Сап 1066-1076: Орнотуу программасы башталганда бир жолу иштетилүүчү коддун бөлүмү.
Сап 1078-1136: Негизги цикл бөлүмү, логикалык логика үчүн, анда бардык функциялар колдонулат жана ким жеңет, ошондо 5 секунддан кийин программаны кайра баштайт.
5 -кадам: Окуганыңыз үчүн рахмат
Бул Нускаманы окуганыңыз үчүн рахмат, бул бир нече күндүн ичинде чогулган кызыктуу блокировка долбоору, мен Arduino программалоо жөнүндө көбүрөөк билдим. Эгер сизге жакса, Arduino конкурсунда ага добуш берсеңиз болот.
Сунушталууда:
LED стол тенниси Ball-Ball: 16 кадам (Сүрөттөр менен)
LED стол тенниси боюнча топ-топ: Backstory Бир аз убакыт мурун стол тенниси топторунун жалпак панелин кургандан кийин, стол теннисинин топторунан 3D панелин жасоого болобу деп ойлоно баштадым. Менин " искусство " кайталануучу геометриялык фигуралардан I
Arduino Uno жана OLED 0.96 SSD1306 дисплейи менен ПОНГ оюнун ойноо: 6 кадам
Arduino Uno жана OLED 0.96 SSD1306 дисплейи менен ПОНГ оюнун ойноңуз: Салам балдар, бүгүн биз Arduino менен ПОНГ оюнун жасайбыз. Биз оюнду көрсөтүү үчүн adafruit's 0.96 oled дисплейин колдонобуз & оюнду башкаруу үчүн баскычтарды басыңыз
WiFi жана IR Remote жана Android колдонмосун колдонуп NodeMCU жана IR алуучу менен 8 релелик көзөмөл: 5 кадам (сүрөттөр менен)
WiFi жана IR Remote жана Android тиркемесин колдонуп NodeMCU жана IR алуучу менен 8 реле көзөмөлү: wifi жана ир алыскы жана андроид колдонмосу аркылуу nodemcu жана IR кабыл алгычты колдонуп 8 реле өчүргүчтөрүн көзөмөлдөө БУЛ ЖЕРДЕ
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: 13 кадам (сүрөттөр менен)
Температура жана нымдуулукту көрсөтүү жана маалыматтарды чогултуу Arduino жана иштетүү менен: Киришүү: Бул Ардуино тактасын, Sensor (DHT11), Windows компьютери жана Processing (бекер жүктөлүүчү) программасын колдонуп, Температураны, Нымдуулукту санариптик жана тилке графасынын формасы, убакытты жана күндү көрсөтүү жана эсептөө убактысын иштетүү
Понг менен LED шляпа дисплейи: 12 кадам (сүрөттөр менен)
Понг менен LED шляпа дисплейи: Бир аз мурун, менин биринчи микроконтроллер долбоорум катары, мен 5x7 LED дисплейинде понг оюнун жасадым, бирок андан кийин эч нерсе болгон жок. Жакында мага форманын бир бөлүгү катары калпак берилди (инженердик мелдеш үчүн) жана аны ыңгайлаштыруумду айттым жана эстедим