Мазмұны:

Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер: 5 қадам (суреттермен)
Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер: 5 қадам (суреттермен)

Бейне: Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер: 5 қадам (суреттермен)

Бейне: Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер: 5 қадам (суреттермен)
Бейне: Giant Ping Pong Ball LED Matrix - with Raspberry Pi 4 2024, Шілде
Anonim
Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер
Жарықдиодты матрицасы бар понг теннисі, Ардуино және джойстиктер

Бұл жоба жаңадан бастаушыларға да, тәжірибелі адамдарға да арналған. Негізгі деңгейде оны тақтаймен, секіргіш сыммен жасауға болады және Blu-Tack көмегімен дәнекерленбейтін материалды (мен ағаш қолдандым) жабыстырылды. Алайда, неғұрлым жетілдірілген деңгейде оны тақтаға немесе реттелетін ПХД -ге дәнекерлеуге болады.

Бұл құлыптау жобасы болғандықтан, менде көптеген құралдар мен материалдарға қол жеткізе алмадым, сондықтан ол Blu-Tack-пен шамалы тым кішкентай ағаш сынықтарына жабысып қалды, дегенмен бұл қызықты жоба. тез және Интернетте арзан табуға болатын кең таралған бөліктерден тұрады.

1 -қадам: бөлшектер

Понг ойынын жасау үшін сізге қажет;

  • 1x Arduino (кез келген түрі жұмыс істейді)
  • 4x MAX7219 8x8 жарықдиодты матрицалар
  • 2x джойстиктер
  • 1x Piezo Buzzer (міндетті емес)
  • 15х аналық-әйел секіргіш сымдар (5-тен 3-топ)
  • 15x еркек-әйел секіргіш сымдар (5-тен 3-топ)
  • 18x ерлер мен ерлерге арналған сымдар
  • 1x Нан тақтасы
  • 1х 220Ω резистор

Arduino Uno немесе Nano тақтасының орнына Arduino негізіндегі нан тақтасын пайдалануға болады;

  • 1x ATmega328p 28 істікшелі IC
  • 1х 16 кГц кристалды осциллятор
  • 2x 22pF керамикалық конденсаторлар
  • 1x USB FTDI UART түрлендіргіші
  • 1x 100uF электролиттік конденсатор
  • 1x Micro USB үзілісі (міндетті емес)

Құралдар;

  • Arduino IDE бар компьютер (және LedControl кітапханасы)
  • Arduino үшін сәйкес USB кабелі
  • Power Bank ойынды компьютерден өшіру үшін

2 -қадам: Сымдарды жалғау

Сымдар
Сымдар
Сымдар
Сымдар

Электр сымдары өте қарапайым, себебі сізге матрицалар мен джойстиктердің тақырыптарын Arduino -ға қосу үшін қосқыш сымдар қажет. Жалғыз қиындық - бұл қуат, өйткені Arduino Uno тек 3 GND қосылымы мен бір 5в байланысы бар. Бұл жерде нан тақтасы кіреді және барлық компоненттер үшін қуат тарату рельсінің рөлін атқарады, егер сіз NANO қолдансаңыз, тақта дәл осы мақсатқа қызмет етеді, сонымен қатар бәрін қосуға мүмкіндік береді.

Сымдарды жалғау үшін мына қосылымдарды орындаңыз.

  • Сол жақ джойстик - GND және 5v сәйкес рельстерге. БҚ - түйреуіш 9, VRx - A0, VRy - A1.
  • Оң джойстик - GND және 5v сәйкес электр рельстеріне. БҚ - түйреуіш 8, VRx - A2, VRy - A3.
  • Оң жақтағы жарықдиодты матрица - GND және 5v сәйкес рельстерге. DIN - 13, CS - 11, CLK - 12. (25 -жол бойынша)
  • Барлық басқа LED матрицалары біріншіден оңнан солға қарай шығатын тізгінге байлануы мүмкін, сондықтан код дұрыс жұмыс істейді.
  • Қосымша дыбыстық сигнал - анод (+) арқылы 220Ω ток шектеу резисторы 10, катод (-) - GND.

3 -қадам: Балама сымдар

Балама сымдар
Балама сымдар
Балама сымдар
Балама сымдар
Балама сымдар
Балама сымдар

Кеңістікті үнемдеу үшін оны Arduino UNO -мен байланыстырғаннан кейін, мен Arduino IC -ді БҰҰ -нан 16 МГц кристалды осцилляторы бар тақтаға және әр жағынан жерге 22pF конденсаторлар қосуға шешім қабылдадым. Менің ойымша, бұл маңызды өзгеріс болды, өйткені бұл жобаны ұқыпты және аяқталған етеді, бірақ бағдарламаны жаңарту үшін сізге USB FTDI бағдарламашысын қолдану қажет.

4 -қадам: Код + Түсіндіру

Кодты Arduino -ға жүктеу үшін GedHub -тен LedControl кітапханасын жүктеңіз, 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-жол: Белгіленген дисплейге смайлик, белгі, крест немесе сұрақ белгісін шығаруға арналған функция (оң жақта 0-ден 3-ге дейін сол жақта).

861-979 жолы: 0-9 сандарын көрсетілген дисплейде көрсету функциясы.

981-1047 жолы: Экранның әр ойыншысына ұпайларды көрсету функциясы.

1049-1064 жолы: ойнатқыштың дайын екендігін тексеру функциясы.

1066-1076 жолы: Орнату Бағдарлама басталған кезде бір рет орындалатын кодтың бөлімі.

1078-1136 жолы: Ойын логикасына арналған негізгі цикл бөлімі, онда барлық функциялар пайдаланылады және кімнің жеңетіні шешіледі, содан кейін ол есепті көрсеткеннен кейін 5 секундтан кейін бағдарламаны қайта бастайды.

5 -қадам: Оқығаныңыз үшін рахмет

Оқығаныңыз үшін рахмет
Оқығаныңыз үшін рахмет

Нұсқаулықты оқығаныңыз үшін рахмет, бұл Arduino бағдарламалауы туралы көбірек біле отырып, бірнеше күн ішінде жиналған қызықты жоба. Егер сізге ұнаған болса, оған Arduino байқауында дауыс беріңіз.

Ұсынылған: