İçindekiler:
- Adım 1: LED Dizisini Oluşturma
- 2. Adım: Kürek Kontrolleri
- Adım 3: Kasayı Kesmek
- Adım 4: Kasa Montajı
- Adım 5: Montajı Bitirmek
- Adım 6: Kod
- Adım 7: Bitirme
Video: LED Şerit Atari Pong Atari Makinesi: 8 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:18
Benim adım Gabriel Podevin ve bu benim ilk zorbalığım. Şu anda elektronik, robotik, devre ve programlama ile çok ilgilenirken bir şeyler yaratmayı ve inşa etmeyi seven 16 yaşında bir lise öğrencisiyim. Umarım bunu inatçı bulabilirsin, bunu faydalı bulabilirsin.
Bu derste size retro tarzı bir Atari Pong Oyununu retro bir arcade kasasının içinde nasıl yapacağınızı göstereceğim. Projenin demosu için yukarıdaki videoyu görebilir, ayrıca bitmiş projeyi ve kasayı tek başına ve iki resimde görebilirsiniz. Bu anlaşılmaz çalışmanın sonunda, kodun derinliklerine ineceğim ve onu kişiselleştirmek için nasıl düzenleyeceğim.
Temel parça listesi bölümlere ayrılacaktır: Araçlar, montaj parçaları ve bileşenler
İhtiyacınız olacak araçlar aşağıdakileri içerecektir:
- Delmek
- Havya
- Tornavida (kullanmaya karar verdiğiniz vidalara uygun)
- Çoklu Metre
- dolaşan testere, şerit testere veya lazer kesiciye erişiminiz var mı
-Tel kesici veya makas
- Tutkal tabancası
Montaj için ihtiyacınız olacak parçalar şunları içerecektir:
- Ahşap tutkalı
- 10 inç x bir inçlik tahta bloklar
- büyük bir çeyrek inç kontrplak levha veya tercih edilen ahşap
- Yarım inç uzunluğunda 24 vida
- 14 x 6.5 inç led yayıcı plastik (isteğe bağlı)
- kırmızı ve mavi elektrik bandı
İhtiyacınız olacak bileşenler şunlardır:
- 2 adet 100k ohm potansiyometre
- 8 metre bireysel adreslenebilir Led şerit (Metre başına 30 led)
www.amazon.ca/ALITOVE-WS2812B-Individually-Addressable-Waterproof/dp/B018XAELE4/ref=sr_1_1?s=hi&ie=UTF8&qid=135323567&sr=1-
- birkaç metre tel veya birden fazla renk tel
- bir varil jakı fişi aracılığıyla 6v çıkış veren ac - dc güç adaptörü
- 1 arduino Uno R3
Eğer benim gibi bir Arduino Uno R3'e erişiminiz yoksa, atmel328-pu işlemci kullanan bu projede kullanacağım gibi bir tane oluşturabilirsiniz. Kendi https://www.instructables.com/id/How-to-make-your-own-Arduino-board/'unuzu nasıl oluşturacağınızı öğrenmek için bu bağlantıyı takip edin.
Bir arduino uno kullanıyorsanız, birinci adıma devam edin.
Adım 1: LED Dizisini Oluşturma
Bu adım, yapmanız gereken tüm lehimleme nedeniyle en basit zaman alıcı adımdır.
- Başlamak için 10 3/4 inç'e 6 1/2 inçlik bir tahta parçasına ihtiyacınız olacak.
- Tahta parçanızı aldıktan sonra, Led şeridinizi alın ve her 10 led'de veya her 6 1/2 inçte bir 26 segment kesin.
- Segmentleri kestikten sonra, yukarıdaki ilk resimde gösterilen aşağıdaki resimlerde gösterildiği gibi dikey olarak ahşabınıza yapıştırın.
-şeritleri yapıştırdıktan ve yerleşmelerine izin verdikten sonra lehimlemeye başlayacağız.
-üç farklı renkli tele ihtiyacınız olacak
- tüm pozitifler bir kabloya ve tüm negatifler bir kabloya bağlanırken, son kablo led şeritleri birbirine saracak şekilde kablolanmalıdır. Bu adımın başındaki ikinci resim, kabloları nasıl bağlayacağınızı gösteren bir şemadır.
-Son olarak, onları lehimledikten sonra, lehim bağlantılarınıza karşılık gelen renklerle bir elektrik şeridi saracaksınız. Yukarıdaki üçüncü resimde gösterildiği gibi.
-son olarak Arduino'ya bağlanacağız. dijital girişiniz veya orta teliniz size dijital giriş 6 pin bağlanacak ve toprak ve pozitifiniz kart üzerindeki pozitif ve negatif raylara bağlanacaktır.
2. Adım: Kürek Kontrolleri
Bu çok basit adım için tek yapmanız gereken her bir potansiyometreye üç kablo lehimlemek. Potansiyometreyi lehim noktaları sizden uzağa bakacak şekilde tutarsanız, sol uç pozitif olacak ve orta uç çıkacak ve sağ uç topraklanacaktır. yukarıdaki şemada gösterildiği gibi
Kabloları lehimledikten sonra onları Arduino'ya bağlayacağız. olumlu ve olumsuz yağmurlara karşılık gelen olumlu ve olumsuz oraya bağlanacaksınız. Potansiyometre üzerindeki çıkış kabloları arduino üzerindeki farklı girişlere bağlanacaktır. biri (A0) fişine diğeri (A1) fişine bağlanacaktır.
Adım 3: Kasayı Kesmek
bu kısım size kesmeniz gereken şeylerin boyutlarını ve açılarını verecektir.
****çok önemli***** ahşabınızın çeyrek inç (1/4 inç) kalınlığında olduğundan emin olun
ayrıca parçaları keserken parçalarınızı etiketlemeyi unutmayın
kesilecek temel kısım alt, arka, üst, ön üst, ön alt olarak etiketlenecektir…. başlangıçtaki resimlerde gösterilen
parça boyutları
- Alt: 13 3/4 inç X 10 1/4 inç
- Arka: 13 3/4 inç X 15 1/2 inç
- Üst: 13 3/4 inç X 6 1/2 inç
- Ön alt: 13 3/4 inç X 4 1/4 inç
- Arama Paneli: 13 3/4 inç X 6 inç
- İç üst: 13 3/4 inç X 3 1/4 inç
- LED dış cephe kaplaması: 6 1/4 inç X 1 inç (bunlardan ikisini kesin)
- LED İç alt: 13 1/4 inç X 4 1/2 inç
- iç arka LED panel: 13 1/4 inç X 9 inç
- Bloklar: 1 inç X 1 inç X 1 inç (10 blok kesin)
- Akrilik panel: 13 3/4 inç X 6 1/2 inç
Yukarıdaki resimler size yan panel parçasının açılarını ve boyutlarını gösterecektir. ayrıca bu kısımdan iki tane kesmeniz gerekecek
Adım 4: Kasa Montajı
Bu talimatların bu noktasında neredeyse her şeyi bitirdiniz. Muhtemelen tüm bu parçalara ve kesiklere sahip olduğumu düşünüyorsunuz, onlarla ne yapacağım. Bu son adım size kasanızı nasıl monte edeceğinizi öğretecektir.
-Yapacağımız ilk şey, kasayı toplamaya başlamak. önceki adımdaki tüm ahşap kesimlerin işe yaradığı yer burasıdır.
-Montaja başlamak için tabanda 4 adet 1x1x1 ahşap blok, iki yan panel, arka ve ön alta ihtiyacımız olacak. 4 bloğu tabanın her bir köşesine yerleştirin ve adımın başlangıcında ikinci resimde gösterildiği gibi kenar ile blok arasında çeyrek inç bırakın.
-daha sonra tahtadan ve bloklardan bazı pilot delikler açmanız gerekecek. bir kez bu vidayı yaptıktan sonra dibe.
-Ardından yan panelleri takacağız. Panelleri bloğun dış tarafındaki çeyrek inç boşluğa yerleştirin. yan panelden ve ahşap bloktan bir pilot delik açın ve panelleri vidalayın. diğer taraf için tekrarlayın.
-Yan panelleri tamamladıktan sonra. ön alt paneli takacağız. paneli alt kısmı ile aynı hizada olacak şekilde yerleştirin ve yanlarda pilot delikleri bloklara delin ve paneli vidalayın.
-Sonunda sırtını takacağız. ön alt panelde yaptığınızın aynısını yapın ve tekrar vidalayın.
-Bu noktada, inşa etmeniz gereken bir temeliniz ve bu davayı nasıl bir araya getirdiğimize dair bir anlayışınız var.
-Bu sonraki bölüm, daha küçük bir alanla çalıştığınız için biraz daha zor. Başlamak için tüm üst parçalara ve 6 bloğa ihtiyacımız olacak.
-Şimdiye kadar inşa ettiğiniz şeyi sırtına koyun ve blokları üstten çeyrek inç köşelere yerleştirin. (başlangıçtaki üçüncü resimde gösterildiği gibi)
-yan ve arka için pilot delikler açın ve vidalayın.
-şimdi tepenin geri kalanını bir araya getireceğiz
-Üst panelinizi alın ve blokların üzerine yerleştirin, kılavuz delikleri delin ve üstünü vidalayın. Fince yaptıktan sonra montajınızı ***dikkatle*** ters çevirin ve her köşeye kenara paralel birer blok yerleştirin. yan panellerden pilot delikler açın ve bunları bloğa vidalayın. kasayı tekrar dik konuma getirin ve üst kısımdan bloklara pilot delikler açın ve vidalayın.
-bu yuva kısmı biraz zor. ön üst panelinize ve son iki bloğunuza ihtiyacınız olacak. önce üst ön panelinizden önceki bloklara bir pilot delik açın ve vidalayın. şimdi son iki bloğu alın ve köşeye yerleştirin ve yan panelinizi ve ön üst panelinizi bloklara vidalayın. bir kez daha kasayı ters çevirin ve iç üst paneli bloğa yerleştirin ve vidalayın.
- böyle bir şeyle kalmalısın (bu adımın ilk resminde gösterilmiştir)
sonraki adım, montajın geri kalanını açıklayacaktır.
Adım 5: Montajı Bitirmek
Bu noktada, davayı neredeyse tamamladınız ve yerine koymanız gereken birkaç şey inşa ettiniz ve işiniz bitmiş olacak.
Şimdi geriye kalan tek şey elektroniği kurmak.
- Potansiyometreniz için kadran panelinize delikler açarak başlayacağız. rahat olacağını düşündüğünüz delikleri açmaktan çekinmeyin. benim durumumda her iki potansiyometre için delikleri alttan 2 1/2 inç ve yanlardan 3 1/2 inç yerleştirdim.
-Deliklerinizi açtıktan sonra bu paneli kasanın üzerine koyacağız. ancak vidalamak yerine yapıştıracağız, kasanın kenarına bol miktarda yapıştırıcı sürün ve paneli yerleştirin ve bazı kelepçelerle veya ağır bir şeyle tutun.
-Yapıştırıcı kuruduktan sonra elektronik parçaları yerleştireceğiz. Ama önce arka paneli çıkarmamız gerekecek.
-Arka taraf kapandığında, LED'leri ve diğer bileşenleri içeriye yerleştirmeyi kolaylaştırmak için kasayı ön tarafa yerleştirmenizi tavsiye ederim.
-Artık geri döndüğünüze göre, potansiyometreyi sadece açtığımız deliklerden geçirerek ve bol miktarda sıcak tutkal koyarak kasanın içine yerleştireceğiz.
***Dikkat***-Lehim noktaları kırılgan olabileceğinden LED dizisini yerleştirirken son derece dikkatli olun.
-Şimdi en önemli kısma gelmiş bulunuyoruz, led dizisini yerleştiriyoruz. tahtayı ikinci resimde gösterildiği gibi yerleştirin.
-Bir kez led iç panelinizi alın ve kasanın içine doğrudan LED dizisi arka panelinin altına yerleştirin. Bu parça bana sıkı bir uyum sağlayabilir. ayrıca devam etmeden önce kurumasını bekleyin.
-Son kısma ulaştınız. LED'ler ve bu kısım arasındaki kontrast için bu son kısmın (LED İç Arka) bir tarafını siyah veya beyaz boyamanızı tavsiye ederim.
-Bunu doğrudan LED desteğinin arkasına yerleştireceğini bileceğiz ve hareket etmelerini önlemek için LED'lerin arkasına hafifçe bastıracağız. yerleştirdikten sonra hareket etmesini önlemek için kenar boyunca tutkal uygulayın. üçüncü resimde gösterilmiştir.
****tebrikler tüm montajı bitirdiniz!!!
oyunu kodlamak için son adıma geçin
Adım 6: Kod
Buraya kadar geldiğin için bir kez daha tebrik ederim.
Bu bölümde size kodu ve nasıl çalıştırılacağını göstereceğim, ayrıca kodda değiştirebileceğiniz ve kişiselleştirebileceğiniz şeylere ek olarak.
ama buna girmeden önce, indirmeyi de bağladığım (adafruit_NeoPixel-master) ihtiyacınız olacak.
master'ı kurmak için arduino programınızı açın
1. çizime git
2. açık dahil kitaplığı
3. tıklayın (add.zip kitaplığı)
4. (adafruit_NeoPixel-master) dosyasını seçin ve işlemi tamamlayın
Bunun altına oyunun kodunu yapıştırdım.
#Dahil etmek
#Dahil etmek
uzun topXabs = 12;
uzun topYabs = 4;
int topX;
int topY;
int topvelX = 1;
int topvelY = 1;
int indeksi;
int fps = 50;
int palet genişliği = 3;
int paddlemax = 9 - paddlewidth + 1;
int knobseg = 1023 / (paddlemax);
int kürek1 = 4;
int paddle2 = 4;
#define NUMPIXELS 260
#define PIN 6
Adafruit_NeoPixel piksel = Adafruit_NeoPixel(NUMPIXELS, PIN6, NEO_GRB + NEO_KHZ800);
geçersiz kurulum() {
piksel.begin();
Seri.başla(9600);
}
boşluk döngüsü () {
temiz ekran();
updateBall();
updatePaddle1();
updatePaddle2();
displayBall();
displayPaddle1();
displayPaddle2();
piksel.göster();
algılama Çarpışma();
gecikme (fps);
}
void clearScreen() {
for (int i = 0; i < NUMPIXELS; i++) {
piksel.setPixelColor(i, piksel. Color(0, 0, 0));
}
}
geçersiz updateBall() {
ballXabs += ballvelX;
ballYabs += ballvelY;
}
geçersiz algılama Çarpışma() {
Serial.print(ballYabs);
Seri.print(" ");
Serial.println(paddle1);
if (ballvelX > 0 && ballXabs >= 25) { //sağ duvarla çarpışır
Serial.println("ÇarpışmaX");
puan1(); //ballvelX*=-1;
}
if (ballvelX < 0 && ballXabs <= 0) { //sol duvarla çarpışır
Serial.println("ÇarpışmaX");
puan2(); //ballvelX*=-1;
}
if (ballvelY > 0 && ballYabs >= 9) { //üst duvarla çarpışır
Serial.println("ÇarpışmaY"); topvelY *= -1;
}
if (ballvelY < 0 && ballYabs <= 0) { //alt duvarla çarpışır
Serial.println("ÇarpışmaY");
topvelY *= -1;
}
// kürek 2 çarpışmasını algıla
if ((ballvelX > 0 && ballXabs == 24) && ((ballYabs >= paddle2) && (ballYabs <= paddle2 + paddlewidth - 1)))
{ //sağ duvarla çarpış
Serial.println("CollisionPaddle");
topvelX *= -1;
}
// kürek 1 çarpışmasını algıla
if ((ballvelX = raket1) && (ballYabs <= raket1 + kürek genişliği - 1)))
{ //sağ duvarla çarpış
Serial.println("CollisionPaddle");
topvelX *= -1;
}
}
void updatePaddle1() {
int topuzu = analogRead(A0);
paddle1 = yuvarlak((uzun)düğme / (uzun)düğme);
}
geçersiz updatePaddle2() {
int button2 = analogRead(A1);
paddle2 = yuvarlak((uzun)düğme2 / (uzun)düğme);
}
geçersiz displayBall() {
topX = yuvarlak(ballXabs);
ballY = yuvarlak(ballYabs);
if (ballX % 2 != 0) {
indeks = (9 - ballY) + 10 * ballX;
if (ballX != 0) {
piksel.setPixelColor(ballY + 10 * (ballX - 1), piksel. Renk(30, 0, 0)); //ballcolor'un sol tarafı
}
if (ballX != 25) { piksel.setPixelColor(ballY + 10 * (ballX + 1), piksel. Color(30, 0, 0)); //top renginin sağ tarafı
}
if (ballY != 9) { piksel.setPixelColor(index - 1, piksel. Color(30, 0, 0)); //top renginin alt tarafları
}
if (ballY != 0) { piksel.setPixelColor(index + 1, piksel. Color(30, 0, 0)); //top renginin üst tarafları
}
}
Başka {
indeks = ballY + 10 * ballX; if (ballX != 0) {
piksel.setPixelColor((9 - topY) + 10 * (ballX - 1), piksel. Renk(30, 0, 0)); // topun sol tarafı çift sıra
}
if (ballX != 25) {
piksel.setPixelColor((9 - ballY) + 10 * (ballX + 1), piksel. Color(30, 0, 0)); // topun sağ tarafı çift sıra
}
if (topY != 9) {
piksel.setPixelColor(index + 1, piksel. Color(30, 0, 0)); // topun alt tarafları çift sıra
}
if (ballY != 0) { piksel.setPixelColor(index - 1, piksel. Color(30, 0, 0)); // topun üst tarafları çift sıra
}
}
piksel.setPixelColor(indeks, piksel. Renk(255, 0, 0)); ///top renginin merkezi
}
void displayPaddle1() {
for (int i = 0; i < kürek genişliği; i++) { piksel.setPixelColor(paddle1 + i, piksel. Color(0, 0, 255);
}
}
geçersiz displayPaddle2() {
for (int i = 0; i < paddlewidth; i++) { piksel.setPixelColor(NUMPIXELS - 1 - paddle2 - i, piksel. Color(0, 0, 255));
}
}
geçersiz puan1() {
resetBall(0);
}
geçersiz puan2() {
resetBall(1);
}
void resetBall(int player) {
gecikme(1000);
topXab'ler = 12
; topYabs = 4;
ballvelX = oyuncu ? 1: -1;
ballvelY = 1;
temiz ekran();
gecikme(1000);
displayBall();
piksel.göster();
gecikme(1000);
displayPaddle1();
displayPaddle2(); piksel.göster(); gecikme(2000); }
Adım 7: Bitirme
Kodu yükledikten sonra, arka panelde varil jakı güç adaptörünüz için yeterince büyük bir delik açın. arduino'ya takın ve son olarak arkayı yeniden monte edin.
Ayrıca parça listesine LED difüzör akrilik ekledim, şimdi bunu LED'lerin üzerine yerleştirip yapıştırabilirsiniz
Bunu yaptıktan sonra, ailenize ve arkadaşlarınıza karşı saatlerce süren rekabetçi oyunları oynamaya ve keyfini çıkarmaya hazırsınız.
Son olarak projeyi tamamladığınız için sizi tebrik etmek istiyorum.
Herhangi bir sorununuz varsa, buradan benimle iletişime geçin ve sorunu çözmenize yardımcı olmayı çok isterim.
Önerilen:
Nihai Bira Pong Makinesi - PongMate CyberCannon Mark III: 6 Adım (Resimlerle)
Nihai Bira Pong Makinesi - PongMate CyberCannon Mark III: GirişPongMate CyberCannon Mark III, şimdiye kadar halka satılan en yeni ve en gelişmiş bira pong teknolojisidir. Yeni CyberCannon ile herhangi bir kişi bira pong masasında en korkulan oyuncu olabilir. Bu nasıl p
Masaüstü Atari Makinesi: 5 Adım
Desktop Arcade Machine: Bu proje, eski bir dell iş istasyonundan yapılmış bir masaüstü arcade makinesidir. Merak edenler için bilgisayarda 8 GB DDR3 bellek (4 x 2 GB), Intel core i3 ve 300 watt güç kaynağı bulunuyor. Eski oyunlar olmadığı için grafik kartı gerekmez
Değişen LED Çerçeveli Atari Makinesi: 5 Adım (Resimli)
Değişen LED Çerçeveli Atari Makinesi: Gerekli Parçalar: Talimatlardaki dosyaları kullanarak LED çerçeve montajını lazerle kesebilirsiniz veya bir lazer kesiciye erişimi olmayanlar için, tamamen monte edilmiş olarak da mevcuttur.Kit Seçeneği / Siz Lazer Kes ve Pixelcade P3'ü Birleştirin LED Çerçeve
ESP8266 RGB LED ŞERİT WIFI Kontrolü - NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak - RGB LED STRIP Akıllı Telefon Kontrolü: 4 Adım
ESP8266 RGB LED ŞERİT WIFI Kontrolü | NODEMCU Wifi Üzerinden Kontrollü Led Şerit için IR Uzaktan Kumanda Olarak | RGB LED STRIP Akıllı Telefon Kontrolü: Merhaba arkadaşlar, bu eğitimde nodemcu veya esp8266'yı bir RGB LED şeridini kontrol etmek için IR uzaktan kumanda olarak nasıl kullanacağımızı öğreneceğiz ve Nodemcu wifi üzerinden akıllı telefon ile kontrol edilecek. Yani temel olarak RGB LED STRIP'i akıllı telefonunuzla kontrol edebilirsiniz
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: 6 Adım (Resimlerle)
Saç Kurutma Makinesi Nasıl Yapılır - Kendin Yap Ev Yapımı Saç Kurutma Makinesi: ❄ BURAYA ABONE OLUN ➜ https://www.youtube.com/subscription_center?add_us…❄ TÜM VİDEOLAR BURADA ➜ http://www.youtube.com/user/fixitsamo /videos❄ BİZİ TAKİP EDİN: FACEBOOK ➜ https://www.facebook.com/fixitsamo PINTEREST ➜ https://www.facebook.com/fixitsamo