Агуулгын хүснэгт:
- Алхам 1: Хэргийг бүрдүүлэх
- Алхам 2: Флипперийн механик бүтээх
- Алхам 3: Ханыг байрлуулах
- Алхам 4: Онооны блокуудыг нэмэх
- Алхам 5: Тоглоомыг контакт дээр нэмэх
- Алхам 6: Кабелийн нүхийг өрөмдөх
- Алхам 7: Бүгдийг утсаар холбоно уу
- Алхам 8: Кодыг байршуулах
Видео: Arduino: Pinball Machine: 8 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Пинболын машин, электроникийн аль алинд нь би үргэлж дуртай байсан болохоор би өөрөө пинболын машин бүтээхээр шийдсэн. Би програмчлал, электроникийн чиглэлээр Arduino -г сонгосон, учир нь энэ нь авсаархан, ашиглахад хялбар платформ юм.
Энэхүү гарын авлагад би өөрийн хөгжлийн явцыг тайлбарлах болно, тиймээс та нарын нэг нь энтертайнистууд ижил төстэй зүйлийг бүтээж магадгүй юм.
Алхам 1: Хэргийг бүрдүүлэх
Пинболын машины жишээнээс эхэлье. Би нэлээд энгийн хийц хийсэн. Би ёроолын хавтанг хөрөөдөөд булангийн 4 жижиг модон баганыг ашиглан хананы хэсгүүдийг холбосон. Таны хайрцагны хэмжээ нь таны сонголт бөгөөд би зайг дүүргэхийн тулд ямар нэгэн гайхалтай нэмэлт зүйл нэмж оруулахаар төлөвлөөгүй байсан тул үүнийг анхны пинболын машинаас арай жижиг болгохоор шийдсэн. Би хайрцгийг аль болох тогтвортой байлгахын тулд боолт, цавуу хоёуланг нь ашигласан. Ар талд нь би хоёр хөлний шалан дээр хоёр цооног өрөмдсөн бөгөөд энэ нь пинболын машинд гайхалтай хазайлт өгөх болно. Дахин хэлэхэд, хөлний өндөр нь зөвхөн танд хамаарна. Та хөлөө өндөр болгох тусам бөмбөг хурдан эргэлддэг (доошоо).
Алхам 2: Флипперийн механик бүтээх
Энэ төслийн өртөгийг хязгаарлахыг хүссэн тул би электрон биш харин бүрэн механик сэрвээ хийхээр шийдсэн. Хэрэв та электрон эрвээхэйг сонирхож байгаа бол үүнтэй ижил төстэй, гэхдээ "соленоид" гэж нэрлэгддэг конструкцийг ашиглаж болно (сэрвээг удирдах хангалттай хүч чадалтай ороомог нь надад хэтэрхий үнэтэй байсан).
Би хоёр эрвээхэйний эргэлтийн цэгийг ёроолд нь хоёр цооног өрөмдөж эхлэв. Би нүх өрөмдсөн (миний бодлоор) бие биентэйгээ хэт ойрхон байсан бөгөөд энэ нь тоглоомыг арай хялбар болгоход хүргэсэн. Тоглоомын хялбар хэв маягийг хүсэхгүй бол сэрвээгээ бие биендээ хэт ойр байрлуулахгүй байхыг анхаарна уу.
Би мөн хажуугийн хананы хоёр хажуугийн нүхтэй зэрэгцэн хоёр цооног өрөмдсөн. Эдгээр нүхийг хоёр эргүүлэх товчлуурт ашиглах ёстой.
Би булаг ашиглан сэрвээгээ анхны байрлалдаа буцааж татаж, товчлуурыг дарж байх үед эргүүлэхийн тулд сэрвээ болон товчлууруудын хооронд эргэлддэг хийц хийв. Булгийг эргүүлэх ажлыг хэт холоос нь зогсоохын тулд би сэрвээийг анхны байрлалд нь барихын тулд хоёр боолтыг байрлууллаа.
Алхам 3: Ханыг байрлуулах
Пинболыг сэрвээ рүү чиглүүлэхийн тулд би хэд хэдэн хана байрлуулсан. Тэдгээрийг хийхэд маш энгийн. Хэргийн доод хэсэгт 3 цооног өрөмдөж, гурван модон тээглүүр шургуулна. Тээглүүрийг резинэн боолтоор боож хий.
Алхам 4: Онооны блокуудыг нэмэх
Онооны блокууд нь пинболын машины хамгийн чухал хэсгүүдийн нэг тул та энэ хэсгийг зөв хийсэн эсэхээ шалгаарай. Би пинболын машиндаа гурван онооны блок хийсэн боловч дахиад л энэ бүхэн танаас хамаарна.
Би шүүрний жижиг хэсгийг хөрөөдөөд зэс утсаар ороосон. Arduino нь энэхүү зэс утсыг 5В хүчдэлээр байнга тэжээх болно. Бөмбөгтэй илүү сайн харьцахын тулд би дөрвөн үзэгний булгийг хажуу тийш нь гагнав.
Оноо хаах арга нь бөмбөг нь Arduino дээрх оролтын зүү рүү хөтлөх хэлхээг дуусгах явдал юм. Тиймээс миний хийсэн зүйл бол хайрцгийн ёроолд хөнгөн цагаан тугалган цаас соронзон хальс хийх (ЗЭСИЙГ ХҮРҮҮЛЭХГҮЙ) ба тугалган цаасыг Arduino дээрх зүү хүртэл утсаар холбох явдал байв. Бөмбөг зэс, хөнгөн цагаан хоёуланд нь цохилт өгөх бүрт хэлхээ дуусч, Arduino дохио хүлээн авах болно.
Би бүх онооны блокуудыг хөнгөн цагаан тугалган цаасаар холбосон боловч наалдамхай тал нь цахилгаан дамжуулдаггүй гэдгийг санаарай.
Алхам 5: Тоглоомыг контакт дээр нэмэх
Пинболын машины доод талд, сэрвээний хооронд би холбоо барих тоглоом нэмсэн. Бөмбөг энэ контакт руу цохих бүрт тоглогч бөмбөг алдах болно. Миний хийсэн барилга нь онооны блоктой маш төстэй юм. Зөвхөн энд би хоёр боолтыг ашиглаж, доод талд нь хөнгөн цагаан тугалган цаас хийлээ.
Алхам 6: Кабелийн нүхийг өрөмдөх
Бид Arduino руу бүх зүйлийг холбож эхлэхээсээ өмнө эхлээд кабелийн хэд хэдэн цооног өрөмдөх хэрэгтэй. Би хөнгөн цагаан тугалган цаасны аль алинаар нь цооног өрөмдсөн тул хөнгөн цагаан тугалган цаасны нэг нүх онооны блокуудын ойролцоо, мөн тоглолтын ойролцоо хөнгөн цагаан тугалган цаасны нэг нүхийг холбоо барьсан.
Үүнээс гадна би зүүн доод талд, хананы хооронд нэмэлт бөмбөг хаалга Servo руу орох кабелийн нүх өрөмдсөн.
Мөн доод талд нь LCD -т холбогдсон кабелийн нүх байх ёстой.
Алхам 7: Бүгдийг утсаар холбоно уу
Бүх схемүүд хаашаа явах ёстой талаар илүү сайн тоймлохын тулд би энэ схемийг хийсэн. Загалмай нь кабелийг холбох цэг юм. Би бүх зүйлийг арай тогтвортой, найдвартай болгохын тулд аль болох их гагнах гэж оролдсон. Утас холбоход хэсэг хугацаа шаардагдах болно, гэхдээ үүнийг хийсний дараа та бараг л тэнд байна!
Алхам 8: Кодыг байршуулах
Пинболын машинаа ажиллуулахын тулд дараах кодыг Arduino -д байршуулаарай!
// lcd -ийн номын санг оруулах
#оруулах #оруулах
// lcd өгөгдлийн зүүг эхлүүлэх
LiquidCrystal lcd (7, 8, 9, 10, 11, 12);
// Серво үүсгэ
Servo ballGateServo;
// Бидний ашиглаж буй тээглүүрүүдэд хувьсагч үүсгэх
int gameoverPin = 6; int scorePin = 5; int speakerPin = 4; int ballGateServoPin = 3;
// Пинболын машины тоглоомын хувьсагчдыг эхлүүлэх
int оноо = 0; int өндөр оноо = 500; bool highscoreReached = худал; int бөмбөг = 3; int gameoverTimer = 0; int gameoverTimerDuration = 100; bool gameoverTriggered = худал;
// энэ хүрээг эхний хүрээ дээр нэг удаа ажиллуулна уу
void setup () {// Бидний ашиглаж байгаа pinMode (gameoverPin, INPUT) pinMode -ийг тохируулах; pinMode (scorePin, INPUT);
// Өргөн ба өндрийг өгч lcd -ийг эхлүүлнэ
lcd.begin (16, 2);
// Бөмбөгний хаалганы servo -ийг зохих зүүгээр холбоно уу
ballGateServo.attach (ballGateServoPin);
// Хаалганы servo -г анхны байрлал руу нь тохируулна уу
ballGateServo.write (0); }
// Энэ кодыг хүрээ бүрт ажиллуулна уу
void loop () {// Залгуурын оролтыг int gameoverState = digitalRead (gameoverPin) авах; int scoreState = digitalRead (scorePin);
// Оролт хүлээн авсан бол оноог нэмнэ үү
if (scoreState) {ая (speakerPin, 1000); оноо += 10; } өөр {noTone (4); }
// Тоглоомын нүхийг асаахад бөмбөгнөөс хас
if (gameoverState and! gameoverTriggered) {бөмбөг -= 1; gameoverTriggered = үнэн; gameoverTimer = gameoverTimerDuration; }
// Бөмбөг тоглоомын контактад хүрэхгүй болмогц тоглоомын тоолуурыг эхлүүлнэ үү
if (! gameoverState) {if (gameoverTimer> = 1) {gameoverTimer -= 1; } өөр {gameoverTriggered = худал; }}
// Тоглоомын текстийг lcd дээр анивчиж, оноо, бөмбөгийг дахин тохируулна уу
if (balls <= 0) {lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); саатал (250); lcd.print ("GAME OVER"); lcd.setCursor (0, 1); lcd.print ("Дахин оролдох уу?"); саатал (250); } lcd.clear (); оноо = 0; ballGateServo.write (0); highscoreReached = худал; бөмбөг = 3; }
if (оноо> өндөр оноо ба! өндөр онооХүрсэн) {
lcd.setCursor (0, 0); for (int i = 5; i> = 1; i--) {lcd.clear (); саатал (250); lcd.print ("ШИНЭ ДЭЛГЭРЭН"); lcd.setCursor (0, 1); lcd.print ("Гэнэтийн үхэл!"); саатал (250); } lcd.clear (); бөмбөг = 1; ballGateServo.write (120); өндөр оноо = оноо; highscoreReached = үнэн; }
// Одоогийн оноо өндөр байвал өндөр оноог шинэчилнэ үү
if (оноо> өндөр оноо) {өндөр оноо = оноо; }
// Курсорыг 0 мөрөнд тохируулна уу
lcd.setCursor (0, 0); // Одоогийн (өндөр) оноог lcd дээр хэвлэх бол (оноо <= 0) {lcd.print ("Өндөр оноо:" + String (өндөр оноо) + ""); } өөр {lcd.print ("Оноо:" + мөр (оноо) + ""); }
// Курсорыг 1 -р мөрөнд тохируулна уу
lcd.setCursor (0, 1);
// Одоогийн бөмбөгний хэмжээг lcd дээр хэвлэ
lcd.print ("Бөмбөг:" + Мөр (бөмбөг)); }
Зөвлөмж болгож буй:
Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: 6 алхам (зурагтай)
The Ultimate Beer Pong Machine - PongMate CyberCannon Mark III: Танилцуулга PongMate CyberCannon Mark III бол олон нийтэд зарагдах хамгийн сүүлийн үеийн, хамгийн дэвшилтэт шар айрагны технологийн нэг төрөл юм. Шинэ CyberCannon -ийг ашигласнаар ямар ч хүн шар айрагны ширээний хамгийн айдаг тоглогч болж чадна. Энэ яаж байна
Өөрөө тоглодог Arduino Pinball Machine!: 13 алхам (зурагтай)
Өөрийгөө тоглодог Arduino Pinball Machine !: " Өөрийгөө тоглодог пинболын машин нь бүх зугаа цэнгэлийг арилгахгүй гэж үү? &Quot; Таны асууж байгааг сонсож байна. Магадгүй хэрэв та бие даасан робот биш бол магадгүй. Гэсэн хэдий ч би гайхалтай зүйл хийх чадвартай робот бүтээхийг маш их хүсч байна
Evive- Arduino дээр суурилсан суулгагдсан Plaform ашиглан ширээний Pinball машин: 18 алхам (зурагтай)
Evive- Arduino дээр суурилсан суулгагдсан Plaform ашиглан ширээний Pinball машин: Өөр нэг амралтын өдөр, бас нэг сонирхолтой тоглоом! Энэ удаад энэ бол хүн бүрийн дуртай аркад тоглоом болох Pinball! Энэхүү төсөл нь Pinball машиныг гэртээ хэрхэн хялбархан хийхийг танд үзүүлэх болно. Танд хэрэгтэй бүх зүйл бол хорон санааны бүрэлдэхүүн хэсгүүд юм
ULTIMATE Gumball Machine: 7 алхам (зурагтай)
ULTIMATE Gumball Machine: Эцсийн дүн гэж юу вэ? Хязгааргүй RGB? Хөргөх LCD мэдрэгчтэй дэлгэцийг яах вэ? Магадгүй бүр огт шаардлагагүй wifi чадамжтай байж болох уу? Бүгдийг яах вэ- бохь бөмбөгний машинд. DFRobot надад 2.8 " TFT sc
Гүнжид гудамж - Pinball тоог тоолох цаг: 8 алхам (зурагтай)
Гүнжид гудамж - Pinball тоог тоолох цаг: Энэхүү зааварчилгаа нь танд тохируулсан цаг бүтээх болно. Энэ бол Гүнжид гудамжинд байрлуулсан цагны бүтээн байгуулалт юм. Pinball тоо тоолох хөдөлгөөнт дүрс, ерөнхий процедур нь ижил бөгөөд зааварчилгаа нь