İçindekiler:

Arduino Projesi // Simon Diyor (Penatly Consequence ile): 5 Adım
Arduino Projesi // Simon Diyor (Penatly Consequence ile): 5 Adım

Video: Arduino Projesi // Simon Diyor (Penatly Consequence ile): 5 Adım

Video: Arduino Projesi // Simon Diyor (Penatly Consequence ile): 5 Adım
Video: Sérigraphie - Spide la Pub à Perpignan dans les Pyrénées Orientales, 66 2024, Mayıs
Anonim
Arduino Projesi // Simon Says (Penatly Consequence ile)
Arduino Projesi // Simon Says (Penatly Consequence ile)

Selam!

Bu, aslında benim ilk arduino projem olduğu için, çok başlangıç seviyesindeki bir dostça öğretilebilir. Bu projeyi şu anda takip ettiğim If This Then That adlı kursu geçmek için oluşturdum.

Bu Eğitilebilir Kitapta, Arduino'yu kullanarak ceza sonucu olan kendi Simon Says oyununuzu nasıl yapacağınızı göstereceğim. Oyunu biraz daha renklendirmek için bir ceza sonucu eklemeyi seçtim; kullanıcıya sadece ışıkları takip etmek ve karşılığında düğmelere basmak yerine arduino ile daha fazla etkileşim sağlar.

Ceza sonucu, kullanıcının basınç sensörüne basmasından oluşur. Arduino, kullanıcının verdiği basınca tepki verir ve basınca göre arduino kırmızı veya yeşil bir LED yanar. Kırmızı LED yanarsa oyuncu bir kesinti puanı alır, yeşil LED yanarsa hiçbir şey olmaz. Oyunu sıfırlayıp tekrar oynayabilirsiniz.

Bir beyaz tahta kalemi ile, sistemin kendisinde kaç kesinti puanınız olduğunu işaretleyebilirsiniz. Bu size projenin tasarımıyla da biraz ekstra etkileşim sağlar.

1. Adım: MALZEMELER

Önce malzemeleri kendiniz almak isteyebilirsiniz. Bir elektronik kiti satın almıştım ve daha fazla elektronik satın almak istemediğim için o kitte bulunan öğeleri ve araçları kullanmak istedim. Kendiniz eğlenceli bir şeyler eklemekten çekinmeyin.

Kullanılan öğeler:

- Arduino Uno (1x)

- Breadboard (1x)

- LED'ler (4x ve mümkünse farklı renklerde, oyunu daha renkli hale getirir)

- PCB Buton (4x, 6x6mm ebat)

- 200 ohm direnç (4x)

- 10K ohm dirençler (5x)

- Basınç Sensörü (1x)

- Breadboard atlama telleri seti

- Mükemmel / Şerit tahtası (1x)

- Köpük tahta (beyaz)

- Asetat folyo

- Washi bant

- Pamuk ped

- Ressam bandı

- Zamk

Kullanılan aletler:

- Havya

- Kesiciler

- Sıyırma Pensesi

- Lazer kesici

- Stanley bıçağı

2. Adım: KODUNUZU AYARLAYIN

Kendimi programlamaya başlamadan önce, arduino tabanlı başka Simon Says oyunlarına baktım. Bunları kodlamada karşılaştırdım. Bunları referans olarak kullandım:

- Şematik ve kod I ile öğretilebilir. Kod açıklanmamıştır, bu nedenle programlamaya aşina değilseniz, bunu bir kerede anlamak zor olabilir.

- Şematik ve kod II ile öğretilebilir

- Şematik ve kod III ile öğretilebilir

Oyun üç ayrı duruma ayrılmıştır: BAŞLANGIÇ durumu, OYUN durumu ve GAMEOVER durumu. Bu, oyunu her oynadığınızda tekrar eden bir daire gibidir. Kodun açıklamasının geri kalanını burada bulabilirsiniz.

Penaltı sonucu için bir zamanlayıcı kullandım. Sensörün ne kadar süreyle basınç altında kaldığını takip eder. If/else deyimlerini kullanarak, kırmızı LED'in mi yoksa yeşil LED'in mi yandığı basıncınıza bağlıdır.

int onGameOver(){ //Serial.print(millis());

Seri.print(" - ");

Seri.println(zamanlayıcı);

if (analogRead(A0) > 0)

{ //Zamanlayıcı zetten biz 2 saniye op if (!setOnce)

{ Serial.println("tıklandı.");

setOnce = doğru;

zamanlayıcı = millis() + 2000; } }

if (millis() > zamanlayıcı && setOnce)

{ //Zamanlayıcı afgelopen

Serial.println("afgelopen.");

yanıp sönmeOnce = yanlış; setOnce = yanlış;

dönüş (analogRead(A0) < 512 ? 2: 1); } }"

Adım 3: ŞEMATİK

ŞEMATİK
ŞEMATİK

Oyununuzu prototiplemek için breadboard'unuzu kullanın. Breadboard'un bağlı olduğunu unutmayın.

Muhtemelen birçok devre tahtasının farklı satır ve sütunlarda işaretlenmiş sayılar ve harfler olduğunu fark etmişsinizdir, ancak bunlar devrenizi kurarken size rehberlik etmekten başka bir amaca hizmet etmez. Yapmaya çalıştığınız bağlantının satır numarasını biliyorsanız, bu numaraya bir kablo takmak yüzlerce kez kontrol etmek yerine çok daha kolay hale getirir.

Yatay sıraların yanı sıra, devre tahtaları genellikle kenarlar boyunca dikey olarak uzanan güç raylarına sahiptir.

Adım 4: LEHİM

LEHİM
LEHİM

Öğretmenlerim bana not verirken (toplu taşıma ile de seyahat etmem gerekiyor) projemin tam anlamıyla dağılması riskini almak istemediğim için projemi devam ettirmek yerine lehimlemeyi tercih ediyorum. ekmek tahtası.

Sembolleri ve diğer şeyleri nasıl kullanacağımı bilmediğim için devrenin haritasını çıkarmadım, ancak yaparsanız ve lehimlemeden önce bunu kendiniz için daha iyi bir yöntem bulursanız, bu da sorun değil.

Prototipimi devre tahtamda inceledim ve devre tahtamda olup biten her şeyi tam olarak anladığımdan emin oldum. Bağlantıları yaptım ve olumsuz tarafın olumlu tarafa bağlanması gerektiğini aklımda tuttum.

Lehim yaparken hangi ledin/düğmenin/telin/sensörün hangi pinin bunu el altında tuttuğunu yazdım. Bir noktada, muhtemelen sahip olduğunuz kablo miktarından dolayı çok sinirli olacaksınız. Yaptığım şey, telin işlevinin ne olduğunu ve hangi pime gideceğini ressam bandına yazmak ve telin etrafına sarmaktı, böylece tüm farklı tellerin ne için olduğu daha net olurdu.

Sadece her şeyin bağlı olduğundan emin olun ve gitmeye hazırsınız!

Ancak size vermek istediğim bir ipucu, lehimleme sırasında prototipinizi yaptığınız yerdeki breadboard'unuzu yanınızda bulundurmanız, böylece ne yaptığınızdan emin olmadığınız zaman referans olarak kullanabilirsiniz. Pek çok öğrenci arkadaşımın prototiplerini parçalayıp sonra bazı şeyleri nasıl birbirine bağladıklarını unuttuklarını gördüm.

Adım 5: AMBALAJLAMA

AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA
AMBALAJLAMA

Arduino'mu kaplayan bir küp olmasını istedim. Illustrator'da bir küp yaptım ve bunu lazerle kesmeye gittim. Malzemeler olarak, düzenlemesi kolay ve sağlam bir malzeme türü olduğunu düşündüğüm için köpük tahtayı seçiyorum. Her lazer kesici farklı olduğundan, malzemenizin kalınlığına da bağlı olarak lazerin hızını ve gücünü kendiniz kontrol etmek istersiniz.

İki normal kare küpün üst ve alt tarafı olacak, geri kalanlar kenara yapışacak. Bunun için yapıştırıcı kullanabilirsiniz. Diğerlerinden daha kısa olan bir tarafı var, çünkü arduino'nuzdaki usb kablonuzu bu küpün dışına ve herhangi bir değişiklik eklemek veya oyunu açmak istiyorsanız dizüstü bilgisayarınıza yapıştırabilirsiniz.

Sadece kenarları birbirine kaydırdım ve ekstra güvenlik için yapıştırdım. Son olarak küpün üst tarafını yapıştırdım çünkü küpü arduino'nun dayanabileceği pamuklu pedlerle doldurmak istedim. LED'lerin çıkacağı daireleri, düğmelerime basılacağı kareleri ve basınç sensörümün çıkabileceği yeri kesmek için bir Stanley bıçağı kullandıktan sonra perf / stripboard'umu küpün üst tarafına bantladım. ve basılmaya hazır olun.

Asetat folyonuzu LED'lerin üzerine bantlamak için yıkama bandını kullanın ve kendi Simon Says oyununuz kullanıma hazır!

Önerilen: