Агуулгын хүснэгт:

LED матриц, ардуино, джойстик бүхий понг теннис: 5 алхам (зурагтай)
LED матриц, ардуино, джойстик бүхий понг теннис: 5 алхам (зурагтай)

Видео: LED матриц, ардуино, джойстик бүхий понг теннис: 5 алхам (зурагтай)

Видео: LED матриц, ардуино, джойстик бүхий понг теннис: 5 алхам (зурагтай)
Видео: Arduino Uno. LED матрица 8х8. Управление движением точки джойстиком 2024, Арваннэгдүгээр
Anonim
LED матриц, Ардуино, джойстик бүхий теннис
LED матриц, Ардуино, джойстик бүхий теннис

Энэхүү төсөл нь эхлэгч болон туршлагатай оюутан залууст зориулагдсан болно. Үндсэн түвшинд үүнийг талх, холбогч утсаар хийж, Blu-Tack-тэй, гагнуур хийхгүйгээр хаягдал материалд (би мод ашигласан) наалддаг. Гэхдээ илүү дэвшилтэт түвшинд үүнийг төгс самбар эсвэл тусгай ПХБ -д гагнах боломжтой.

Энэ бол түгжигдэх төсөл байсан тул би олон багаж хэрэгсэл, материал авах боломжгүй байсан тул Blu-Tack-тай арай жижиг хэмжээтэй модны хаягдал руу наалдсан боловч энэ нь хамтдаа бүтээгдсэн хөгжилтэй төсөл юм. хурдан бөгөөд онлайнаар хямдхан олж болох түгээмэл хэрэглэгддэг хэсгүүдээс бүрддэг.

Алхам 1: эд анги

Понг тоглоом хийхийн тулд танд хэрэгтэй болно;

  • 1x Arduino (ямар ч төрөл ажиллах болно)
  • 4x MAX7219 8x8 LED матриц
  • 2x Joysticks
  • 1x Piezo Buzzer (заавал биш)
  • 15х эмэгтэй-эмэгтэй холбогч утас (3-р бүлэг 5)
  • 15х эрэгтэй, эмэгтэй холбогч утас (3-р бүлэг 5)
  • 18х эрэгтэй эрэгтэй холбогч утас
  • 1х талхны самбар
  • 1х 220Ω эсэргүүцэл

Arduino Uno эсвэл Nano хавтангийн оронд та Arduino дээр суурилсан талхны самбар ашиглаж болно;

  • 1х ATmega328p 28pin IC
  • 1х 16 кГц болор осциллятор
  • 2х 22pF керамик конденсатор
  • 1х USB FTDI UART хөрвүүлэгч
  • 1х 100uF электролитийн конденсатор
  • 1x Micro USB Breakout (заавал биш)

Багаж хэрэгсэл;

  • Arduino IDE (ба LedControl номын сан) бүхий компьютер
  • Таны Arduino -д холбогдох USB кабель
  • Тоглоомыг компьютерээсээ хол байлгахын тулд Power Bank

Алхам 2: Цахилгааны утас

Цахилгаан утас
Цахилгаан утас
Цахилгаан утас
Цахилгаан утас

Матриц ба джойстикуудын толгойг Arduino руу холбохын тулд холбогч утас байхад л хангалттай. Arduino Uno нь зөвхөн 3 GND холболт, 5V холболттой байдаг тул цорын ганц хүндрэл бол хүч юм. Энд талхны самбар орж ирдэг бөгөөд бүх бүрэлдэхүүн хэсгүүдэд цахилгаан түгээх сүлжээ болж өгдөг. Хэрэв та NANO ашиглаж байгаа бол талхны самбар нь ижил зорилготой бөгөөд бүх зүйлийг залгах боломжийг танд олгоно.

Утасны хувьд эдгээр холболтыг дагана уу.

  • Зүүн Joystick - GND ба 5v тус тусдаа цахилгаан рельс рүү. SW - зүү 9, VRx - A0, VRy - A1.
  • Баруун Joystick - GND ба 5v -ийг тус тусын цахилгаан шугамын дагуу. SW - зүү 8, VRx - A2, VRy - A3.
  • Хамгийн зөв LED матриц - GND ба 5v тус тусдаа цахилгаан рельс рүү. DIN - 13, CS - 11, CLK - 12. (25 -р мөрийн дагуу)
  • Бусад бүх LED матрицыг баруун талаас зүүн тийш чиглэсэн эхний гаралтыг гар утсаар нь гинжээр холбож болох тул код зөв ажилладаг.
  • Нэмэлт дуугаралт - Анод (+) - 220Ω гүйдлийн хязгаарлагч эсэргүүцэл, зүү 10, Катод (-) - GND.

Алхам 3: Альтернатив утас

Альтернатив утас
Альтернатив утас
Альтернатив утас
Альтернатив утас
Альтернатив утас
Альтернатив утас

Орон зай хэмнэхийн тулд Arduino UNO -той холбосны дараа би 16Mhz болор осциллятор, тал бүрээс 22pF хос конденсатор бүхий талбар дээр НҮБ -аас гаргасан Arduino IC -ийг тавихаар шийдсэн. Энэ нь төслийг илүү цэвэрхэн, илүү боловсронгуй харагдуулж байгаа боловч энэ нь шинэчлэгдэхийн тулд 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: Инээмсэглэсэн царай, хачиг, загалмай эсвэл асуултын тэмдгийг заасан дэлгэц дээр харуулах функц (баруун талд 0, зүүн талд 3).

861-979 мөр: 0-9 хүртэлх тоонуудыг заасан дэлгэц дээр харуулах функц.

981-1047-р мөр: Дэлгэцийн тоглогч бүрт оноог харуулах функц.

1049-1064 шугам: Тоглогч бэлэн эсэхийг шалгах функц.

1066-1076 мөр: Програм эхлэхэд нэг удаа ажиллуулах кодын тохируулгын хэсэг.

1078-1136-р мөр: Тоглоомын логикийн үндсэн давталтын хэсэг нь бүх функцийг ашигладаг бөгөөд хэн хожихыг шийддэг бөгөөд оноог харуулснаас хойш 5 секундын дараа програмыг дахин эхлүүлнэ.

Алхам 5: Уншсанд баярлалаа

Уншсанд баярлалаа
Уншсанд баярлалаа

Энэхүү зааврыг уншсан танд баярлалаа, энэ бол хэдхэн хоногийн турш цуглуулсан хөгжилтэй түгжигдэх төсөл бөгөөд би Arduino програмчлалын талаар илүү ихийг мэдэж авлаа. Хэрэв танд таалагдсан бол Arduino уралдаанд саналаа өгөөрэй.

Зөвлөмж болгож буй: