Mundarija:

Android + Arduino Labirit o'yini: 5 qadam (rasmlar bilan)
Android + Arduino Labirit o'yini: 5 qadam (rasmlar bilan)

Video: Android + Arduino Labirit o'yini: 5 qadam (rasmlar bilan)

Video: Android + Arduino Labirit o'yini: 5 qadam (rasmlar bilan)
Video: Scratch darslari - Geometrik shakllarni chizishni o'rganamiz - 12-dars (2-qism) 2024, Noyabr
Anonim
Image
Image
Komponentlarni yig'ish
Komponentlarni yig'ish

Salom bolalar..

Siz hech qachon Android smartfoningiz orqali boshqariladigan labirint taxtasini yasab yurganmisiz …!

Xo'sh, siz to'g'ri joyda turibsiz. Men o'zim uchun Arduino va android yordamida qurdim.

Xavotir olmang, bu oson,.. Men bu loyihada sizga qanday qilishni ko'rsataman:

1. Labirint taxtasi (men uni eski yog'och qutilardan yasaganman).

2. Kengashni boshqarish uchun ilova ixtirochisidagi Android ilovasi.

3. Kengashni boshqarish uchun Arduino dasturini yozish va

4. Zanjirni sozlash….

Keyinchalik siz quradigan boshqa loyihalarda o'rganilgan kontseptsiyadan foydalanishingiz mumkin.

Shunday qilib, vaqtni boy bermay, boshlaylik ….!

1 -qadam: Komponentlarni yig'ish

Komponentlarni yig'ish
Komponentlarni yig'ish
Komponentlarni yig'ish
Komponentlarni yig'ish
Komponentlarni yig'ish
Komponentlarni yig'ish

Ushbu loyiha uchun sizga quyidagi elementlar kerak bo'ladi:

1. Ikkita servo dvigatel (men mini -lardan foydalanardim va ular men uchun ishlagan).

(Arduino Uno.

3. Bluetooth moduli.

4. Non paneli.

5. Ba'zi o'tish simlari

6. Yupqa yog'och yoki qattiq taxtalar

7. mixlar, eski klaviaturalardan ba'zi kalit tayoqlar

8. Termokol (polistirol)

2 -qadam: Labirint taxtasini yasash

Labirint taxtasini yasash
Labirint taxtasini yasash
Labirint taxtasini yasash
Labirint taxtasini yasash
Labirint taxtasini yasash
Labirint taxtasini yasash

Bu loyihaning mexanik qismi.

Birinchidan, taglik uchun to'rtburchaklar uzunlikdagi yog'och taxta yoki kartonni oling. u haqiqiy burilish taxtasidan kattaroq bo'lishi kerak.

Bir xil o'lchamdagi kubik yog'ochni kesib oling.

va har biriga bitta tirnoq qo'shing, shunda ular taglikdan bir xil balandlikda alin bo'ladi. Ustunlarga tayanch sifatida qo'shish uchun qo'shimcha yog'och bo'lagini ham kesib oling.

Endi yuqori kengash uchun..

poydevordan kichikroq ramka yasang, bu bizning x o'qimiz bo'ladi, ramkaning kichik qirralarining tashqi yuzasida aynan qirralarning markazida kichik teshiklar qiling. tayoqlarni yarmiga bo'ling va ularni ichki tomonga qaragan ramkaning katta qirralariga yopishtiring. Buni qilishdan oldin ularni yarmiga bo'ling.

bu yuqori taxtani ramkaga ushlab turadi va aylanishga yordam beradi.

endi ramkaning tagida turishi uchun ustunlarni tashqi teshiklarga qo'shing.

ustunlarni tayanchga mahkamlang va ularga tayanchlarni ham ulang.

Endi servo motorlarni qo'shish.

biri taglikka biriktiriladi va ramkani aylantirish uchun kichik tayoq yordamida ramkaga biriktiriladi

boshqasi ramkaga biriktiriladi va yuqori taxtani aylantirish uchun kichik tayoq yordamida yuqori taxtaga biriktiriladi.

servolar rasmlarda ko'rsatilgandek bir -biriga perpendikulyar o'rnatilishi kerak.

endi taxta tayyor.

Men labirintni termokol va kartochka yordamida yasadim.

3 -qadam: O'chirish sxemasini sozlash

O'chirish tizimini o'rnatish
O'chirish tizimini o'rnatish

Rasmda ko'rsatilgandek sxemani o'rnating …

Esda tutingki, men ishlatadigan qizil sim ijobiy, jigarrang manfiy va to'q sariq signaldir.

Bluetooth moduli

Rx 1 -pinga o'tadi

Tx 0 piniga o'tadi

Asosiy servo signal sim 5 -pinga o'tadi

Ramka servo signal simlari 6 -pinga o'tadi

Servo va bluetooth moduli uchun qo'shimcha quvvat manbaini qo'shishni unutmang.. boshqa aqlli modul etarli oqimga ega bo'lmaydi va 516 -xatoni ko'rsatib, uzishda davom etadi. Men uni hal qilishda juda ko'p muammolarga duch keldim va nihoyat muammo va echimni aniqladim.

4 -qadam: ilovani yaratish

Image
Image
Ilovani yaratish
Ilovani yaratish

Yaxshi, birinchi navbatda, har qanday ilovalarni yaratish uchun ilova ixtirochisiga kirishingiz kerak.

appinventor.mit.edu/explore/ saytiga o'ting.

va dastur yaratish -ni bosing! yuqori o'ng burchakda ro'yxatdan o'ting va siz borishga tayyormiz …

Videoda ko'rsatgan hamma narsam.. qarang.

bu erda asosiy:

ekran ilovada ishga tushirilganda (bu holda Screen1), -akselerometr sensori yoqilgan va sezuvchanlik maksimal 3 ga o'rnatiladi.

Endi biz ro'yxat tanlagichni bosganimizda

-ulangan qurilmalar ro'yxati paydo bo'ladi.

(ilovani ochishdan oldin siz modulni ulashingiz kerak bo'ladi, chunki odatdagidek juftlik kodi 1234)

Endi ro'yxatni tanlashni tanlashdan oldin, -ulangan qurilmalar va ularning manzillari bilan ro'yxatni o'rnating

Qurilmani tanlagandan so'ng

-bluetooth adapteri tanlangan qurilma bilan ulanadi

Endi modul ulandi

Endi acclerometerSensor ma'lumotlari o'zgartirilganda

-Ma'lumotni yorliq matniga qo'shing va bluetooth yuborish bilan yuboring.

Endi qiyin qism - bu ikkita ma'lumotni bir vaqtning o'zida yuborish

# akslerometr ma'lumotlari chapga egilganda 0 dan 9,5 gacha, o'ngga egilganda esa 0 dan -9,5 gacha, Telefon pastdan yuqoriga burilganida ham shunday bo'ladi.

shuning uchun biz yuborishimiz kerak bo'lgan x va y o'qlari egilgan ma'lumotlarga egamiz …

x o'qi ma'lumotlari X bo'lsin va y o'qi Y bo'lsin

shuning uchun men nima qildim:

Matn = "(X*10 (undan keyin kasrli nuqtalarni olib tashlang) +95)*1000 (1000 ga ko'paytiring)+Y*10 (kasrli nuqtalarni olib tashlang) +95"

Endi ma'lumotlar har bir o'q uchun 0 dan 190 gacha o'zgaradi va 190180 ga qo'shiladi, bu erda birinchi 3 raqam x o'qi, oxirgi 3 y o'qi koordinatalari …

bluetooth moduliga yuboriladi va haqiqiy ma'lumotlarga bo'linadi va arduino kodidagi servo aylanish burchaklari bilan xaritaga kiradi …

5 -qadam: Arduino kodini yozish

Arduino kodini yozish
Arduino kodini yozish
Arduino kodini yozish
Arduino kodini yozish

Ilova tugagandan so'ng, men kodni yukladim, uni yukladim, kompilyatsiya qildim va arduino -ga jo'natdim, lekin kodni yuborishdan oldin bluettoh modulining rx va tx pinlarini arduino kartasidan ajratib oling va kodni yuboring. shundan so'ng siz pimlarni orqaga ulashingiz mumkin..

bluetooth -dan olingan kod bizning o'q ma'lumotlariga ega bo'lgan satrdir.

endi Serial.parseInt (); qatorni o'qish va o'zgarmaydigan posda satrni int ga aylantirish uchun ishlatiladi.

Endi pos = 190180 qiymatiga ega

x o'qi uchun. qiymatni 1000 ga bo'ling, bu 190.i.e qiymatini beradi/1000 = 190

va y o'qi uchun modulli qiymatni 1000 ga bo'linadi, bu bizga 180 ya'ni%1000 = 180 qiymatini beradi

Endi taxtani burish uchun kerakli servolarning maksimal va min holatini hisoblang, mening holatimda 180 va 75 va….

Endi biz x va y o'qlarini muvofiqlashtirdik, endi biz o'z servolarimiz uchun kerakli minimal va maksimal aylanish burchaklari bilan koordinatalarni xaritaga solishimiz kerak.

batafsil ma'lumot uchun kodni ko'ring.

Biz tugatdik … kodni yuklaymiz, ilovani ochamiz va o'ynaymiz ….

Bilasizmi, google -da o'zi uchun yaratilgan va siz ko'rgan katta labirint … bu ham men uchun o'zim uchun motivatsiya.

Shunday qilib, keyingi safarga qadar dam oling.

Tavsiya: