İçindekiler:
- Adım 1: Gerekli Parçalar
- Adım 2: Arayüz Oluşturma
- 3. Adım: Proje Kaynakları
- 4. Adım: Görüntüleri İçe Aktarma
- Adım 5: GUI Oluşturma
- Adım 6: Sayfa 0-Giriş Ekranı
- Adım 7: Sayfa 1 - Step Motor Kontrol Cihazı
- Adım 8: Sayfa 2 - Step Motor Piyano
- 9. Adım: Hata Ayıklama
- Adım 10: ARDUINO KURULUMU
- Adım 11: Sonlandırma+Şematik
Video: Step Motor Kullanarak Şarkı Çalın!!: 11 Adım (Resimlerle)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:20
Bu proje, bir step motor ile iki farklı şekilde etkileşime izin verecek basit bir dinamik arayüz tasarlamakla ilgilidir.
İlk arayüz, yön için sol ve sağ okları ve hız için yukarı ve aşağı okları olan basit bir GUI kullanarak step motorun yönünü ve hızını kontrol edecektir.
İkinci arayüz, doğada daha müzikal olacak ve step motorun dönme seslerini kullanarak basit şarkıları çalmaya izin verecek.
Adım 1: Gerekli Parçalar
- Arduino UNO (veya uyumlu kart)
- iTead Studio'dan Nextion Enhanced NX4827K043.
- Nextion Gelişmiş ekran için Nextion Genişletme kartı
- Mikro SDHC Kart
- SD Kart Okuyucu/Yazıcı - bilgisayardan SDHC karta dosya aktarmak için
- ekmek tahtası
- Step Motor (42BYGHM809)
- 100 uF KapasitörDuinotech Step Motor Sürücüsü (L298) - [JayCar parça# XC4492].
- Harici Güç kaynağı - ör. Düzenlenmiş Laboratuvar Güç Kaynağı
Adım 2: Arayüz Oluşturma
İlk adım, PC'nizdeki Nextion Editor'da arayüzleri oluşturmaktır.
Nextion Editor'ı buradan indirebilirsiniz.
Nextion Editor'ı yükleyin ve yeni bir proje oluşturun. Yeni bir projeye başladığınızda, mevcut seçeneklerden doğru Nextion cihazını seçtiğinizden emin olmanız gerekir. Burada “Nextion Enhanced NX4827K043” cihazı kullanılmaktadır.
- Dosya → Yeni'yi seçinProje için bir ad seçin ve sabit sürücüde uygun bir yere kaydedin.
-
Mevcut seçeneklerden uygun Nextion cihazını seçin
Cihazım 480 x 272 piksel ekran boyutuna sahip
3. Adım: Proje Kaynakları
Tüm kaynakları (örn. resimler ve yazı tipleri) projenize aktarmanız ve ardından arayüzü özel ihtiyaçlarınıza göre tasarlamanız gerekir.
Yazı Tipleri
Kullanılan belirli bir yazı tipi yoktur, ancak ekrana herhangi bir metin yazmak istiyorsanız, Nextion Editor'da bir yazı tipi oluşturmanız gerekecektir.
A) Araçlar → Yazı Tipi Oluşturucu
- Yazı Tipinin Yüksekliğini seçin (örn. 16).
- Yazı tipi kodu türünü seçin (örn. iso-8859-2)
- Kalın olmasını isteyip istemediğinizi seçin
- Kullanmak istediğiniz Yazı Tipini seçin (örn. Arial)
- Boşluğu seçin (örn. 0)
- Ve son olarak bu Yazı Tipine benzersiz bir ad verin (ör. Arial_16)
- Pencerenin sağ alt kısmındaki "Yazı Tipi Oluştur" düğmesine basın.
Yazı Tipi Oluştur düğmesine bastığınızda, bir *.zi uzantısı kullanarak yazı tipini kaydetmenizi sağlayacak ve otomatik olarak “Oluşturulan yazı tipini eklemek mi?” isteyip istemediğinizi soracaktır. projeye. Yazı tipinden memnunsanız ve bu yazı tipini projenizde kullanmak istiyorsanız “Evet”i seçin, aksi halde “Hayır”ı seçin ve yeniden başlayın.
Bir yazı tipini içe aktarana veya ekleyene kadar projenize herhangi bir metin ekleyemezsiniz. Tüm proje fontlarınız, fontlar penceresinde görüntülenecektir.
**Not: Her yazı tipi otomatik olarak dizine eklenecektir, böylece gerekirse yazı tipine programlı olarak başvurabilirsiniz. Aslında projenize eklediğiniz tüm kaynaklara bir sayı atanır ve eklenen her kaynak için birer birer artırılır. Bazı kaynaklar için bu numarayı öğenin solunda görebilirsiniz. Örneğin. Yukarıdaki resimde Courier Font'un indeksi 0 iken Arial fontun indeksi 1'dir. Bir kaynağı silerseniz, o öğe için indeks numarası değişebilir.
4. Adım: Görüntüleri İçe Aktarma
Nextion Enhanced NX4827K043 cihazında her resmin boyutu 480 x 272 piksel olmalıdır.
Şimdi projede kullanabilmemiz için aşağıdaki resimleri Nextion Editor'a aktaracağız. Nextion düzenleyicisinin sol alt köşesinde “Yazı Tipleri ve Resim” kaynak penceresi bulunur:
- Resim sekmesini seçin
- Ardından “+” simgesini seçin
- Bu, projeye eklenecek resim(ler)i seçmenize izin veren bir iletişim kutusu açacaktır. İçe aktarmak için birden fazla resim seçebilirsiniz.
Sıçrama Ekranı için tercihinize göre herhangi bir görüntü yapabilirsiniz.
Step motor ve piyano arayüzü için yukarıdaki görseli indirebilirsiniz.
Adım 5: GUI Oluşturma
Her kaynak, eklendiği sıraya göre bir kimlik alır ve her kaynak otomatik olarak bir ad alır.
Kaynağın veya nesnenin adını değiştirebilirsiniz ancak kimliği düzenleyemezsiniz.
Yukarıda açıklanan kriterleri karşılamak için üç sayfa tasarlanacaktır.
Sayfa eklemek için “sayfa penceresinden” “Ekle” simgesini seçmeniz yeterlidir. Toplam 3 sayfanız (sayfa0, sayfa1 ve sayfa2) olana kadar sayfa eklemeye devam edin.
Adım 6: Sayfa 0-Giriş Ekranı
Nextion açıldığında, Step Motor Kontrolörü ekranını göstermeden önce 3 saniye boyunca açılış ekranı görüntülenecektir. Açılış ekranını oluşturmak için aşağıdaki adımları kullandım.
Açılış ekranı resmini sayfa 0'a ekleyin
- Sayfa penceresinden “sayfa 0”ı seçin
- Araç Kutusu penceresinden “Resim”i seçin
- Öznitelik penceresinden "resim" özniteliğine çift tıklayın
- Listeden açılış ekranı görüntüsünü seçin
- Tamam düğmesine basın
2. Sayfa 0'a bir Zamanlayıcı ekleyin
- Araç Kutusu penceresinden Zamanlayıcı'yı seçin
- Öznitelik penceresinde "tim" özniteliğini 400'den 3000'e değiştirin
- Timer Event(0)'ın Kullanıcı kodu bölümüne “page page1” giriniz. Bu timer olayı Nextion'un 3 saniye sonra sayfa1'e atlamasını sağlayacaktır.
Bu zamanlayıcı olayı, Nextion'un 3 saniye sonra 1. sayfaya atlamasını sağlar.
Adım 7: Sayfa 1 - Step Motor Kontrol Cihazı
Bu sayfa step motorun yönünü ve hızını kontrol etmek için tasarlanmıştır. Yön için iki düğme (Sol ve Sağ) ve hız için iki düğme (Daha Hızlı ve Daha Yavaş) olacaktır. Ve sonraki sayfaya (yani Step Motor Piyano sayfası) atlamak için bir düğme daha. Bu düğmeler ayrıca Nextion genişletme kartına da eşlenecektir. Genişletme kartının dokunsal düğmeleri, motoru kontrol etmek için alternatif bir yöntem sağlayacaktır.
Step Motor Kontrolörü resmini sayfa 1'e ekleyin
- Sayfa penceresinden “sayfa1”i seçin
- Araç Kutusu penceresinden “Resim”i seçin
- Öznitelik penceresinden "resim" özniteliğine çift tıklayın
- Listeden “Step Motor Controller” resmini seçin
- Tamam düğmesine basın
2. Step Motor Denetleyicisi görüntüsündeki her bir düğmenin üzerine Sıcak Noktalar ekleyin
a) Araç Kutusu penceresinden “Hotspot”u seçin
b)Hotspot'u “Sol” düğmeyi kaplayacak şekilde sürükleyin ve yeniden boyutlandırın
- Bu, “Sol tuşa” basıldığında tepki verecek alandır.
- Nextion panosuna yüklendiğinde şeffaf olacak
c)Olay penceresinde "Dokunma Basın Olayı" sekmesini seçin
d) "Bileşen Kimliğini Gönder" onay kutusunun işaretini kaldırın
e) Etkinlik penceresinin “Kullanıcı Kodu” Bölümüne aşağıdaki kodu yazın:
"L" yazdır
f) Aşağıdaki işlemi kullanarak etkin noktanın nesne adını “Sol” olarak değiştirin:
- Nitelik penceresinden objname seçin ve metni “m0”dan “Left”e değiştirin
- Hotspot nesne adını değiştirmek zorunlu değildir; ancak daha sonra yardımcı olacaktır.
g)Diğer düğmelerin her biri için 2a-2f adımlarını aşağıdaki sırayla ve aşağıdaki tabloya göre tekrarlayın.
- Doğru
- Daha hızlı
- Yavaş
- Sonraki
“L” harfi için ondalık ASCII kodu 76'dır, bu nedenle Nextion Enhanced ekranı, “L” komutunu kullanarak L harfini Arduino'ya gönderdiğinde, Arduino 76 sayısını alacaktır. Sağ düğmeye basıldığında, 82 numarasını alacak, vb. “İleri” düğmesi Arduino'ya hiçbir şey iletmez, sadece Nextion Enhanced ekranında bir sonraki arayüze atlamak için oradadır, bu nedenle kullanıcı kodunun bu düğme için farklı olmasının nedeni budur.
3. Düğmeleri Genişletme kartıyla eşleştirin
a)Sayfa penceresinden “page0”ı ve ardından “page1”i seçin.
b)Olay penceresinden "Olay Öncesi Başlat" sekmesini seçin
c) Olay Öncesi Başlatma sekmesinin “Kullanıcı Kodu” alanına aşağıdaki kodu girin:
- cfgpio 5, 1, Sol
- cfgpio 2, 1, Sağ
- cfgpio 4, 1, Daha hızlı
- cfgpio 3, 1, Daha yavaş
- cfgpio 1, 1, Sonraki
***Lütfen dikkat: cfgpio ile yanındaki sayı arasında bir boşluk vardır, ancak her satırda başka boşluk yoktur. Fazladan boşluk eklerseniz, derlenmez. Bu kod, genişletme kartındaki düğmeleri sayfa 1'deki etkin nokta nesnelerine eşler. Örneğin, genişletme kartındaki Sol düğmeye (IO5) basıldığında, etkin nokta m0/Left ile ilişkili eylemleri veya olayları simüle eder. Bu durumda Arduino'ya “L” (76) değerini gönderecektir.
IO numarası, genişletme kartında parantez içinde işaretlenmiştir.
Adım 8: Sayfa 2 - Step Motor Piyano
arayüzü bir piyano gibi görünecek şekilde tasarlanacak ve adım motorunu, Nextion ekranında bastığım tuşla aynı tuşta bir not üretecek şekilde kontrol etmeme izin verecek. Step motor, notayı belirli bir frekansta döndürerek üretecektir.
1. Step Motor Piyano resmini 2. sayfaya ekleyin.
- Sayfa penceresinden “sayfa2”yi seçin
- Araç Kutusu penceresinden “Resim”i seçin
- Öznitelik penceresinden "resim" özniteliğine çift tıklayın
- Listeden “Step Motor Piyano” resmini seçin
- Tamam düğmesine basın
2. Step Motor Piyano resmindeki her tuşun üzerine Sıcak Noktalar ekleyin
a) Araç Kutusu penceresinden “Hotspot”u seçin
b)Hotspot'u “A” tuşunu kaplayacak şekilde sürükleyin ve yeniden boyutlandırın. Bu, “A-tuşu” basışlarına yanıt verecek alandır. Nextion panosuna yüklendiğinde şeffaf olacaktır.
c)Olay penceresinde "Dokunma Basın Olayı" sekmesini seçin.
d) Aşağıdakileri “Kullanıcı Kodu” bölümüne yazın
1 yazdır
e) Aşağıdaki tabloya göre diğer tuşların her biri için 2a-2d adımlarını tekrarlayın.
**Belirli tuşa basıldığında, Nextion Enhanced kartı yazdırılan sayıyı ve ardından üç 0x00 değerini iletir. Sonlandırma değerleri göz ardı edilebilir.
3. "Geri" düğmesi, Nextion Enhanced panosundaki önceki arayüze geri dönmeme izin verecek.
a) Aşağıdaki işlemi kullanarak geri düğmesi için bir etkin nokta oluşturun:
- Araç Kutusu penceresinden Hotspot'u seçin
- Etkin noktayı “Geri” düğmesinin üzerine taşıyın/yeniden boyutlandırın
b) Olay penceresini seçin.
c)"Dokunma basın olayı" sekmesinin seçili olduğundan emin olun
d)Kullanıcı Kodu bölümüne sayfa page1 yazın
9. Adım: Hata Ayıklama
Nextion Editor ile ilgili iyi olan şey, arayüz işlevselliğini panoya yüklemeden önce test edebilmenizdir.
- Görev çubuğundaki kaydet düğmesine basarak projeyi kaydedin
- Ardından derleme düğmesine basın
- Ardından hata ayıklama düğmesine basın.
Bir Nextion öykünücüsü penceresi görünecektir. Bu pencere, Nextion dosyası panoya yüklendikten sonra Nextion modülüyle aynı şekilde yanıt vermelidir. Bu öykünücü, arayüzünüzü test etmenin ve beklendiği gibi göründüğünden ve çalıştığından emin olmanın harika bir yoludur. Arayüz(ler)den memnun kaldığımda, derlenmiş Nextion dosyasını bir SD karta aktardım:
- Derleme düğmesine basın
- Dosya → Yapı Klasörünü Aç
- Projeyle aynı ada sahip *.tft dosyasını seçin.
- Bir mikro SDHC karta kopyalayın
- SDHC kartını Nextion ekranındaki SD kart yuvasına takın
- Nextion kartını çalıştırın
Dosyanın Nextion panosunda yanıp sönmesini bekleyin ve şuna benzeyen bir mesaj görmelisiniz:
Sonraki adım, Nextion kartını kapatmak ve SDHC kartını çıkarmaktır.
Adım 10: ARDUINO KURULUMU
Nextion Enhanced ekranı hazır ve şimdi sıra Arduino'da. Arduino, Nextion Enhanced ekranından Seri mesajlar alacak ve alınan harflere veya sayılara göre step motoru kontrol edecek şekilde programlanmıştır. Nextion kartından iletilen benzersiz harfler veya sayılar, Arduino'nun hangi düğmeye basıldığını anlamasına izin verir ve belirli step motor eylemlerini gerçekleştirmek için kod akışını kontrol etmek için bu sayıları veya harfleri kullanır.
SoftwareSerial kitaplığı, Arduino ve Nextion Enhanced ekranı arasında Seri iletişimi etkinleştirmek için kullanılır. AccelStepper kitaplığı, step motor kontrol sürecini basitleştirmek için kullanılır.
Motorlar için maksimum ve minimum hız ve önceden tanımlanmış bazı tuşlar ayarlayın. Nextion ekranının ilk arayüzünü kullanarak motoru “ayarlamak” mümkündür. Bunu, istediğiniz tuşa ulaşana kadar motorun daha hızlı veya daha yavaş dönmesini sağlayarak yapabilirsiniz. Burada, iTunes uygulama mağazasındaki “Tuner T1 Free” uygulaması, motorun anahtarda NE ZAMAN bir not ürettiğini belirlemek için kullanılır. Motor belirli bir not üretirken, Seri monitör penceresine basılan step motor hızını yazardım. Motor hızı her artırıldığında veya azaltıldığında, Arduino kodu hızı seri monitör penceresine yazdırır. Daha sonra Arduino kodundaki notlar dizisini güncellemek için bu hızları kullanıyorum. Note dizisi, piyanodaki tek tek notalara karşılık gelen step motor hızlarını tutar. Nextion ekranı esasen Arduino'daki notlar dizisinden çalınacak notun indeks numarasını gönderir, böylece motoru 16 farklı hızda döndürmek için gereken kodu basitleştirir.
Adım 11: Sonlandırma+Şematik
Tüm kartlar kapalıyken, bir sonraki adım Arduino'ya gerekli tüm donanım bağlantılarını yapmaktır. Dikkate alınması gereken iki ana bölüm vardır:
- Step motor sürücüsü ve motor
- Nextion Gelişmiş kurulu.
Hem step motora hem de Nextion Enhanced kartına güç sağlamak için harici bir güç kaynağı kullandığınızdan emin olmanız gerekir. Step motor sürücü kartının kendisi Arduino tarafından sorunsuz bir şekilde çalıştırıldı, ancak gerçek step motorun harici bir güç kaynağına ihtiyacı olacak. Nextion Enhanced kartı, Arduino'nun güvenle sağlayabileceğinden daha fazla akım gerektirdiği için harici bir güç kaynağına da ihtiyaç duyar.
Kullanılan harici güç kaynağını not edin. Projenin güç gereksinimlerini karşılayacak kadar büyük bir güç kaynağım olduğundan emin oldum ve bu gereksinimleri belirlememe yardımcı olması için ilgili veri sayfalarını kullandım. Bu projeyi tekrarlamayı planlıyorsanız, motorunuzun, motor sürücünüzün ve Nextion ekranınızın özel güç gereksinimlerini dikkate aldığınızdan emin olun. Arduino, 5V pininden sadece 400mA akım sağlayabilir. Her şey bağlıyken Nextion ekranını açtım, ardından Arduino'yu çalıştırdım. Step motor otomatik olarak dönmeye başlar. Motorun yönünü ve/veya hızını değiştirmek için ilk arayüzü kullandım. Lütfen Arduino kodunda ayarlanan maksimum ve minimum hızları not edin. Daha sonra Nextion Enhanced ekranındaki ikinci arayüze atlamak için Next düğmesini kullandım. İkinci arayüz bir piyano gibi görünüyor. Ve piyano ekranında bir tuşa bastığımda motor, bastığım notaya uyacak şekilde hızı değiştiriyor.
İşte bu. Artık işiniz bitti.
Umarım beğenirsin
Önerilen:
Step Motor Kontrollü Model Lokomotif - Döner Enkoder Olarak Step Motor: 11 Adım (Resimlerle)
Step Motor Kontrollü Model Lokomotif | Döner Kodlayıcı Olarak Adım Motoru: Önceki Talimatlardan birinde, bir step motorun döner kodlayıcı olarak nasıl kullanılacağını öğrendik. Bu projede, şimdi bir Arduino mikrodenetleyici kullanarak bir model lokomotifi kontrol etmek için step motorlu döner kodlayıcıyı kullanacağız. Yani, fu olmadan
Step Motor Kontrollü Step Motor - Döner Enkoder Olarak Step Motor: 11 Adım (Resimlerle)
Step Motor Kontrollü Step Motor | Döner Kodlayıcı Olarak Step Motor: Etrafta duran ve bir şeyler yapmak isteyen birkaç step motor var mı? Bu Eğitilebilir Tabloda, bir Arduino mikro denetleyici kullanarak başka bir step motorun konumunu kontrol etmek için döner kodlayıcı olarak bir step motor kullanalım. O halde lafı fazla uzatmadan geçelim
Flyback Transformer veya Hoparlörde ADC - PWM Kullanarak Arduino İle Şarkı Çalın: 4 Adım
Flyback Transformer veya Hoparlörde ADC to PWM Kullanarak Arduino İle Şarkı Çalın: Merhaba Arkadaşlar, Bu benim başka bir talimatımın ikinci kısmı (bu çok zordu), Temel olarak, Bu Projede, Arduino'mdaki ADC ve ZAMANLAYICILARI kullandım. Ses Sinyalini bir PWM Sinyaline dönüştürün. Bu, önceki Talimatlarımdan çok daha kolay
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): 6 Adım (Resimlerle)
Hoparlör veya Flyback Transformer Üzerinde PWM Kullanarak Arduino İle Şarkı Çalın(MP3): Merhaba Arkadaşlar, Bu benim ilk dersim, umarım beğenirsiniz!! müzik verilerini dizüstü bilgisayarımdan Arduino'ya iletmek için. Ve Arduino TIMERS t kullanarak
AI ve YouTube Kullanarak CD Çalar Olmadan CD Çalın: 10 Adım (Resimlerle)
CD Çalar Olmadan CD Çalın, AI ve YouTube Kullanarak: CD'lerinizi çalmak istiyorsunuz ama artık CD çalarınız yok mu? CD'lerinizi kopyalamak için zamanınız olmadı mı? Onları kopyaladım ama dosyalar gerektiğinde kullanılamıyor mu?Sorun değil. Bırakın AI (yapay zeka) CD'nizi tanımlasın ve YouTube onu oynatsın!Bir Android uygulaması yazdım