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

Гар Arduino Pong консол: 6 алхам (зурагтай)
Гар Arduino Pong консол: 6 алхам (зурагтай)

Видео: Гар Arduino Pong консол: 6 алхам (зурагтай)

Видео: Гар Arduino Pong консол: 6 алхам (зурагтай)
Видео: DIY Arduino 1D Pong game with WS2812 Led strip 2024, Оны зургадугаар сарын
Anonim
Гар Arduino Pong консол
Гар Arduino Pong консол

DFRobot саяхан надтай холбоо барьж, Arduino Nano тусгай самбар, OLED ашиглахыг хүссэн. Эхэндээ би ухаалаг дугуй бүтээхийг хүсч байсан бөгөөд үүнийг бүхэлд нь бүтээсэн. Харамсалтай нь Нано хэтэрхий сул дорой байсан бөгөөд шаардлагатай том ноорогыг ажиллуулж, хадгалж чадаагүй юм. Тиймээс би өмнөх төслүүдийнхээ нэг болох понгийн тоглоомыг удирдаж байсан неопиксел матрицыг дахин үзэхээр шийдлээ. Би оронд нь зөөврийн болгохыг хүссэн бөгөөд 1.7 инчийн OLED нь төгс дэлгэцийг гаргах болно.

Бүрэлдэхүүн хэсгүүдийн жагсаалт:

  • Arduino нано
  • OLED
  • Илтгэгч

Алхам 1: Видео

Image
Image

Алхам 2: Тоглоомын дизайн

Тоглоомын дизайн
Тоглоомын дизайн

Энэхүү Понг тоглоомын хувьд би үүнийг харьцангуй энгийн байлгахыг хүссэн бөгөөд энэ нь компьютерийн удирдлагатай сэлүүр эсвэл бөмбөгийг танин мэдэх сонирхолтой алгоритм гэсэн үг юм. Үндсэндээ хэрэглэгч дээш эсвэл доош хөдөлж чаддаг ганц сэлүүр байдаг бөгөөд бөмбөгийг сэлүүртэй мөргөлдүүлэх нь түүний тэнхлэгийн векторыг эргүүлэхэд хүргэдэг. Бөмбөгийг цохих бүрт тоглох чимээ гардаг. Тоглоомын төхөөрөмжийг асаахад тоглоомын нэр, заавар бүхий дэлгэц гарч ирнэ. Нэмж дурдахад ээж маань жижиг товчлуур бүхий дуу бүтээсэн бөгөөд дээд товчлуурыг дарах хүртэл цаана нь эргэлддэг.

Алхам 3: Тоглоомын төхөөрөмжийг зохион бүтээх

Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх
Тоглоомын төхөөрөмжийг зохион бүтээх

Миний хийх CAD програм бол Fusion 360 тул би тоглоомын төхөөрөмжөө зохион бүтээхээр шийдсэн. Би OLED, Arduino Nano, чанга яригч гэсэн бүрэлдэхүүн хэсгүүдийг зохион бүтээх ажлыг эхлүүлсэн. Дараа нь би Нано ба ПХБ -ийг хэргийн ар талд, дээр нь OLED тавив. Дараа нь чанга яригч, товчлуурыг хаана тавих вэ гэсэн асуулт гарч ирэв. Би 3W чанга яригч нь дэлгэцийн доогуур явж болно гэж шийдсэн (дээрээс нь хараад), мөн дууг намсгахгүйн тулд чанга яригч дээр "шарах" тавих шаардлагатай байв. Эцэст нь хэлэхэд, удирдлага нэмэхийн тулд зүүн талд нь хоёр товчлуур нэмж орууллаа.

Алхам 4: Төхөөрөмжийг бүтээх

Төхөөрөмжийг бүтээх
Төхөөрөмжийг бүтээх
Төхөөрөмжийг бүтээх
Төхөөрөмжийг бүтээх
Төхөөрөмжийг бүтээх
Төхөөрөмжийг бүтээх

Би доод тал, дээд тал, 2 товчлуураас бүрдэх хэсэг бүрийг 3D хэвлэх замаар эхлүүлсэн. Дараа нь би эмэгтэй толгойг 4х6 см хэмжээтэй гагнуур хийж, нано руу залгасан. Энэ нь OLED -ийг хялбархан арилгах боломжийг олгодог төдийгүй Arduino Nano -ээс дээш өргөдөг. Утасны талаархи мэдээллийг схемийн дагуу шалгана уу. Дараа нь би хоёр товчлуурыг холбож, хүчирхэг болгохын тулд энгийн микро USB таслах самбарыг залгасан. Илтгэгчийг мөн хавсаргаж, зөв байрлалд нь байрлуулсан байна. My Fusion 360 загвар нь 3 мм хэмжээтэй машины эрэг дээр OLED, чанга яригчийг барьж, төхөөрөмжийн хоёр талыг холбох боломжийг олгодог. Гэхдээ би тэдгээрийг нарийвчлан гаргах ёстой байсан тул өрмийн машинаараа 8 цооног гаргаж авав: чанга яригч 2, дэлгэц 2, доор 4. Та Thingiverse линкээр орж файлуудыг үзэх боломжтой.

Алхам 5: Тоглоомыг програмчлах

Хөтөлбөрийг жижиг байлгахын тулд энгийн интерфэйсийг ашиглах нь маш чухал байсан. Би хэд хэдэн номын санг нэмж эхлэв: Adafruit_GFX, Adafruit_SSD1351, Arduino Timer номын сан. Дараа нь би OLED -ийн зүү, 16 битийн өнгөний тодорхойлолт гэх мэт зүү, өнгөө тодорхойлов. Миний кодонд сэлүүрний хэмжээ, бөмбөг хэр хурдан хөдөлдөг гэх мэт тоглоом хэрхэн тоглохыг өөрчлөх 4 арга бий. Дараа нь оноо, янз бүрийн координатыг багтаасан хувьсагч бүрийг тодорхойлсон хэсэг байдаг. Төхөөрөмжийг бөмбөгний дүрс дээр асаахад кодын өмнө тодорхойлсон жижиг сэдэвтэй дууны хамт дэлгэцэн дээр текст гарч ирнэ. Тоглоом эхэлмэгц хоёр таймер үүсгэгддэг бөгөөд нэг нь сэлүүрийг, нөгөө нь бөмбөгийг шинэчилдэг. Бөмбөгний байрлалыг шинэчлэх бүрдээ дэлгэцийн хилийг давахгүй эсвэл сэлүүрт хүрч байгаа эсэхийг шалгана. Үсрэх бүрт x эсвэл y тэнхлэгээ эргүүлж, жижиг ая тоглодог. Энэ бичлэгийн эхэнд байгаа видеог үзээд тоглоом хэрхэн тоглож байгааг үзээрэй.

Алхам 6: Понг тоглох

Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!
Понг тоглож байна!

Тоглоомын нэр нь хамгийн бага оноо авах явдал юм. Цагийн хязгаар гэж байдаггүй болохоор маш тааламжтай, бүр транс дамжуулдаг. Сэлүүрийг дээш эсвэл доош хөдөлгөхөд хоёр товчлуурын аль нэгийг дарахад л хангалттай. Arduino -ийн EEPROM -ийг ашиглан хамгийн өндөр оноо хадгалах аргыг нэмж оруулах боломжтой.

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