İçindekiler:

Bluetooth LED Çizim Tahtası ve IOS Uygulaması: 9 Adım (Resimlerle)
Bluetooth LED Çizim Tahtası ve IOS Uygulaması: 9 Adım (Resimlerle)

Video: Bluetooth LED Çizim Tahtası ve IOS Uygulaması: 9 Adım (Resimlerle)

Video: Bluetooth LED Çizim Tahtası ve IOS Uygulaması: 9 Adım (Resimlerle)
Video: Kingboss 8.5 inç LCD Tablet Yazı Tahtası Grafik Çizim Tahtası #bayindirelektronik 2024, Kasım
Anonim
Image
Image
Bluetooth LED Çizim Tahtası ve IOS Uygulaması
Bluetooth LED Çizim Tahtası ve IOS Uygulaması

Bu eğitimde, oluşturduğumuz iPhone uygulamasından resim çizebilen bir Bluetooth LED panosu oluşturabileceksiniz. Bu uygulamada, kullanıcılar bu oyun tahtasında da görüntülenecek olan bir Connect 4 oyunu oluşturabilecekler. Bu, herkesin inşa edip keşfedebilmesi için ucuz ama etkili bir sürüm olacak! Genel olarak, değiştirilebilir ancak aynı etkiye sahip olan temel kavramları açıklayacağım. Örneğin, led panom 88 LED içeriyor. Bu sayı, tahtanın tercihine, süresine veya boyutuna bağlı olarak artırılabilir veya azaltılabilir.

Gerekli Parçalar:

ws2812b led ışıklar (veya eşdeğeri) - 21 $

5v 10 amper güç adaptörü (projem tamamen açıksa yaklaşık 5 amper çekiyor) - 18 $

Köpük Pano(dolar mağazasından benimkini aldı) - 1 $

Her tür ahşap (Menards'tan alınır) - 10$

Akrilik pleksiglas(bulutlu/beyaz, ayrıca Menards'ta) - 10$

Arduino Nano - 8 $

(eBay) Bluetooth Modülü HM-10 Cihazı - $3 (Amazon) Bluetooth Modülü HM-10 Cihazı - $10

Genel olarak, sıfırdan, bu projenin maliyeti 75 dolardan fazla değildir ve çocuklar için eğlenceli olabilir veya harika bir ışık gösterisi olabilir! Ucuz parçalar için eBay'e bakmayı severim, ancak dolandırıcılık veya kırık parça olup olmadığına dikkat edin. Daha da fazla zaman kazanmak için daha küçük versiyonlar yapılabilir. Bu kartın küçük boyutlarını oluşturmak için LED matrisi mevcuttur. Arduino kodunda ve IOS uygulamasında kullanılan LED sayısını değiştirmeyi unutmayın.

Adım 1: Boyuta Karar Verin ve Kesin

Boyuta Karar Ver ve Kes
Boyuta Karar Ver ve Kes
Boyuta Karar Ver ve Kes
Boyuta Karar Ver ve Kes
Boyuta Karar Ver ve Kes
Boyuta Karar Ver ve Kes

Boyut için dikkate alınması gereken şeyler, proje için kaç tane LED olduğu, ne kadar ahşap olduğu ve her bir led için karelerin ne kadar büyük olduğudur.

Pano Boyutları:

Üste bakan tahta: 20" ile 27"

Ortadan kesin: 23" 16"

Yan: 0.75" uzun + alt yüz ve üst yüz kalınlığı = 1.75" kalın

Ahşabın kalınlığı: 1/2"

Köpük levhanın boyutu:

her kare 2"

LED'lerin boyutu:

Genişlik: 8 LED

Yükseklik: 11 LED

Toplam: 88 LED

Adım 2: Kablo LED'leri

Tel LED'ler
Tel LED'ler
Tel LED'ler
Tel LED'ler
Tel LED'ler
Tel LED'ler
Tel LED'ler
Tel LED'ler

Her bir LED parçasını kesin ve her karenin ortasına yerleştirin. Her bir LED için gereken uzunluğa göre kabloları soyun. Veri satırı sütundan sütuna hareket edecektir. İlk LED ile başlayın ve 11. LED'e kadar bir sonrakine lehimleyin. En üstte, bir sonrakine kadar uzanan bir parça teli soyun, ilkinin sağındaki led. LED üzerinde pozitif ve negatif ile çalışırken, sütundaki son led'e ulaşana kadar her bir LED'den lehimlemeye devam edin. Biri pozitif, diğeri negatif olmak üzere iki bara teli oluşturdum ve her sütuna bağladım. Onları bağlamak için. Telin ortasını çıkardım ve oradan LED'e lehimledim. İki pozitif ve negatif bus kablosu, Arduino'daki gnd'ye ve Arduino'daki VIN pinine bağlanır ve bu da çıkıştan gelen güce dokunur. İlk LED, Arduino Nano kartında D3 pinine giden bir kabloya sahiptir. Bu tercihe göre değiştirilebilir.

Fişe taktıktan ve her şeyin çalıştığını gördükten sonra kabloları, LED'leri ve köpüğü yapıştırmak için sıcak tutkal kullanıyorum.

Adım 3: Ahşabı Birleştirin

Ahşap Birleştirin
Ahşap Birleştirin
Ahşap Birleştirin
Ahşap Birleştirin

Herhangi bir ahşap tutkalı veya sıvı çivi kullanarak ahşap parçaları birbirine yapıştırın. Ekstra destek için küçük tahta parçaları ekledim ve bunları sırtın her iki yanında birleştiği köşelere yapıştırdım. Menards'tan iki adet 12 braket aldım ve kartın üst ve yan parçasına bir kapı gibi açılması için vidaladım. Herhangi bir LED arızası durumunda veya daha sonra daha fazla bileşen eklemek istersem bunu yaptım.

Adım 4: Arduino ve Bluetooth'u ekleyin

Arduino ve Bluetooth'u ekleyin
Arduino ve Bluetooth'u ekleyin
Arduino ve Bluetooth'u ekleyin
Arduino ve Bluetooth'u ekleyin
Arduino ve Bluetooth'u ekleyin
Arduino ve Bluetooth'u ekleyin

Kartın arkasına bir DC Jakı ekleyin. Orta plaka negatif iken en arkadaki metal plaka pozitiftir. Bu, kartı takıp çıkarmak için kolay bir yol sağlar. Bunu duvara asmak istersem diye kutuya sabitlemek yerine DC jakının biraz sallanmasına izin verdim. Aksi takdirde, prize takılan kablo duvara karşı olacağından arka kısım çok dışarı çıkacaktı. Artı, Arduino Nano'daki VIN'e takılırken, eksi toprağa gider. LED'in pozitif ve negatifleri de VIN'e ve toprağa lehimlenecektir.

HM-10 modülü ve Arduino Nano için bir diyagram yükledim. HM10 üzerindeki RXD pini Arduino üzerindeki TXD pinine bağlıyken HM10 TXD Nano üzerindeki RXD pinine girer. Bunun nedeni Nano'nun Bluetooth Modülünün yazdıklarını okuması ve bunun tersi olur. Ayrıca VIN'i Arduino'daki +5v'ye bağlayın ve toprakları birbirine bağlayın.

Son olarak, Arduino RXD ve HM10 TXD arasında anahtar veya düğme isteğe bağlıdır. Bazı nedenlerden dolayı, birçok kişi bağlandıklarında yeni kod yükleyemezler, bu nedenle kod her yüklendiğinde bağlantılarının kesilmesini ve yüklemeden sonra tekrar birlikte değiştirilmesini kolaylaştırır.

Bittiğinde, her şeyin işe yarayıp yaramadığını kontrol edin. Eğer öyleyse, tüm telleri sıcak tutkalla yapıştırın ve güzel görünmesini sağlayın. Unutmayın, çok fazla yapıştırıcı diye bir şey yoktur.

Adım 5: IPhone Uygulamasını Yazın

IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın
IPhone Uygulamasını Yazın

Açıklamada Xcode projesini sağlayacağım. BLE Cihazına bağlanan ve ona bilgi gönderen 3 Bluetooth sınıfım var. ScannerViewController, mevcut her Bluetooth Düşük Enerji cihazını arar. BluetoothSerial, seçilen cihaza bağlanma/bağlantıyı kesme işlemlerini açıklar ve verileri gönderebilir. Son olarak, SerialViewController, uygulamanın ana görünümüdür. Her HSB değerini içeren ve kullanıcı sahip olduğu renge dönmek isterse daha sonra kullanmak üzere saklayan çift dizili bir collectionView var.

Kullanıcı, daha sonra da kaydedilebilecek bir renk seçmek için renk tekerleğini kullanabilir. Kullanıcı daha sonra seçilen renkle çizim yapabilir. Geri alma ile birlikte bir doldurma düğmesi vardır.

Connect 4 bölümünde, kullanıcı diğer oyunculara meydan okumak için farklı oyun modları arasından seçim yapabilir. Her hareket, ekranda görüntülenecek olan Arduino Nano ve HM-10 cihazına veri gönderecektir. Oldukça kötü göründükleri için bu görüntüleri her zaman düzenleyebilirsiniz.

Bir hücreye her basıldığında, (örneğin) "P; 15; 0.56; 0.81; 1\n" kodunu gönderir. P, Arduino'yu tanıması için ayarladığım "Oynat" anlamına geliyor ve 15. hücre için renkleri gösterecek. Renkler, gönderilen sonraki 3 değerdir. Ton, Doygunluk ve Parlaklıktır. Bluetooth modülünün gelen verileri okumayı ne zaman durduracağını bilmesi için sona \n eklemek önemlidir. Ekranı temizlemek için "z\n" kodunu gönderiyorum. İlk harf için bir "z" alırken, tahtayı temizlemek için ayarladım. Ve tabii ki, HM10 cihazının verileri okumayı ne zaman durduracağını bilmesi için \n ile bitiriyorum.

Herhangi bir sorunuz varsa, lütfen yorumlarda bırakmaktan çekinmeyin:)

Adım 6: Arduino Kodu

Nano'ya yüklenecek Arduino kodunu sağlayacağım. Bu kod, her karakteri ayrı ayrı alır ve bir dizide birleştirir ve saklar. Diziyi kullanırken diziye gönderilen her bir değer (ton, doygunluk, parlaklık) virgül arasında bölünür. Bu daha sonra tahtadaki gerekli pikselin rengini değiştirir. Aynı konsept connect 4 kısmı için de geçerlidir. Ton, Doygunluk ve Parlaklık, IOS uygulamasından gönderilir ve kartta hangi pikselin renklendirilmesi gerektiği ile birlikte Arduino'ya iletilir.

Yine, kodla ilgili herhangi bir sorunuz varsa, yorumlarda bana bildirin:)

7. Adım: Tarzınıza Göre Kişiselleştirin

Tarzınıza Göre Kişiselleştirin!
Tarzınıza Göre Kişiselleştirin!
Tarzınıza Göre Kişiselleştirin!
Tarzınıza Göre Kişiselleştirin!
Tarzınıza Göre Kişiselleştirin!
Tarzınıza Göre Kişiselleştirin!

Unutmayın, bu proje eğlence amaçlıdır ve kişiselleştirilebilir. Ahşabı boyayın veya tasarımlar ekleyin. Bir mikrofon ve küçük bir hoparlör ekleyerek LED'lerin müziğe tepki vermesini sağlayın. IR sensörlerini kullanarak dokunmaya duyarlı ekleyin. Arduino veya IOS Uygulamasına kayan metin ekleyin. IOS uygulamasında yeni bir oyun modu ekleyin. Tetris eklemek için başka bir seçenektir.

Bu proje, başkalarına bundan büyük ve yenilikçi bir şey yaratmaları için ilham verme umuduyla temeldir. Destek için teşekkürler!

Adım 8: Arduino Kodu ve IOS Kodu

İşte GitHub'daki Swift ve Arduino projesinin bağlantısı. Herhangi bir sorun varsa, lütfen bana bildirin.

github.com/oKeeg/LED-Coloring-Board

9. Adım: Yeni Ne Var? + Son Güncellenen Kod

En yeni güncellemede, kullanıcılar hepsine dokunmak yerine tüm ızgarayı tek bir renkle doldurabiliyor. Bir kaza olması durumunda geri al düğmesi vardır. Son olarak, kullanıcının tahta için oynamak üzere yeni animasyonlar seçebileceği veya ekleyebileceği yeni Animasyonlar modu.

Yeni Animasyonlar şunları içerir -

Soluk Renkler - Rastgele renkleri periyodik olarak soluyor.

Breathing Rainbow - Gökkuşağının renklerini büyük bir yatay çizgide hareket ettirir.

Animasyonlar, telefon tarafında daha çok Arduino tarafında çalışır. Basıldığında, telefon Arduino'nun (örneğin) "A;0\n" yürütmesi için bir kod satırı gönderir. "A", Animasyon anlamına gelir ve "0", Soluk Renkler olan basılan ilk animasyondur. Arduino 0'ı okur ve solma renk animasyonunu oynatır.

Önerilen: