Სარჩევი:

4 ღილაკი თამაში ერთი ანალოგური შეყვანის გამოყენებით: 6 ნაბიჯი (სურათებით)
4 ღილაკი თამაში ერთი ანალოგური შეყვანის გამოყენებით: 6 ნაბიჯი (სურათებით)

ვიდეო: 4 ღილაკი თამაში ერთი ანალოგური შეყვანის გამოყენებით: 6 ნაბიჯი (სურათებით)

ვიდეო: 4 ღილაკი თამაში ერთი ანალოგური შეყვანის გამოყენებით: 6 ნაბიჯი (სურათებით)
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი - Audible Read Along 2024, ივლისი
Anonim
Image
Image

ეს ინსტრუქცია ყურადღებას ამახვილებს ერთი ანალოგური შეყვანის ხაზის გამოყენებაზე მრავალი ღილაკისთვის, რომელთა ერთმანეთისგან დამოუკიდებლად გამოვლენა შესაძლებელია.

ამ ღილაკების გამოყენების ხაზგასმა არის პროგრამული უზრუნველყოფა ოთხი განსხვავებული 4 ღილაკიანი თამაშისთვის. ყველა თამაში (სულ 8) აქ იყენებს Led კიბის ეკრანს (მიმართეთ ადრინდელ პროექტს: ინსტრუქციები: ერთ ხაზზე-LED- ჩვენების თამაშები).

თქვენ შეგიძლიათ გამოიყენოთ თქვენი საკუთარი 4-ღილაკიანი ასამბლეა სხვა ეკრანის გამოსავლებთან ერთად, უბრალოდ გამოიყენეთ 'scanButtons ()' ფუნქცია ერთ-ერთი ჩართული ესკიზიდან. და გამოიყენეთ ეს ესკიზები, მაგალითად მათი გამოყენება.

თამაშები არის უნარების თამაში: Whack-a-Mole, მეხსიერების თამაში: სიმონ ამბობს, რომ ლოგიკური თამაშები Sea Hunt და Flip'd ორ მოთამაშეს მსგავსია Reveri. მოგვიანებით, ამ სასწავლო ინსტრუქციაში, მე ასევე მოგვიანებით წარმოგიდგენთ ორ ორკაციან თამაშს, თავსა და თავში.

ნაბიჯი 1: ოპტიმალური ღილაკის კონფიგურაციის განსაზღვრა

სერიის ზოგიერთი რეზისტორის გამოყენება, თითოეულ მათგანს შორის ამოჭრილი ღილაკებით, იმუშავებს, თუ თქვენ არასოდეს იდარდებთ ერთ ღილაკზე მეორის დახშობაზე. ასეთ კონფიგურაციაში თითოეული ღილაკი დაჭერისას ბლოკავს მის ქვემოთ არსებულ ნებისმიერ და ყველაფერს. მაშინაც კი, როდესაც თქვენ გჭირდებათ მხოლოდ ორი ღილაკი და თქვენ ზრუნავთ მხოლოდ ერთზე ერთდროულად, როგორც პინგ-პონგის განხორციელებისას; ეს იქნება პრობლემა, თუ მოთამაშე ვერ შეძლებს (უბრალოდ ძალიან ნელა, ან ბოროტად) ამოიღოს თითი თავისი ღილაკიდან, სანამ მეორე არ უნდა დაარტყას მას.

მრავალი ღილაკი ხშირად უკავშირდება ერთ ანალოგურ ხაზს, თითოეულს აქვს საკუთარი განსხვავებული რეზისტენტული მნიშვნელობა, რომელიც მიდის შესასვლელში. თქვენ მარტივად შეგიძლიათ განასხვავოთ რომელი ღილაკი ან წყვილია დაჭერილი, როდესაც მხოლოდ 2 ან 3 ღილაკია. მაგრამ არა საიმედოდ მეტი ღილაკით ან ორზე მეტი დაჭერით, რადგან წაკითხვის ყველაზე უარესი კომბინაცია ორაზროვნად ხდება ერთმანეთთან ახლოს.

აქ, რასაც მე ვუწოდებ Double-Y კონფიგურაციას ოთხი ღილაკისა და რეზისტენტებისაგან, თქვენ შეგიძლიათ საიმედოდ გაარჩიოთ ნებისმიერი ერთი, ორმაგი, თუნდაც სამმაგი ან ოთხივე დაჭერილი ღილაკი. პროგრამული უზრუნველყოფის დრაივერი დაფარულია შემდეგ განყოფილებაში და კოდის ჩამონათვალში.

იმის სურვილით, რომ ოთხი ანაბეჭდი მიმაგრდეს ერთ ანალოგურ შეყვანაზე, სადაც თითოეული ღილაკის დაჭერა შეიძლება გამოვლინდეს სხვა ღილაკების მდგომარეობის მიუხედავად, ცხრილში შევქმენი რამდენიმე კონფიგურაცია. აღმოვაჩინე, რომ ორმაგი Y (სამი რეზისტორის 2 ნაკრებისგან შემდგარი) კონფიგურაცია იძლევა საუკეთესო შესაძლებლობებს. იხილეთ გაყვანილობის სქემატური დიაგრამა ქვემოთ. მე მათ ვაფასებდი ღილაკების მთლიანი წინააღმდეგობის ყველაზე მეტად გამიჯვნის საფუძველზე. მე შემდგომი მოდელირებული გამოთვლილი ანალოგური ღირებულებები. იხილეთ ცხრილების ფაილი ქვემოთ.

ზემოაღნიშნულ კონფიგურაციებში გამოსაყენებლად საუკეთესო მნიშვნელობების დასადგენად დავწერე სიმულაცია, რომელიც ამომწურავად ცდილობდა პოტენციური რეზისტორების მნიშვნელობების ყველა შესაძლო შემობრუნებას, ვიპოვე ის ნაკრები, რომელიც წარმოშობდა მაქსიმალურ განსხვავებას კითხვის შესაძლო საშუალებებს შორის. მე მოგაწოდეთ კოდი, რომელიც მე გამოვიყენე. ეს იყო უხეში ძალის ინსტრუმენტი, რომელიც მე ერთად ჩავაგდე, მივიღე ის რაც მინდოდა და განზე დავდე, ასე რომ ის არავითარ შემთხვევაში არ იყო ოპტიმიზირებული. ის მთლიანად არის როგორც ისტორიული მითითებისთვის (Solve_4R.html ქვემოთ).

აქ არის მისი გამოსავალი განსახილველად:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 წთ R დელტა: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 წთ R დელტა: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 წთ R დელტა: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 წთ R დელტა: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 წთ R დელტა: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 წთ R დელტა: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 წთ R წთ დელტა: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR დელტა: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 წთ R დელტა: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 წთ R დელტა: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 წთ R დელტა: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 წთ 12 R4: 68 R5: 10 R6: 27 წთ R დელტა: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 წთ R დელტა: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 წთ R დელტა: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 წთ R დელტა: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 წთ R დელტა: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 წთ R დელტა: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 წთ R დელტა: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 წთ R დელტა: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 წთ R დელტა: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 წთ R დელტა: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 წთ R დელტა: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 წთ R დელტა: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 წთ R დელტა: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 წთ R დელტა: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 წთ R წთ დელტა: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 წუთი R დელტა: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 წთ R დელტა: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 წთ: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 წთ R დელტა: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 წთ: 36 R4: 75 R5: 12 R6: 18 წთ R დელტა: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 წთ R დელტა: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 წთ R დელტა: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 წთ R დელტა: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 წთ R დელტა: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 წთ R დელტა: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 წუთი R დელტა: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 წთ: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 წთ R დელტა: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 წთ R დელტა: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 წთ R დელტა: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 წთ R დელტა: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 წთ R დელტა: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 წთ R დელტა: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 წთ R დელტა: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 წთR დელტა: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 წთ R დელტა: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 წთ R დელტა: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 წთ R დელტა: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 წთ R დელტა: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 წთ R დელტა: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 წთ R დელტა: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 წთ R დელტა: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 წთ R დელტა: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 წთ R დელტა: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 წთ R დელტა: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 წთ R დელტა: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 წთ R დელტა: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 წთ R დელტა: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 წთ R დელტა: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 წთ R დელტა: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 წთ R დელტა: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 წთ R დელტა: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 წთ R დელტა: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 წთ R დელტა: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 წთ R დელტა: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 წთ R დელტა: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 წთ R დელტა: 33.2525545171

ნაბიჯი 2: ჩემი 4 ღილაკიანი შეკრება

ჩემი 4 ღილაკიანი ასამბლეა
ჩემი 4 ღილაკიანი ასამბლეა

ჩემი ოთხი ღილაკისთვის გამოვიყენე ეს ღილაკები და პერფორირებული PCB და რეზისტორები, როგორც ეს მოცემულია ზემოთ დიაგრამაზე. როგორ ფიზიკურად განახორციელებთ თქვენს ოთხ ღილაკს, ეს ღიაა თქვენთვის და თქვენი პროექტებისათვის. სანამ ის ელექტრონულად არის რაც ზემოთ დიაგრამაზეა. დარწმუნდით, რომ თქვენი სამშენებლო სამონტაჟო ისეთია, რომ თქვენ არ დაუკავშირდებით ღილაკებთან გაყვანილობას, რადგან ეს წაშლის კითხვებს, რის შედეგადაც ღილაკის მცდარი ქცევაა.

ჩემს დაფაზე მაქვს დამატებული პატარა ღილაკი, რომელსაც ვიყენებ "ფუნქციის" გასაღების მსგავსად. ის არის სერიაში 2 მეგაჰემის რეზისტორით, რაც მნიშვნელოვნად არ აგდებს ჩემს სხვა შეყვანის მაჩვენებლებს; თუმცა მე შემიძლია მისი ამოცნობა მხოლოდ მაშინ, როდესაც ის მხოლოდ დაჭერილია. თქვენ შეგიძლიათ იგნორირება გაუკეთოთ მას ან შეამოწმოთ კოდი, რომ გაიგოთ როგორ ვიყენებ მას.

ტესტის ესკიზი 'Test_12Leds_6Btns' შეიძლება გამოყენებულ იქნას თქვენი MCU და ღილაკების ფაქტობრივი ასამბლეის მიერ ღილაკ (ებ) ზე დაჭერის გამოვლენის შესამოწმებლად. მისი გამომუშავება განისაზღვრება LED კიბით ან სერიული მონიტორით. მისი ადვილად შეცვლა შესაძლებელია გამომავალი ნებისმიერი სახის ჩვენების საშუალებით.

თქვენ შეიძლება დაგჭირდეთ კოდის მითითება, რომლითაც იგი ადარებს შესავალს, თქვენი MCU შიდა გამწევ რეზისტორში პოტენციური განსხვავებების გამო ან თქვენს მიერ გამოყენებული რეზისტორების ტოლერანტობის გამო. თქვენ შეგიძლიათ, უფრო სწორად გამოიყენოთ ზუსტი რეზისტორები, იმედია არ მოგიწევთ დაკალიბრების კორექტირება. სხვათა შორის, მე არ გამომიყენებია გარე გაყვანა, რადგან ეს ხელს შეუშლის სხვა გამოყენებებს, რასაც ვგეგმავ ერთ-ერთ პროექტზე.

ერთ -ერთი ძირითადი პროგრამული ქმედება, რომლის მიხედვითაც უნდა დადგინდეს რომელი ღილაკი (ები) არის დაჭერილი არ იმოქმედებს მიწოდების ძაბვის დონეს (და/ან MCU ვარიაცია), არის მასშტაბის ანალოგური შეყვანა მისი მაქსიმალური კითხვის საფუძველზე. გავლენას ახდენს მიწოდების ძაბვაზე.

პროგრამული უზრუნველყოფის "დრაივერი", რომელიც ემსახურება ამ ღილაკებს, არის რუტინული "scanButtons ()". ის ელოდება ანალოგური შეყვანის მნიშვნელობის მოგვარებას, შემდეგ ასახავს კითხვას წინასწარ განსაზღვრული მნიშვნელობების სერიაში; და თარგმნის მას შესაბამის მდგომარეობებში ღილაკების შეგროვებისათვის. ეს რუტინა და საზოგადოებრივი ცვლადები, რომელსაც იგი იზიარებს პროგრამულ უზრუნველყოფასთან, არის ყველაფერი რაც საჭიროა ამ ნაკრების მსგავსი გამოყენების დამოუკიდებელ ღილაკებში.

Შენიშვნა! 'ScanButtons ()' - ის ამჟამინდელი ვერსია არ ცდილობს ცალსახად განსაზღვროს სამი შესაძლო სამი ღილაკის კომბინაცია, რადგან ეს ჩემთვის რეალურად არ იყო საჭირო და კიდევ უფრო გაართულებდა კოდისა და კალიბრაციის სიზუსტეს.

ნაბიჯი 3: თამაში

ან ესკიზი, 'LadderGames4' ან 'Head2head' შეიძლება ჩატვირთული და გაშვებული ნებისმიერი Arduino MCU- ს მიერ, მაგრამ LadderGames4- ს უნდა ჰქონდეს 'SimonSays' ან სხვა ორი თამაშიდან რომელიმე კომენტარი, რათა მოერგოს 8K ბაიტი პროგრამულ სივრცეს Attiny-85. აუდიო ასევე არის ATtiny-85– ის პრობლემა, იხილეთ ზემოთ ნახსენები წინა პროექტი. კოდი დაყენებულია პირობითი შედგენით და ცნობილია, რომ მუშაობს ნანოსთან, უნოსთან და ATtiny-85– თან.

თითოეული ამ ესკიზის ინიციალიზაციის შემდეგ თქვენ წარმოგიდგენთ მენიუს, ერთი ფერით, რომელიც ერთდროულად ანათებს ყველა წითელს… ყვითელს… მწვანე… ცისფერს, რაც შეესაბამება თამაშის ოთხი შესაძლო არჩევანს. თქვენ ან დააჭირეთ Btn1 როდესაც სურვილის ვარიანტი განათებულია ან ნებისმიერ დროს დააჭირეთ Btn2-4 2-4 თამაშებისთვის. არჩევის ზედმეტი გზა არის ის, რომ იყოს თავსებადი ორი და ოთხი ღილაკის განხორციელებასთან და თამაშებთან. თუ თამაშს აქვს მრავალი ვერსია, თქვენ უნდა აირჩიოთ წითელი მოციმციმე ver-1, ყვითელი მოციმციმე ver-2 და ასე შემდეგ.

4 ღილაკი თამაშები

მეხსიერების თამაში, თვალი-ხელის კოორდინაციის თამაში და ორი სტრატეგიული თამაში.

სიმონ ამბობს, რომ ეს არის თამაშის ხელახალი განხორციელება იმ ფორმიდან, როგორიც მე მქონდა, ამ ადრინდელ პროექტებში:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

ის თამაშობს ისევე, როგორც ნებისმიერი სხვა თამაში "სიმონ ამბობს".

თუმცა, მე დავამატე ორი ადამიანის ვერსია (როდესაც თქვენ ირჩევთ ვარიანტს 2, მოციმციმე ყვითელი), სადაც თითოეული მოთამაშე, თავის მხრივ, დაამატებს ახალ შუქს სერიას. პირველი, ვინც არ გაიმეორა ყველაფერი, რაც ადრე იყო, თამაშს კარგავს.

Whack a Mole

30 წამის განმავლობაში სხვადასხვა ხალი ჩნდება (წითელი, იელი, გრინი, ბლუ) ერთდროულად 1, 2 ან 3. თქვენ უნდა "გაანადგუროთ" შესაბამისი ღილაკების დაჭერით Btn1-4. მიიღება მხოლოდ ერთ ღილაკზე დაჭერა, ერთდროულად რამდენიმე ღილაკზე დაჭერა. რამდენ ხანს რჩება ნაკერების ნაკრები, თამაშის თამაშისას უფრო მოკლე ხდება. თუ თქვენ დაიმსხვრევთ ყველა მოლს, მაშინ გამოჩნდება ახალი ნაკრები; ისეთი, რომ რაც უფრო სწრაფად გახდებით, მით უფრო მეტი მოლი გექნებათ გატეხვის შანსი.

თამაშის დასრულების შემდეგ ეკრანი ასახავს ქულებს, აანთებს ერთ ლიდერს თითოეული 10 მოლისთვის, რომელიც დაარტყა. ვინაიდან თამაშს აქვს 10 ქულა თითოეული მოლის დარტყმისთვის, 5 განათებული ლიდერი წარმოადგენს სტანდარტული Whac-a-Mole ქულა 500+. სხვა რაუნდის სათამაშოდ თქვენ უნდა ხელახლა აირჩიოთ თამაში.

თითს ვიყენებ თითოეულ ღილაკზე სწრაფი მოქმედებისთვის და მაღალი ქულისთვის. უფრო სათანადო გამოწვევისთვის, თქვენ უნდა გამოიყენოთ მხოლოდ ერთი თითი ერთი ხელით, რომელიც პასუხობს ერთი მალის გამოყენებას.

ჩემი ტიპიური ქულა ერთი თითის გამოყენებით არის 500 -იან წლებში, 4 თითის გამოყენებით (თითო ღილაკზე) ეს არის 600+. ჩემი უმაღლესი ქულა არის 700+. რამოდენიმე თითის გამოყენება განსაკუთრებით სახიფათოა იმით, რომ თუ გადაფარავს ერთი და მეორე დაჭერა, მეორე არ მიიღება პროგრამული უზრუნველყოფის მიერ, რაც მოითხოვს თქვენ გაათავისუფლოთ ყველა ღილაკი, სანამ მეორე მიიღება. თუ ვინმეს გაეცნობა 12 -ე ლიდერი 1200+ ქულაზე, გთხოვთ შეგვატყობინოთ.

ზღვის ნადირობა

სიღრმეში მოძრაობს უხილავი წყალქვეშა ნავი. მისი საწყისი მდებარეობა და მიმართულება შემთხვევითია. ის მოძრაობს თავისი კურსის გასწვრივ ყოველი შემობრუნების შემდეგ. თქვენ უნდა წინასწარ განსაზღვროთ მისი ადგილსამყოფელი სონარის ანგარიშების საშუალებით და ჩაიძიროთ იგი სიღრმისეული მუხტით. სონარი ისმის ტალღებით (ორივე მიმართულებით) მისი საწყისი ადგილიდან როგორც სუსტი შუქი და ანათებს (პინგთან ერთად) ქვეგანყოფილების მანძილზე. ამასთან, გაითვალისწინეთ, რომ ქვექვემდებარი შეიძლება იყოს თქვენი ნებისმიერი გზა და მოძრაობს უცნობი მიმართულებით. სიღრმისეული მუხტი აფეთქებს ღრმად ქვემოთ, სადაც ის ამოქმედდა. თქვენ გესმით გაფუჭებული აფეთქება, თუ არაფერი, ან არის იქ, სხვაგვარად გესმით ქვეგანყოფილების დიდი აფეთქება და კაშკაშა ელვა.

კურსორის გადასაყვანად იქამდე, სადაც გსურთ ჩააგდოთ სონარის ბუიე ან სიღრმის მუხტი კეთდება Btn2 & Btn3 მარცხნივ და მარჯვნივ. ღილაკი -1 გამოიყენება მათ გასაშვებად.

1 ვერსიაში, ყოველი მცდელობა არის სიღრმის მუხტისა და სონარის ანგარიშის კომბინაცია; და თქვენ შეგიძლიათ გამოიყენოთ მათი შეუზღუდავი რაოდენობა.

მე –2 ვერსიაში, თავით, რიგრიგობით, რომ ნახოთ ვინ ახერხებს ქვევით ჩაძირვას. მოთამაშე 1 იყენებს Btn1– ს და მეორე მოთამაშე იყენებს Btn4– ს მათი სიღრმის მუხტების დასაწყებად.

მე -3 ვერსიაში, სიღრმისეული მუხტები და სონარის ანგარიშები დამოუკიდებლად იწყება Btn1 და Btn4 შესაბამისად. თქვენ გაქვთ მხოლოდ სამი სიღრმისეული მუხტი თქვენთვის ხელმისაწვდომი. თქვენ შეგიძლიათ მიიღოთ ყველა ხმოვანი ანგარიში, რომელიც გსურთ. თქვენ დაკარგავთ, თუკი მას ვერ მიიღებთ ამ ბრალდებით.

მე -4 ვერსიაში ქვექვეშა შეიძლება მოძრაობდეს 1-3 სივრცეში ფრენაზე და სხვაგვარად უკრავს მე -3 ვერსიის მსგავსად, მაგრამ თქვენ მიიღებთ 6 სიღრმის მუხტს.

ისტორია: მე პირველად შევქმენი თამაში "ზღვის ნადირობა" 1970 -იან წლებში. მაშინ შესასვლელი და გამომავალი მოწყობილობა იყო ტელეტიპი. თუმცა, მაშინ ზღვა იყო 2 განზომილებიანი ბადე, განსხვავებით 1 განზომილებისგან, როგორც აქ.

შენიშვნა: მე დავწერე კოდი სიღრმის დამუხტვის შეზღუდვის შესახებ იმ იდეით, რომ ადამიანების უმეტესობისთვის თამაში უკვე საკმაოდ რთული იყო.

გადაბრუნდა

ეს ორი მოთამაშე თამაში ოდნავ ჰგავს რევერს, რადგან თქვენ ცდილობთ ყველა უჯრედი თქვენს ფერს გადააქციოთ, მაგრამ ეს სხვანაირად სრულდება.

ამ ორ მოთამაშეს თამაშში, ერთი მოთამაშის მიზანია ყველა შუქის ჩაქრობა, ხოლო მეორის ჩართვა. ერთი მოთამაშე იყენებს Btn1– ს, რომ გამორთოს მეორე მოთამაშის შუქები ან უარი თქვას მის ერთ „გამორთულ შუქზე“(ჩართავს მას). სხვა მოთამაშე იყენებს Btn4- ს ან გამორთული ნათურების ჯგუფს ჩართავს ან მის უკანა მხარეს ერთს.

დაფა იწყება led– ების შემთხვევითი ნაკრებით. როდესაც ეს პირველი მოთამაშის ჯერია, ჩნდება სწრაფი დაბინდვა ან განათება ლიდერზე "კურსორზე", ინტერესის საგანი, რომელიც პოტენციურად უნდა იქცეს. მოთამაშის რიგით 2 – ის შემობრუნებისას არის led– ის გრძელი ციმციმი, როგორც კურსორის მაჩვენებელი. თუ არასწორი მოთამაშე უბიძგებს თავის ღილაკს, თავის მხრივ, არის ძალიან მოკლე სიგნალი. კურსორი გადადის მარცხნივ Btn2 და მარჯვნივ Btn3. წაგებული მოთამაშე იწყებს შემდეგ თამაშს.

სტრატეგია იმის შესახებ, თუ რა უნდა გადააქციოს შეიძლება იყოს მნიშვნელოვანი.

ნაბიჯი 4: თავსა და თავში კონკურსები

ორი ღილაკი / ორი მოთამაშის თამაშები

4 ღილაკიანი თამაშების პირველ ნაკრებში მხოლოდ 'Whack-a-Mole' ნამდვილად ეყრდნობა ღილაკების დამუშავების სრულ დამოუკიდებლობას. მე ასევე განვახორციელე ოთხი თავით თამაში, ყველა მათგანი დამოკიდებულია ღილაკების დამოუკიდებელ გამოვლენაზე. ეს თამაშები არის: სწრაფი გათამაშება, საბრძოლო ომი, ქათამი და ცხელი ხელები (შლაკები).

სწრაფი გათამაშება (რეაქციის ტესტი)

კონკურსი იწყება "მზა"/წითელი, "ნაკრები"/ყვითელი და "დახაზეთ!"/მწვანე; საკმაოდ შემთხვევითია, როდესაც ის მწვანე შუქს მოგცემთ. ვინც პირველად დააჭერს მათ ღილაკს იგებს. დარტყმა ძალიან მალე და შენ შეურაცხყოფილი ხარ ხმაურით.

მოთამაშე 1 იყენებს Btn1 (მარცხნივ) და მოთამაშე 2 იყენებს Btn4 (მარჯვნივ).

საბრძოლო ოკუპაცია

იწყება "მზადაა", "დაყენებული" … "წადი!". შუაში ჩნდება ობიექტი, თოკზე 'მშვილდი'. შემდეგ მოთამაშეებმა რაც შეიძლება სწრაფად და ხშირად დაარტყეს ღილაკები. მშვილდი გადავა მოთამაშესთან ყველაზე მეტი დარტყმით. მას შემდეგ, რაც მშვილდი მიაღწევს ერთ ბოლოს, ეს არის გამარჯვებული.

ქათამი

ეს კონკურსი იწყება ანალოგიურად. "მიდი!" - ის ხმის & მწვანე ციმციმის შემდეგ მოთამაშეები აჭერენ და იჭერენ თავიანთ ღილაკებს, სინათლის შუქები (მათი ეტლები) იწყებენ მათგან მოძრაობას მეორისკენ. გამარჯვებული არის ის, ვინც ათავისუფლებს თავის ღილაკს (ხტება მათი ეტლიდან) ბოლოს, ზუსტად მანამ, სანამ ორი ბლიპი ერთმანეთს დაეჯახებოდა. თუ ვინმე ძალიან გვიან გაათავისუფლებს ან საერთოდ არ გამოუშვებს, ის შეეჯახა და წააგებს. თუ ორივე ხტომა (გათავისუფლება) ძალიან გვიან არავინ გაიმარჯვებს.

დასაწყისში წყვილი საპირისპირო led ატრიალებს ეკრანს, ამ დროს თუ დააჭერთ Fnc-Btn2 თამაშის სიჩქარე გაიზრდება. ეს შეიძლება რამდენჯერმე განმეორდეს.

ცხელი ხელები

ხელის დარტყმის თამაშის ციფრული ვერსია (იგივე წითელი ხელები ან შლაკები). ორი მოთამაშის დასაწყებად დააჭირეთ მათ ღილაკებს ერთად, ერთი მხარე ათავისუფლებს, შემდეგ ცდილობს დააჭიროს მის ღილაკს ორჯერ, სანამ მეორე მხარეს შეუძლია გაათავისუფლოს მისი ღილაკი. შემდეგ მეორე მხარე ცდილობს ანალოგიურად მოიქცეს. მოთამაშე, რომლის ჯერიც არის, რაუნდის დასაწყისში არის მითითებული მის გვერდით ლიდერების განათებით. მე აღმოვაჩინე, რომ ერთი ღილაკის მხოლოდ დაჭერით იყო ძალიან სწრაფი და მარტივი, ამიტომ მე გავაკეთე ორი საჭირო, რაც მეტ მოქმედებასა და დროს მოითხოვს, ისევე როგორც ხელის გადახვევა სხვებზე მაღლა, ასევე ქვემოთ დარტყმა. TBD: მეორე ვერსიაში, ის უფასოა ყველასთვის, ნებისმიერ დროს ნებისმიერ მოთამაშეს შეუძლია სცადოს მიიღოს საუკეთესო სხვაგან.

შენიშვნა! მე გირჩევთ დაბეჭდოთ ზემოაღნიშნული თამაშების მოქმედების წესები და ხელახლა წაიკითხოთ, სანამ თამაშობთ თამაშს, რომელიც ბოლო დროს არ გითამაშიათ. წინააღმდეგ შემთხვევაში, თქვენ შეგიძლიათ საკუთარი თავის იმედგაცრუება; ფიქრობთ, რომ თამაში არ მუშაობს სწორად, როდესაც ეს ასეა, მაგრამ თქვენ და თამაშს განსხვავებული გზები და მოლოდინი გვაქვს. მე თვითონ რამდენჯერმე გავხდი ამის მსხვერპლი.

რვა თამაშით აქ და ოთხი ჩემს ადრეულ პროექტში Single-Line-LED-Display-Games, რაც პროგრამული უზრუნველყოფის ხელმისაწვდომს ხდის 12 თამაშს ამ ოთხი ღილაკით + led ასვლა აღჭურვილობის კომბინაციით.

მე მაქვს მინიმუმ კიდევ ოთხი დასასვენებელი აქტივობა ამ (ღილაკის ჩვენების) ტექნიკისთვის, რომელიც მოდის წლის ბოლომდე.

ნაბიჯი 5: სურვილისამებრ 2 მოთამაშე კონტროლერი

არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი
არჩევითი 2 მოთამაშე კონტროლერი

იმ თამაშებისთვის, რომელთაც მხოლოდ ორი ღილაკი სჭირდებოდა, რა თქმა უნდა, მე შემეძლო გამომეყენებინა 4 ღილაკიანი PCB იმ თამაშებთან ერთად; თუმცა ამ თამაშების თამაშში ადამიანი მიდრეკილია გახდეს საკმაოდ ფიზიკური. ამრიგად, მე ვიყენებ დგუშის ტიპის ცალკეულ ღილაკებს, რომლებიც დამზადებულია პლასტმასის მილისგან, რომელიც დაფარულია ველოსიპედის სახელურით და დიდი ღილაკით.

დგუშის ტიპის ღილაკის ნაწილები:

  • 1/2 "წვეთოვანი ხაზის მილი, სპრინკლერული დგომა ან PVC (ტექნიკის მაღაზია)
  • ველოსიპედის სახელური (Walmart)
  • დიდი ღილაკები (eBay)
  • 2 რეზისტორი

თავსებადობის შესანარჩუნებლად ერთ ღილაკს აქვს სერიის 75 ohm რეზისტორი, ხოლო მეორეს აქვს 36-39 ohm სერიულად; ისეთი, რომ პროგრამული უზრუნველყოფა მათ დაინახავს Btn1 და Btn4 შესაბამისად.

თქვენ შეგიძლიათ გამოიყენოთ მილები, ვთქვათ, გადაყრილი ცოცხებისაგან ან საკინძის სახელურიდან.

შეიძლება გაკეთდეს ადაპტერი, რომელთანაც შეგიძლიათ დააკავშიროთ ძველი სათამაშო კონსოლის სიხარული ჩხირები; ერთი ცეცხლის ღილაკები იყოს სადენიანი, როგორც Btn1 და Btn4 მეორისთვის, ხოლო Btn1-4 გაზიარებისას სიხარულის ჩხირების სანავიგაციო ღილაკებზე გადასვლა.

2018 წლის აპრილი: ახლა გირჩევნიათ გამოიყენოთ 5/8 შეკუმშვის წყვილი, როგორც სხეული გარე დგუშის სტილის ღილაკებისთვის. დიდი ღილაკები (პატარა ლენტით დამატებული ძაფებით) მშვენივრად ჯდება მათში და ისინი ძალიან ლამაზად ჯდება ხელში. როგორც ჩემი ბავშვებს მოსწონთ ამ წყვილის გამოყენება, მე დავამატე სათაურის ქინძისთავების რამდენიმე კომპლექტი, რათა ადვილად შევაერთო ერთი გარე ხელის ღილაკი Bnt1 კონტაქტებზე და ერთი Btn4.

ნაბიჯი 6: განახლება

განახლება
განახლება

გავაკეთე 3D დაბეჭდილი კონსოლის კორპუსი, რომ განლაგებულიყო In-Line LED კიბეების ჩვენება და ღილაკები.

მე შევაერთე 12 თამაში, რაც აქამდე შევქმენი, ამ 12 LED დისპლეისთვის, ერთ ესკიზში "Menu_12Games". ეს პროგრამული უზრუნველყოფა მოითხოვს ამ პროექტის აპარატურას, რომელიც ხორციელდება 32KB ფლეშ MCU (მაგ. ნანო ან უნო) და 5 ღილაკით, 4 ძირითადი + FncKey.

შერჩევის მენიუ ახლა ორ დონეზეა; ჯერ ირჩევთ თამაშების 4 ჯგუფიდან 1 შემდეგ თამაშს 1-4 ამ ჯგუფში,… როგორც ქვემოთ ჩამოთვლილია. სანამ ელოდებით შერჩეულ ეკრანებს სკანირება R-Y-G-B პერიოდულად, თქვენ დააჭირეთ Btn1-4 როგორც თქვენს არჩევანს ნებისმიერ დროს, არ აქვს მნიშვნელობა რა გამოჩნდება თქვენს შერჩევით დაჭერისას. "ჯგუფური" შერჩევისას ყველა LED ნაწილობრივ მაინც უმნიშვნელოა RYGB სკანირების დროს. ნებისმიერი თამაშის გასასვლელად ან "თამაშიდან" "ჯგუფში" ასარჩევად დააწკაპუნეთ FncKey-Btn1.

მე ჯერ კიდევ დავამყარებ ფინალურ 4. მე მაქვს 3 დაწერილი (მათ შორის 'LeMans'). მე არ მიფიქრია, რა იქნებოდა ბოლო თამაში. მომწერეთ ნებისმიერი იდეით.

განახლება 25 იანვარი 17: მათთვის, ვისაც აქვს წვდომა 3D პრინტერზე, შეიძლება დაგაინტერესოთ სათამაშო კონსოლის ქეისი, რომელიც გავაკეთე ჩემი მოწყობილობისთვის: https://www.instructables.com/id/3D-Printed-Case- for-Inline-LED-Display-Console- და/

განახლება 17 თებერვალი 17: მე დავამატე ბოლო 4 თამაში, რომლებიც უკვე ხელმისაწვდომია როგორც "Menu_16Games.ino" ქვეპუნქტის "ნაბიჯი 7: განახლება, მეტი თამაშები" ინსტრუქციის მიხედვით: ერთჯერადი ხაზი-LED- ჩვენების თამაშები (Menu_12Games.ino არის ახლა აღარ არის)

ჯგუფური თამაში: 1– წითელი 2- ყვითელი 3- მწვანე 4- ლურჯი

1 წითელი PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

გირჩევთ: