Jump to content

Escape room/tr

From Appropedia
300px-SchaltplanDisplayEscapeRoom.png
15px-FA_info_icon.svg.png19px-Angle_down_icon.svg.pngProje verileri
Durum Fikir
OKH Manifestİndirmek

Proje, ölçüm ve kontrol teknolojisindeki sorunları geniş bir kitleye yakınlaştırmayı amaçlıyor. Sorunlar oyun benzeri bir şekilde sunuluyor, her sorun bir bulmaca olarak kabul ediliyor ve bir bulmacayı başarıyla çözdükten sonra kullanıcılar üç basamaklı bir kod alıyor. Tüm kodlar toplandığında, sonunda tüm bulmacaların açıklamalarını içeren bir hazine sandığını açmak için kullanılabilirler. Bu tür bulmacalar, çeşitli insan gruplarına hitap etmek ve ölçüm ve kontrol teknolojisine veya genel olarak mühendislik ve bilime olan ilgilerini artırmak için tasarlanmıştır.

Frekans analizi bulmacası

Bu projedeki grup, Escape Room'a ses frekans aralığında oyun benzeri bir frekans analizi olan bir bulmaca katkıda bulundu.

300px-Gehaeuse.png
Kasanın görünümüne baktığınızda LED'i, tuşları, ekranı ve hoparlörü görebilirsiniz.

Bu bulmacada ses alanından gelen sinyaller simüle edildiğinden, müzik ve ses sinyallerini anımsatan bir muhafazanın da kullanılması uygundu. Bu nedenle şekil bir sentezleyicinin muhafazasını göstermektedir. Kasada, kaç tonun daha algılanması gerektiğini, hangilerinin algılandığını ve hangi tonun şu anda işlendiğini gösteren farklı LED'ler olmalıdır. Sinyalleri yeniden üretmek için, kullanıcı sinüs, kare, üçgen ve testere dişi sinyal şekillerine sahiptir. Sinyallerin frekansları bir kaydırıcı aracılığıyla ayarlanabilir ve sinyalin bir DFT'si ekranda gösterilir.

Bu makalenin amacı

Bu projenin tamamının yeniden yaratılması pek mümkün olmadığından, bu makalede, yeni projelerde tekrar kullanılabilmesi için, her bir inşaat aşaması daha ayrıntılı olarak açıklanacaktır.

Görüntüle

Yukarıda bahsedildiği gibi bu projede bir ekran takılmıştır, aşağıda bu ekranın nasıl çalıştığı anlatılacak, ayrıca kaynak kodları örneklerle açıklanacaktır.

Nasıl çalışır

300px-64x64-Display.png
Piksel çizgisinin büyütüldüğü 128x64 piksellik bir ekranın çizimi

Şekil, cihaza takılı LCD ekranı göstermektedir, bu bir DEM128068B'dir. [ 1 ] A ve B harfleriyle işaretlenmiş 2 segmentten oluşur. Segmentlerin her biri bağımsız bir 64x64 piksel ekrandır. Ekran her zaman dikey yönde 8 pikselden oluşan piksel blokları halinde programlanır, burada C harfiyle işaretlenmiştir. Yatay düzlemde ekran piksel piksel programlanır, piksel 0,0 D harfiyle işaretlenir. Böylece, dikeyde, birbiri ardına geçilen her biri altmış dört adet 8 piksel segmentten oluşan sekiz satır vardır. Bu, hem A hem de B ekran alanları için yapılır veya yalnızca beyaz veya siyah bir görüntü oluşturulacaksa, her iki ekran yarısı da aynı anda ele alınabilir.

Nasıl bağlanıyor

300px-SchaltplanDisplayEscapeRoom.png
Ekranın bir mikrodenetleyiciye bağlantı şeması gösterilmiştir. C14 ila A4 arasındaki harf ve sayı kombinasyonları, mikrodenetleyicideki farklı kayıtlar ve GPIO pinlerini temsil eder.

Bu projede bir STM32-L476RG [ 2 ] mikroişlemcisi kullanıyoruz. Ekran, GPIO pinleri aracılığıyla ona bağlanıyor. Başka bir mikroişlemci kullanmak da mümkün, ancak o zaman kaynak kodu değiştirilmelidir. Ekran için önemli olan, en azından 13, ayarlanabilir arka aydınlatmalı 14, GPIO pinine ihtiyaç duyulmasıdır. Devre şemasında kullanılan dirençler ve parçalar aşağıdaki işlevlere sahiptir:

  • R8: Bu direnç, ekranın kontrastını kontrol eder ve ekrana bağlı olarak değişebilir. Doğru değeri belirlemek için, önce buraya 1M Ohm'luk bir potansiyometre takılabilir.
  • R7: Bu, arka aydınlatma için seri dirençtir. Arka aydınlatma değiştirilemeyecekse, buraya başka bir direnç takılmalıdır.
  • R1: Bu, 2N5551 transistörünün seri direncidir. Transistör devre dışı bırakılırsa, bu direnç de kaldırılır.
  • 2N5551: Bu, bir PWM kullanarak ekranın arka plan aydınlatmasını kontrol eden bir NPN transistörüdür. Bu isteğe bağlıdır ve ekranın LED- pini doğrudan GND'ye de bağlanabilir.

Ekran çok sağlam çalışıyor, ancak özellikle GND bağlantısının çok güçlü olmasına her zaman dikkat etmelisiniz, ayrıca veri hatları çok uzun olmamalı ve mümkün olduğunca az via'dan geçmelidir. STM32 için burada kullanılan GPIO, "Düşük" GPIO çıkış seviyesi ve "Orta" maksimum hız ile "Çıkış Push Pull" olarak yapılandırılmıştır.

Şekil farklı pinleri göstermektedir. Pin DB0-DB7, ekranın 8 bitine karşılık gelir, pin CS1 ve CS2 ekran taraflarını seçer. Pin RST, DI ve E ile yazma döngüleri başlatılır ve bitirilir, ayrıca ekran için bir komut ve bir veri girişi arasında ayrım yapılır. Şimdi neden her zaman aynı anda 8 piksel yazılabildiği anlaşılıyor, sayı, ekran ve mikrodenetleyicinin iletişim kurduğu veri biti sayısına karşılık geliyor.

Programlama

Ekran sürücüsü C#'da programlanmıştır, bizim durumumuzda STM32 için Cube IDE'de [ 3 ] . Tüm GPIO pinleri mikroişlemcide yapılandırılırsa ve LCD128x64.c, LCD128x64.h ve Font_Header.h programa ek kaynaklar olarak dahil edilirse, ekran ana programda adreslenebilir. Bunun için sürücüye hangi GPIO pinlerini kullanması gerektiğini söylemek önemlidir, bunun için karşılık gelen bir başlatma vardır.

                   

başlatmadan sonra çeşitli işlevler kullanılabilir. En önemlileri şunlardır:

                      

"LCD128_BlackOut()" ve "LCD128_ClearAll()" işlevleri tüm ekranı temizler veya doldurur, metin işlevleri ekranda bir metin çıktısı verebilir. Bu metin sola, sağa veya ortaya hizalanabilir, ancak bir satırdan uzun olamaz. Ayrıca sürücü, grafik çizme ve ekranda resim gösterme seçeneklerini içerir. Font_Header.h dosyası harf/hex kod eşlemelerini içerir.

Referanslar

  1. DEM 128064B SBH-PW-N. Rev. 2.1.2. EKRAN Elektronik GmbH. 2008. DEM128064BSBH-PW-N.pdf .
  2. NUCLEO-XXXXRX-P Veri özeti.DB2196. Rev. 15. STMicroelectronics. 2021. nucleo-l476rg.pdf .
  3. STMicroelectronics. STM32CubeIDE. Sürüm 1.9.0. 2 Mart 2022. Cube IDE .
15px-FA_info_icon.svg.png19px-Angle_down_icon.svg.pngSayfa verileri
YazarlarFiete
LisansCC-BY-SA-4.0
Dilİngilizce (tr)
İlgili0 alt sayfa , 1 sayfa buraya bağlanıyor
Takma adlarKaçış odası.
Darbe17 sayfa görüntülenme ( daha fazla )
Oluşturuldu21 Eylül 2022 Fiete tarafından
Son değiştirilme tarihi3 Ağustos 2023 Irene Delgado tarafından
Cookies help us deliver our services. By using our services, you agree to our use of cookies.