DIY gapiradigan o'yinchoq. Qanday qilib gapiradigan itni qilish kerak. ESP8266-da sehr

O'z qo'lingiz bilan gapiradigan itni takrorlash vositasini qanday qilish kerak. Bu hunarmandchilik yangi yil davomida hazil qilish uchun maxsus qilingan. Afsuski, men sotiladigan takroriy itlarni ko'rmadim. Allaqachon kaltaklangan yo'lda yurib, itni takrorlash qurilmasi o'z qo'llarim bilan qilingan. Buning uchun siz faqat ikkita o'yinchoq sotib olishingiz va o'z qo'llaringiz bilan ular ustida oddiy harakatlar qilishingiz kerak. Fotosuratlar va videolar bilan gaplashadigan it takrorlagichini qanday qilish haqida batafsil ma'lumot uchun taqdim etilgan master-klassga qarang. Har doimgidek, tayyor o'yinchoq yangi yilda bolaga sovg'a sifatida beriladi.

Repeater Dog qilish uchun sizga takrorlanuvchi hamster va yumshoq o'yinchoq it kerak. Usta bu masalani havoladan foydalanib Aliexpress-da hamster sotib olib, hal qildi http://ali.pub/q3pti . It o'yinchoqlar do'konida sotib olingan. Fotosuratdagi narx.




It o'yinchoq

It o'yinchoq

Takrorlanuvchi itlarni yig'ish bo'yicha ko'rsatmalar

  1. Biz teridan hamster mexanizmini olib tashlaymiz. Odatda teri simi bilan mahkamlanadi. Siz uni faqat pense bilan kesib olishingiz kerak. Siz mahkamlagichlarni qanday kesishni ko'rishingiz mumkin.
  2. Biz mexanizmning ishlashini tekshiramiz. Mexanizm harakatlanuvchi platformaning yuqori holatida to'xtatilishi kerak. Video tomosha qiling.
  3. Tanlangan o'yinchoq, It, mexanizmga moslashish uchun biroz kichikdir. Shuning uchun, astar yirtilib, boshdan to'ldirilgan poliesterning bir qismini olib tashlaganidan so'ng, mexanizmning yuqori platformasi o'yinchoqning boshiga joylashtirildi.
  4. Haddan tashqari to'ldiruvchi polyester itning panjalariga hajm berish uchun joylashtiriladi.
  5. O'yinchoq boshining aniq harakatlanishi uchun mexanizmning ishlashiga ko'ra, boshning yuqori qismi mexanizm platformasiga iplar bilan bog'langan.
  6. O'yinchoqning chetiga qistirma ostidagi ip o'tkazildi. Ip cho'ziladi va terining chetini mexanizmning yiviga o'rnatadi. Videoni tomosha qiling.


Mexanizm kengaytirilgan holatda o'rnatiladi

Do'konlarda tayyor o'yinchoq sotib olishning iloji yo'qligi achinarli, lekin uni o'z qo'llaringiz bilan o'zingiz qilishingiz mumkin. Hunarmand vaqtga investitsiya qilishga arziydi. Asosiysi, yangi yilni nishonlashda uni o'z vaqtida amalga oshirish va hammaga ko'z yoshlarigacha kulish kafolatlanadi! Va hunarmandchilikning o'zi bola uchun munosib sovg'adir. Bolalar siz do'stlaringiz orasida topa olmaydigan o'yinchoqlarni qadrlashadi.

Dunyoda bolalar uchun aql bovar qilmaydigan miqdordagi gapiradigan o'yinchoqlar mavjud va bu kattalar zerikkan degan taassurotni yanada kuchaytiradi. Jamoamiz ushbu vaziyatni tuzatishga qaror qildi.

Hikoyaning boshlanishi

Hammasi mening do'stim va hamkasbimning qiziquvchan miyasiga yorqin fikr kelganida boshlandi: nega nafaqat bolalarni, balki kattalarni ham tematik hazillar bilan qiziqtirmaslik kerak? Yaxshiyamki, arzon va yaxshi tasdiqlangan uskunalar endi kamdan-kam uchraydi va u nafaqat chiroqlarni miltillashi, balki qo'shiqlar kuylashi ham mumkin.

Shu munosabat bilan u menga qo'ng'iroq qildi va ESP8266 tarmoq orqali MP3 formatidagi musiqani yaxshi ijro etadimi va u hamsterni parchalab tashlayaptimi yoki yo'qmi, haqiqatan ham etarli darajada ishlashini bilish uchun epik jasoratni takrorlashni taklif qildi, men buni tezda bajardim. yangi yil bayramlari 2016:


Videoda ESP8266 “I2S orqali 5-bitli PWM” xakeridan foydalangan holda ovoz chiqaradigan Internet radiosini ijro etadi.

Biroq, Internetdan MP3 radiosini o'ynash ESP8266 ning deyarli butun resursini iste'mol qildi va "shunday" eshitildi, bizning tasavvurimiz allaqachon MP3 radio karnayidan ko'proq narsani tasavvur qilardi. Ushbu ijodiy impulslar bilan biz jamoamizga va sevimli oshpaz Vladimirga bordik.

Bir oz aqliy hujumdan so'ng, batafsilroq rasm paydo bo'la boshladi va hatto mantiqiy zanjir Biz nafaqat xohlaymiz, balki qila olamiz:

  • MP3-ni kamroq resurs talab qiladigan va bepulroq narsa bilan almashtirish uchun biz Speex-ga joylashdik, u juda muvaffaqiyatli va tezda ESP8266-ga o'tkazildi.
  • Bulutdagi serverdan hazillarni yozib oling va ularni SD-kartada saqlang, chunki... Internet hamma joyda ham mavjud emas va hatto ESP8266 da, agar siz uni doimo yoqsangiz, batareya quvvati yetarli bo‘lmaydi.
  • Ba'zi voqealarga "hazil hazillarini" bog'lang va shunchaki tasodifiy gapirmang. Hodisa generatori sifatida smartfon tanlandi, chunki deyarli hammada mavjud. Haqiqiy voqealarni iPod, iPhone va iPad-da allaqachon mavjud bo'lgan Apple xabarnoma markazi xizmatidan (ANCS) osongina olish mumkin.
  • Smartfon bilan muloqot qilish uchun Bluetooth Low Energy (BLE) dan foydalaning, chunki o'yinchoqni haftada bir martadan ko'proq zaryad qilish juda kam odamga yoqadi.
  • O'yinchoq foydalanuvchini barcha kiruvchi voqealar haqida tez-tez hazillar bilan bezovta qilmasligi uchun biz skript tilida mantiqdan foydalanishga qaror qildik. Biz piyon tiliga qaror qildik.
  • Har kimning hazilga bo'lgan ta'mi har xil bo'lgani va bir xil hazilni tinglash allaqachon qayg'uli bo'lganligi sababli, foydalanuvchiga hazilga "shaplash" va "urish" (akselerometer) orqali ovoz berish imkoniyatini berishga qaror qilindi. kontent serveri keyingi safar tegishli pleylist.

Uskuna tanlash

Dastlab, men juda oddiy, ammo to'liq ishlaydigan prototipni all-in-one platasida yaratmoqchi edim, shuning uchun biz uni MediaTek-dan LinkIt ONE-da sinab ko'rishga qaror qildik. Va netsnail deyarli darhol muvaffaqiyatga erishdi. Telefon bilan aloqa bor edi va SD-kartadan MP3lar mukammal ijro etildi.
Bu baxt va tayyor platforma bo'lib tuyuladi! Ammo keyin biz ularning yopiq SDK cheklovlarining qattiq haqiqatiga duch keldik va eyforiya o'tib ketdi.

Biz bitta doskada bizning barcha istaklarimizni qondiradigan tayyor platforma yo'qligini angladik, ya'ni biz uni noldan yaratishimiz kerak edi.

Shunday qilib, biz (2016 yil fevral) ESP8266 bilan bog'lanishi kerak bo'lgan eng mos BLE chipini tanlashimiz kerak edi. Biz ESP8266 va BLE chipi o'rtasidagi ulanish sifatida standart TWI (I2C) dan foydalanishga qaror qildik (o'sha paytda biz bu qanday chip bo'lishini bilmas edik).

Ammo BLE bilan o'sha paytda ko'p tanlov yo'q edi:

  • TI CC2541 - menga arxitektura tufayli darhol yoqmadi va 8 KB operativ xotira, BLE xizmatlarining soni va o'yinchoqqa kerak bo'lgan xususiyatlarni hisobga olgan holda, oson hayot uchun umidsiz ko'rinardi.
  • BCM20732 - juda istiqbolli ko'rinardi, lekin aslida SDK juda qo'pol bo'lib chiqdi va Broadcom WICED Smart BLE uskunasi shunchalik nosog'lomki, qasam ichmaslik uchun bu erda hech qanday maxsus narsa yozmayman. Vaziyat yaxshilanganmi, menga xabar bering.
  • nRF52832 - meni darhol xursand qilgan birinchi chip. Ammo keyin ixcham BLE moduli yo'q edi - rekod disk raskadrovka taxtasida prototip yaratishni boshladi, menga SDK juda yoqdi, u juda ko'p turli xil narsalarni o'z ichiga olgan. ishchilar misollar. BLE ANCS misoli darhol boshlandi va biz darhol UART jurnallarida iPhone bildirishnomalarini ko'rdik. Aytgancha, ushbu disk raskadrovka panelida haqiqiy SEGGER J-Link dasturchisi va tuzatuvchisi mavjud bo'lib, bu bizning hayotimizni kelajakda ancha osonlashtirdi.
  • nRF51822 - o'sha paytda tayyor modullar mavjud edi va ular nRF52832 dan SEGGER orqali dasturlashtirilgan. Meni eng hayratga solgan narsa shundaki, eski nRF52832 modelidagi kod yosh nRF51822 va orqaga mukammal tarzda uzatilgan!
Natijada, birinchi temir tarantula o'rgimchakka o'xshardi:

Dupont kabellarining yiqilib tushishi tufayli nosozliklar paydo bo'ldi, ayniqsa nRF51822 modulida, bu erda pinlar biroz hajmidan kichikroq, bu juda achinarli edi.

nRF51822 va iOS ilovasida BLE xizmatlari

Shunga qaramay, Affair va men ushbu o'rgimchak uskunasida nRF51822-da BLE xizmatlari va xususiyatlarini joriy qilishni boshladik va hamma narsani taxminan yarmiga bo'ldik:
  • Apple xabarnoma markazi xizmati (ANCS) - smartfoningizdan voqealar haqida bildirishnomalarni olish.
  • Apple Current Time Service (CTS) - ulanganda o'yinchoq telefondan vaqt oladi.
  • HandShake Service (HSS) - bu xizmat, aytmoqchi, an'anaviy minigarnituralar va shunga o'xshash gadjetlardan farqli o'laroq, o'yinchoqni "o'tib bo'lmas" qiladi. Gap shundaki, bulutda ClientID mavjud va foydalanuvchi nafaqat telefon va o'yinchoqni Bluetooth orqali bog'laydi, balki qayta o'rnatish unchalik oson bo'lmagan qo'shimcha bog'lanish ham mavjud. Ushbu jarayonning tavsifi alohida maqolani talab qiladi, shuning uchun men o'zimni qisqacha eslatma bilan cheklayman.
  • Batareya xizmati (BAS) - batareya holatini smartfon ilovasiga o'tkazish.
  • Kontent xizmati (CONTS) - bu bilan siz avval o'ynagan hazillar ro'yxatini matn bilan ko'rishingiz mumkin (matn bulutdagi serverdan olingan).
  • Sozlamalar xizmati (SETTS) - bu bilan siz nomaqbul hazil mazmuni, o'yinchoq jim bo'lishi kerak bo'lgan vaqt (masalan, kechasi) uchun filtrlarni sozlashingiz mumkin.
MaximKit bir vaqtning o'zida ishlayotgan edi iOS uchun dastur.

O'ngdagi rasmda ilovaning asosiy ekrani ko'rsatilgan.

Bu erda flexxnn simlarning uzilishi tufayli azob-uqubatlarga chiday olmadi va uyda lazerli temir usuli yordamida birinchi oddiy prototipni yaratdi:

Bu fotosuratda ko'rinmaydi, lekin microSD karta uchun slot allaqachon mavjud. Quyidagi kichik kvadrat kartada - ALC5627, ovoz allaqachon I2S orqali 5 bitli PWM dan ancha yaxshi edi.

Quvvatni boshqarish uchun biz AXP209 ni tanladik. Batareyani bir vaqtning o'zida zaryad qilish va ishlatish, shuningdek uning holatini kuzatish imkonini beradi. Chip juda keng tarqalgan, ammo dasturlashda ham, kerakli tashqi komponentlarda ham juda ko'p o'ziga xos xususiyatlarga ega. "jabduqlar".

ESP8266-da sehr

Bunga parallel ravishda, flexxnn Speex, FatFs-ni ESP8266-ga o'tkazdi, ESP8266 va nRF51822 uchun yuklash moslamasini yaratdi, shunda siz yangilangan proshivkani sim orqali o'chirib qo'yishingiz shart emas, balki mikrodastur fayllarini microSD kartasiga joylashtirish orqali amalga oshiring.

Shaxsan menga o'zga sayyoraliklar yordam bergandek tuyuladi, chunki u hammasini bir oy ichida qilgan. Ammo u begona razvedka bilan aloqalarni tan olmaydi.

Va keyin ikkinchi, oddiyroq prototip:

Ammo oddiyroq prototip endi mos kelmaydi yumshoq o'yinchoq. Va agar u kirgan bo'lsa ham, to'satdan harakat bilan "begona" o'yinchoqdan potentsial foydalanuvchining ustiga chiqadi, bu MVP uchun qabul qilinishi mumkin emas edi.

Shuning uchun, kengashni professionallarga buyurtma qilishga qaror qilindi va oxir-oqibat shunday bo'ldi:

Ushbu dizayn allaqachon mushukka juda mos keladi, garchi u qandaydir g'ayriinsoniy ko'rinadi:

Shu bilan birga, telefondagi voqealar tez-tez sodir bo'lishi mumkinligi va buning natijasida foydalanuvchi o'yin-kulgi o'rniga g'azablanishidan qo'rqish tasdiqlandi. Filtrlash uchun moslashuvchan mantiq kerak edi, uni istalgan vaqtda qayta miltillamasdan osongina o'zgartirish mumkin edi. Shu munosabat bilan, uskunani o'rganib chiqqandan so'ng va ESP8266 (Lua va microPython tarjimonlar) uchun tez va ixcham skriptlar yo'qligini tushunganimdan so'ng, men tezda (mahalliy tildan atigi 18 baravar sekin) bajaradigan Pawn tilini portga o'tkazishga qaror qildim. ixcham bayt-kod.

Aytgancha, Pawn-dagi manbalar C ga juda o'xshash, shuning uchun skriptlarni o'zgartirish juda yoqimli - siz ularni AMX baytekodiga kompilyatsiya qilishingiz va ularni SD-kartaga nusxalashingiz kerak.

Gadgetni aldash. Androidda o'zini iOS deb ko'rsatish

Va keyin "to'satdan" hammamiz buni esladik Android telefonlar dunyoda iOS telefonlaridan unchalik kam emas va hatto undan ham ko'proq.

Natijada, men tezda tekshirib ko'rishim kerak edi gadjetlarni aldash va Androidda o'zini iOS deb ko'rsatish, shuning uchun ular Apple'dan farq qilmaydigan ANCS xizmatini ko'rishlari uchun.

Oxir-oqibat, hamma narsa amalga oshdi va bir hafta ichida gadjetlar (va bizning mushukimiz bundan mustasno emas edi) mening Nexus 5 va hatto eskisiga ulangan ANCS xizmatiga ega iPhone borligiga chin dildan ishonishdi. Samsung Galaxy Android 4.4 bilan.

Bulutga o'ting

Hech kim hazilni bir necha marta tinglashni yoqtirmasligi (fakt) va afzalliklar va madaniy cheklovlar ham borligi sababli, har bir foydalanuvchi uchun noyob pleylist yaratishga qaror qilindi. Bu ish uchun men bulutdagi serverda yaqindan ishladim.

Ammo kimga nima yoqishini qanday hal qilasiz? To'g'ri - foydalanuvchi o'zi qaror qilsin! Buning uchun men STMicroelectronics kompaniyasining akselerometrida asosiy imo-ishorani aniqlashni qildim. Agar sizga hazil yoqqan bo'lsa, mushukni "ha" degandek egib qo'ydingiz, agar hazil sizga yoqmasa, "yo'q" degandek uni yon tomonga egib qo'ydingiz. Men telefon uchun “unutmang” ni ham qo‘shdim – agar BLE aloqasi uzilib qolsa va akselerometr harakatni aniqlasa, bu mushukni qayergadir olib ketayotganini va telefon unutilganligini bildiradi.

Foydalanuvchi "yoqdi" va shu bilan o'z afzalliklarini ko'rsatgandan so'ng, ma'lumotlar serverga o'tadi, u erda pleylistlarning "genomlari" taqqoslanadi va foydalanuvchi uchun yangi hazillar to'plami yaratiladi.Ammo bu alohida maqola uchun mavzu. .

Natijalar

Natijada, o'yin-kulgi quyidagi imkoniyatlarga ega bo'lgan ajoyib platforma bo'lib chiqdi:
  • telefoningiz bilan BLE orqali muloqot qiling va voqealar haqida bildirishnomalarni oling;
  • WiFi orqali muloqot qilish va kontent va proshivka yangilanishlarini yuklab olish;
  • microSD-da FAT32-da fayllarni saqlash va o'qish;
  • speex kodek bilan to'ldirilgan hazillarni o'ynang;
  • akselerometr (imo-ishoralarni aniqlash) yordamida foydalanuvchining afzalliklarini aniqlash;
  • har bir foydalanuvchi uchun ularning hazildagi afzalliklari asosida pleylistlar yaratish;
Shunisi e'tiborga loyiqki, "juda mohir qo'llar" mos keladigan pinlarga osongina ulanadi (hatto doskadagi ulagichlar uchun teshiklar ham qoldirilgan) va "mushukni aqlliroq qiladi". geeks.

Ushbu platforma bilan biz tayyor o'yinchoq KiQ deb nomlangan kickstarterga bordik. Birinchi kuni biz 40% yig'dik, hozir esa 57%. Ammo bu butunlay boshqacha hikoya.

Ushbu satrni o'qiganlarning barchasiga rahmat. Sizdan qiziqarli savollarni kutaman.

Mavjud o'yinchoqlar orasida gapira oladigan va teginishga javob beradigan o'yinchoqlar alohida o'rin tutadi. Bunday o'yinchoqlar interaktiv deb ataladi.

Yaqinda interaktiv qush Little Live Pets qizlar va o'g'il bolalar orasida eng mashhur bo'ldi. Bu o'yinchoq uy hayvoniga ega bo'lishni orzu qilgan bola uchun ajoyib sovg'a bo'ladi.

Interfaol o'yinchoqlarning xususiyatlari

O'yinchoqlar o'yinchoq tanasi ichiga o'rnatilgan maxsus qurilma tufayli gapirishlari mumkin. Ushbu bloklar funktsional jihatdan farqlanadi:

  • Eng oddiy mexanizm - audio bir marta yozish moduli. O'yin vaqti 1 dan 6,5 minutgacha bo'lishi mumkin;
  • yanada murakkab qurilmalar sizga ohang yoki iboralarni qayta yozish imkonini beradi. Bunday tizimli interfaol o'yinchoqlar bola bilan gaplashishni o'rganadi, ularning so'z boyligini doimiy ravishda oshiradi. Bundan tashqari, onangiz yoki boshqa qarindoshingiz tomonidan ijro etilgan ertak yoki qo'shiqlarni yozib olishingiz mumkin;
  • Ovoz blokidagi tugmani bosish bilan emas, balki ovozingizdan foydalanish yoki o'yinchoqning turli qismlariga tegish orqali faollashtirilgan tizimlar mavjud.

Masalan, interfaol qo‘g‘irchoq uning yonog‘iga tekkizganingizda kula boshlaydi, agar qo‘lingizdan tutsangiz, u gapira boshlaydi.

Bolalar turli yoshdagilar gapiradigan o'yinchoqlarni yaxshi ko'radi. Ular bilan o'ynab, bolalar muloqot qilishni o'rganadilar, yangi bilim va boshqa ko'nikmalarga ega bo'lishadi. Interfaol o'yinchoqlarning yagona kamchiliklari ularning narxidir. Bunday o'yinchoq qanchalik ko'p funktsiyalarni bajarsa, uning narxi shunchalik yuqori bo'ladi.

O'zingizga o'yinchoq yasash

Agar siz bolangizni gapiradigan o'yinchoq bilan xursand qilishni istasangiz, uni o'zingiz qilishingiz mumkin.

Radioelektronika bilan tanish bo'lgan kishi uyda dasturlashtiriladigan ovoz modulini yig'ishi mumkin. Ammo bu juda zarur emas, bugungi kunda bunday bloklarni Internetda yoki ixtisoslashtirilgan do'konda sotib olish mumkin.

Gapiruvchi o'yinchoq yasash jarayoni quyidagicha ko'rinadi:

  1. Biz o'yinchoq tanlaymiz. Uni do'konda sotib olish yoki mustaqil ravishda qilish mumkin. Qo'lda ishlangan to'qimachilik o'yinchoqlari bugungi kunda juda mashhur.
  2. Biz musiqa modulini sotib olamiz va unga ohang, matn yoki ertak yozamiz. Har qanday eski o'yinchoqdan ovoz modulini ham olishingiz mumkin, batareyalarning to'g'ri ishlashini tekshirish kifoya.
  3. Blok o'rnatiladigan joyda tikuvni yirtib tashlaymiz.
  4. Biz modulni o'yinchoq ichiga joylashtiramiz va tugmachaga e'tibor berish muhim, u bosish uchun ochiq bo'lishi kerak.

Shundan so'ng, tikuvni jimgina tikish qoladi va hammasi - o'yinchoq gapira boshladi.

Ushbu video sizga gapiradigan o'yinchoq yasashni o'rganishga yordam beradi:



mob_info