Mündəricat:

Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu: 7 addım
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu: 7 addım

Video: Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu: 7 addım

Video: Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu: 7 addım
Video: ESP8266 Kablosuz Nextion HMI || Arduino PLC'yi geride bırakın 2024, Iyul
Anonim
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu
Arduino Pro Mini və TFT Ekranlı Sehrli Cavablar Topu

Bir müddət əvvəl qızımla birlikdə Magic 8 topunu ayırdıq ki, iyirmi cavabı seçdiyi cavablarla əvəz etsin. Bu, bir dostuna hədiyyə idi. Bu məni daha geniş miqyasda necə edəcəyimi düşündürdü. 20 -dən çox cavabımız ola bilərmi? Elektron versiya ilə edə bilərik!

Bu, Mattel Magic 8 Ball-ı necə sökdüyümü və inanılmaz sayda əlavə cavabı göstərmək üçün yuvarlaq bir TFT ekranı necə istifadə etdiyimi izah edəcək (tapa biləcəyim ən kiçik micro-SD kart 8GB idi, buna görə də bu, çox böyükdür. nə üçün istifadə olunur). Top, cavabı tetiklemek və sonra batareyanı qorumaq üçün topu söndürmək üçün Sparkfun Wake-on-shake lövhəsindən istifadə edir. Batareyanın USB bağlantısından doldurulmasını təmin etmək üçün bir şarj paneli istifadə olunur.

Təchizat

Parçalar:

Arduino Pro Mini 328 - 3.3V/8MHz

Shake -də SparkFun oyanın

Lityum İon Batareya - 400 mAh

Təşkilatçı 12 ədəd TP4056 Şarj Modulu 5V Mikro USB 1A 18650 Lityum Batareya Şarj Kartı Qoruyucu Şarj Modulu ilə (yalnız bunlardan birinə ehtiyacınız var, amma 12 paket 9 dollardan az idi)

DAOKI 5 Adət Micro SD Yaddaş Kartı (yenə deyirəm, yalnız birinə ehtiyacınız var, amma 5 paket hələ də 9 dollardan az idi)

DFRobot 2.2 düymlük TFT LCD Ekran Modulu

Kingston 8 GB microSD (evinizin ətrafında uzanan köhnə biriniz ola bilər)

Perma-Proto Quarter ölçülü Breadboard PCB (həmçinin istədiyiniz PCB-dən də istifadə edə bilərsiniz)

Sehrli 8 top

FTDI Basic breakout 3.3V (Arduino Pro Mini və ya oxşar lövhə ilə oxşar bir layihə etmiş olsanız onlardan biri ola bilər)

2.54mm JST XH Kişi/Dişi Pin Başlığı Dupont Tel Bağlayıcı Kiti olan 4 Pinli Korpus (isteğe bağlı, lakin batareyanı bağlamaq üçün tövsiyə olunur)

Digər əsas təchizatlar:

Sugru Kalıplı Yapışqan (yapışqan lent və isti yapışqan istifadə edə bilər, amma bunu daha çox bəyənirəm)

Yapışqan bant

İki tərəfli köpük lent

Tel

Alətlər:

Lehimleme dəmir

Seçdiyiniz fırlanan alət (yəni Dremel)

Mebel bağlayıcı

Addım 1: Sehrli 8 Topu yarıya bölün

Sehrli 8 Topu yarıya bölün
Sehrli 8 Topu yarıya bölün
Sehrli 8 Topu yarıya bölün
Sehrli 8 Topu yarıya bölün

Əvvəlcə Magic 8 topunu yarıya bölmək lazımdır. Məni bir mebel sıxacından istifadə edərək düz tərəfi aşağıya doğru iş masasına bağladım. Əsas kəsmə diski əlavə edilmiş bir Dremel istifadə edərək, topun dikişi boyunca kəsin. Kəsmə diskinin icazə verəcəyi qədər dərin bir şəkildə kəsməlisiniz. Yavaş al. Hər tərəfi kəsdikdən sonra da, son ayırmanı etmək üçün düz başlı tornavida və ya kəsici istifadə etməyiniz lazım ola bilər. İçərisində "sehrli" maye və ikosaedrini (iyirmi tərəfli forma - bəli, yuxarı baxmalı idim) saxlayan bir silindr var. Bunu atın və ya başqa bir layihədə istifadə edin. Başqa bir layihədə istifadə edirsinizsə, nə etdiyinizi mənə bildirin ki, mənimki ilə nə edəcəyimi bilim.

Şəkillərdə göstərildiyi kimi iki yarı qalacaqsınız. Bunu indi üç dəfə etdim və ən son dəfə, ağ dodaq silsilələri yox, hamar idi, buna görə topunuz şəkildəkindən biraz fərqli görünə bilər.

Xarici kənarında hələ də bir az plastik cüruf (ərimiş və yenidən qatılan plastik) qalacaq. Mümkünsə əllərinizlə əyləc edin; bir alətdən istifadə etməklə topun səthini silmək riski var və şlak olduqca asanlıqla çıxır.

Addım 2: Topu hazırlayın

Topu hazırlayın
Topu hazırlayın
Topu hazırlayın
Topu hazırlayın
Topu hazırlayın
Topu hazırlayın

Topun plastik hissələrində iki dəyişiklik etməliyik.

Birincisi, "8" yazılmış açıq yarıda, USB şarj lövhəmizin USB portu çıxıb oturması üçün kifayət qədər geniş bir sahəni qırxmalıyıq. Dremel'i qaba zımpara tamburu ilə birlikdə istifadə etdim. Bunu təmizləmədən əldə edə biləcəyiniz qədər incə olmasını istəyirsiniz. Sonra USB portunun kənara çıxmasına imkan verəcək qədər kiçik bir açılış kəsin. USB portunu ölçmək üçün bir kaliper istifadə etdim, amma ehtiyacınız varsa, yəqin ki, gözünüzün qabağına baxa bilərsiniz. Yenə də açılış etmək üçün kiçik bir kəsici əlavə ilə Dremel istifadə etdim. İlk iki şəkil açılışını və arxasında USB lövhəsi ilə nəyə bənzədiyini göstərir.

İkincisi, digər yarısında, İKİ tərəfində deşik və ağ plastik dodaq, ekranın oturması üçün bir yer hazırlayın. Ekranın oturacağı açılışın içərisində, plastik silsilələr və açılışın içərisində rezin (?) Flanş var. Flanşı çıxarın və kənara qoyun. Bunu daha sonra geri qoyacağıq, amma bunun bu addımın qarşısının alınmasını istəyirik. Ekranın bir tərəfində düzbucaqlı bir ekstruziya var ki, bu silsilələrdən bəziləri çıxarılmasa açılışda düz oturmasına imkan verməyəcək. Dremel üzərindəki qaba zımpara tamburundan istifadə edərək, onları mümkün qədər qırxın. Ekranın ən yaxşı açı olacağı çuxurdan girin. Tamamlandıqda şəkillərə bənzəməlidir. Diqqət edin, şəkillər ekranı yerində göstərir, lakin hələ də ƏLAVƏ ETMƏYİN.

Addım 3: Micro-SD Kartda Cavablar Hazırlayın

Bu addım düşündüyünüzdən bir az daha mürəkkəbdir. Öz cavab siyahınızı yaratmaq istəmirsinizsə, bu addımın son abzasına keçin.

Məqsəd, topa mümkün olan cavablar kimi istifadə edilə bilən hər hansı bir simli siyahı verə bilməyimiz və sözlərin ortasında heç bir fasilə olmadan ekranda ortalanmasıdır. Bu işi mikrokontrolördə etmək istəmirik və hər hansı bir xətti tez bir zamanda tapa bilmək üçün statik qeyd ölçüsü olan bir fayl istəyirik.

Ekranın yuvarlaq olmasına baxmayaraq, funksional olaraq görünən dairədə yalnız pikselləri olan virtual düzbucaqlı bir ekrandır. Ekranda birdən çox ölçülü mətn göstərilə bilər, ancaq 6 x 8 piksel olan ən kiçik versiyadan istifadə edirik. Bu ölçüdən istifadə edərək, ekranın ekrana qoya biləcəyi 315 simvol var (hər sətirdə 15 simvolda 21 simvol), ancaq 221 görünür və hər sətirdə fərqli sayda görünən simvol var. Problemi görürsən?

Formatsız cavabları götürmək və onları yuvarlaq TFT -də asanlıqla göstərilə bilən tam mərkəzli qeydlərə çevirmək üçün bir Java proqramı yazdım. ("FormatToPicksFileFullyCentered.java" faylını yükləmək üçün link).

Bütün kodun bir izahına girmədən, ümumi fikir budur ki, mərkəzdən (iş) geriyə doğru hərəkət edirik və sözlərimizi görünən xətlər arasında qırmamağımız üçün boşluqlar qoyuruq, sonra eyni şeyi mərkəzə irəli. Nəhayət, 316 bayt (315 alfasayısal simvol üstəgəl yeni bir simvol) bir rekord yaratmaq üçün bütün sətirləri döndəririk və hər bir xətti tam 21 simvol xəttinin içərisində mərkəzləşdiririk. Kod əslində istifadə edilə bilən və hələ də mətnə uyğun olan ən böyük şriftin hansı olduğunu görmək üçün x 3, x 2 və x 1 üç şriftlə işləyir. Mərkəzləşdirmə x 2 və x 3 şriftlər üçün bir qədər uzundur. Birdən çox bayt tutan simvollardan ehtiyatlı olun, bunlar çıxan faylı ata bilər.

"Picks.txt" faylını micro-SD karta kopyalayın.

Öz seçim siyahınızı yaratmaqda çətinlik çəkmək istəmirsinizsə, sadəcə SD karta kopyalayıb istifadə edə biləcəyiniz seçim siyahımı daxil etdim. Hazırda.txt faylını təlimatlara yükləyə bilmədim, buna görə burada picks.txt faylını yükləyə biləcəyiniz bir link var.

Addım 4: Kodu Arduino Mini -yə yükləyin

Kodu Arduino Mini -yə yükləyin
Kodu Arduino Mini -yə yükləyin
Kodu Arduino Mini -yə yükləyin
Kodu Arduino Mini -yə yükləyin
Kodu Arduino Mini -yə yükləyin
Kodu Arduino Mini -yə yükləyin

Birincisi, əvvəllər Arduino Pro Mini -dən heç istifadə etməmisinizsə, sadəcə USB kabelini qoşub yükləyə bilməzsiniz; bir FTDI lövhəsi istifadə etməli və telləri mini üzərindəki uyğun sancaqlara bağlamalısınız. Burada bir dərs verməyəcəyəm, İnternetdə çox şey var. Mənim üçün, kodu yükləmək üçün yalnız bir dəfə istifadə ediləcək daimi bir konnektoru mikrokontrolör lövhəsinə lehimləmək istəmədim, buna görə mini lehimləmədən proqramlaşdırmaq üçün istifadə edilə bilən kiçik bir klip yaratdım (şəkillərə baxın). Bu Fiddy kimi məhsullardan ilham aldı, amma 3D printerə asan daxil olmadığım üçün özüm kartof çipi klipindən hazırladım. İnsanlar maraqlanırsa, bunun üçün təlimat verəcəyəm.

Kodu keçək. Bu kodun bir neçə maraqlı hissəsi var, amma əsasən düzdür.

Quraşdırma funksiyasında, yaxşı bir təsadüfi toxum əldə etməklə məşğul olan layiqli bir kod var. Bağlantısız bir pindən analoq oxu istifadə etməyin tipik üsulu təcrübəmdə kifayət qədər müxtəlif cavab vermir. 477 ilə 482 arasında bir rəqəm alıram. Arduino təsadüfi funksiyasının bir və yalnız bir ardıcıllığı olduğu üçün toxum bu ardıcıllıqla haradan başlayacağını təyin etdiyi üçün belə dar bir aralığın sonunda kifayət qədər mümkün cavablar verməyəcək. Unutmayın ki, bu kod, hər dəfə oyanma lövhəsi gücü söndürüb yenidən açanda başlayır, buna görə toxum tərəfindən təyin olunan ilkin ardıcıllıq mövqeyi çox vacibdir. Bu işdə kömək etmək üçün SD karta son toxumları izləmək və əlaqəsiz pindən gələn yeni bir dəyər əlavə etmək üçün çox kiçik bir fayl yazıram.

Döngü funksiyasında bir seçim seçildikdən və bir simvol sırasına oxunduqdan sonra, bütün sətri çap edə bilmərik. Ekranın bir anda işləyə biləcəyi uzunluqdakı bir məhdudiyyət var. Bu səbəbdən on beş sətirdən hər birini keçərək bir -bir ekrana göndərməliyik.

Lazım olan xarici kitabxanalar:

ST7687S Kitabxanası

DFRobot-Ekran Kitabxanası

Addım 5: Komponentləri bağlayın

Komponentləri bağlayın
Komponentləri bağlayın
Komponentləri bağlayın
Komponentləri bağlayın

Bütün telləri lehimləmə vaxtıdır. Ehtiyac duyduğumdan bir qədər uzun tellərdə yanılmağa meyl etdim, amma nəticədə yaxşı nəticə verdi.

Əlavə edilmiş sxemdə, TFT ekranı bütün ekranın şəkli deyil, bağlayıcı ilə təmsil olunur (bunun üçün Fritzing hissəsini tapa bilmədim). Telləri/sancaqları hissədə necə etiketləndiyinə görə etiketləmişəm. Eynilə, SD kart mənim istifadə etdiyim dəqiq deyil, amma sadalanan hissənin tellərini/sancaqlarını qeyd etdim.

Bu mərhələdə birlikdə lehimləmədiyim bir komponent var: batareya. Bunun əvəzinə iki orta sancağı çıxarılaraq dörd pinli bağlayıcı istifadə etdim (ikinci şəkil). Bu, bütün komponentləri bir -birinə bağlamağı sınamağa və hər şeyi topa bağlayarkən batareyanı ayırmağa imkan verir.

Nəhayət, gücü və paylaşılan əlaqələri asanlaşdırmaq üçün dörddə bir ölçülü daimi bir çörək taxtası PCB istifadə etdim. Bunu montaj şəkillərində görəcəksiniz.

Hər şeyin işlədiyini yoxlayın

Addım 6: Komponentləri topa bağlayın

Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın
Komponentləri topa bağlayın

Əvvəlcə ekranı yerinə qoyun və onu qorumaq üçün bir az Sugru istifadə edin (ilk iki şəkil). Daha əvvəl çıxardığınız flanşı unutmayın, ekranı yerində bağlamadan əvvəl onu geri qaytarmalısınız.

Sonra, proto lövhəni topun boş yarısının altına yapışdırdım. Lehimlərimin hamısını lövhənin bir tərəfində saxladım, buna görə də lentə ala biləcəyim lövhənin yarısı qaldı. Sonra batareyanı proto lövhənin eyni yarısının üstünə yapışdırdım (üçüncü şəkil).

Hər iki yarı artıq tellərlə bağlanmışdır. İki yarını bir araya gətirdikdə USB çuxurunun harada bitəcəyini anlayın. Ağ dodaqda onurğalar yapışırsa, ağ dodağın pazlarından birinin ortasına enməsi lazım olduğunu unutmayın, çünki dodaqdakı iki plastik çıxıntı arasında USB şarj lövhəsini bağlayacağıq.

Kiçik bir cüt tərəfli köpük lentdən istifadə edərək USB şarj lövhəsini bağlayın. İki tərəfli lent şarj lövhəsinin bütün alt hissəsini əhatə etməməlidir, çünki tellərin ucu ağ dodağın orta kənarından asılı olacaq. Beləliklə, bant lövhənin alt səthinin təxminən dörddə üçünü əhatə etməlidir. Əvvəlcə lenti lövhənin altına qoyun, sonra qərar verdiyiniz yerə basın. USB konnektoru topun kənarında olmalı, topun xaricinə çıxmadan plastikin qara sahəsinə yapışmalıdır. Nəhayət, lövhənin üstündə və hər iki tərəfdə sabitlənən bir az daha Sugru istifadə edin. Bu, USB portuna bir kabel daxil edildikdə əlavə güc verir.

Mikro SD kartı indi SD kart moduluna qoyun

İstəyirsinizsə, digər komponentləri ağ dodağa bağlaya bilərsiniz. Qalan komponentləri ekranın arxasına qoydum.

Addım 7: İki yarını bir araya gətirin

İki Yarımı Birlikdə Qoyun
İki Yarımı Birlikdə Qoyun
İki Yarımı Birlikdə Qoyun
İki Yarımı Birlikdə Qoyun

SD kartı taxdığınızı və bütün komponentləri birlikdə sınadığınızı iki dəfə yoxlayın.

Tamam, əgər hazırsan, Sugru yapışqanından uzun bir ilan düzəldin və ağ dodaqla topun yarısının kənarına qədər qaçın (ilk şəkil). Yapışqan, plastikin qara və ağ hissələrinin bir araya gəldiyi qovşağa qoyulmalıdır. Yapışqanın buraya qoyulması, iki yarının birləşdirildikdən sonra çatdan çıxan yapışqan miqdarını minimuma endirərkən güclü bir bağa sahib olduğunuzdan əmin olur.

USB portunun əvvəllər kəsilmiş çuxurdan yapışdığından əmin olmaq üçün iki yarıya bir yerdə basın. Mebel kelepçesini istifadə edərək, iki yarıyı bir -birinə bağlayacaq qədər sıx bağlayın, sıx bağlamağa ehtiyac yoxdur. Sugru yapışqanı təxminən 24 saat ərzində sərtləşəcək.

Derzdən sıxılmış bir az yapışqan varsa, barmağınızla və ya hamar bir parça/kağız dəsmal ilə çəkin.

Tövsiyə: