Mundarija:

OUIJA: 5 qadam (rasmlar bilan)
OUIJA: 5 qadam (rasmlar bilan)

Video: OUIJA: 5 qadam (rasmlar bilan)

Video: OUIJA: 5 qadam (rasmlar bilan)
Video: Snapchat haqida qisqa metrajli film 2024, Iyul
Anonim
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA

Halloween mavsumi yaqinlashganda, yangi loyihalar paydo bo'ladi. Bizga yaxshi ma'lumki, Xellouin - o'liklarning kuni, oramizda bo'sh joy qoldirganlarni eslashga majbur qiladi. Bizning loyihamiz endi yo'q bo'lganlar, biz sog'inadiganlar bilan portal orqali Ouija taxtasi orqali bog'lanish imkonini beradi.

Biz Ouija kengashining "portali" sifatida g'oyaga tayanamiz, u bilan suhbatlashish, savollar berish, "ruh" va taxtaga ega bo'lgan o'yinchi o'rtasidagi aloqa vositasi. Shuning uchun biz nafaqat to'g'ri va funktsional kodni yaratish, balki o'yinchi dastur bilan qanday ishlashini tushunish zarurligini ko'ramiz. Dasturlashni boshlashdan oldin, biz nima qilish kerakligini va har bir vaziyatda nima bo'lishini bilish uchun oqim sxemasini tuzamiz.

Bizning asosiy g'oyamiz shundan iboratki, foydalanuvchi taxtaga tekkanida, ya'ni foydalanuvchi ikkala qo'lini taxtaning tepasida ushlab, savol berganida, ouija ko'rsatgichi javob sifatida "Ha" yoki "Yo'q" tomon siljiydi. Kod uchun biz foydalanmoqchi bo'lgan dvigatelning ishlash diapazonini dasturlashimiz kerak edi, chunki doskada "Ha" va "Yo'q" qarama -qarshi edi (har tomondan). Bundan tashqari, biz javoblarning tasodifiy bo'lishini xohlardik, shuning uchun biz avvalgi tadqiqot ortida qolgan holda, bu parametrlarni aniqlashga majbur bo'ldik.

1 -qadam: MATERIALLAR

MATERIALLAR
MATERIALLAR
MATERIALLAR
MATERIALLAR
MATERIALLAR
MATERIALLAR

Loyihani amalga oshirish uchun biz turli xil elektr komponentlar, asboblar va materiallardan foydalanganmiz:

1. Elegoo uno R3. Tekshirish kengashi

2. Breadboard jumper simlari va ayol - erkak Dupont simlari

3. Bosim/kuch sensori

4. Protoboard

5. Servo dvigatel

6. USB kabeli

7. Lazerli kesish mashinasi

8. Magnitlar

9. Yog'och

Qutini qurish uchun biz to'rt millimetrli yog'ochdan foydalanganmiz. Kasaba uyushmalari uchun magnitlar va kengaytirilgan porexpand.

2 -qadam: TinkerCad sxemasi

TinkerCad sxemasi
TinkerCad sxemasi
TinkerCad sxemasi
TinkerCad sxemasi

Bu erda biz kodimizni taqlid qiladigan TinkerCad sxemamiz bor.

Butun yondashuvdan so'ng biz kuch/bosim sensori sotib oldik va u bilan tajriba qila boshladik. Sensor juda oddiy komponent va uni ulash oson. Uning qanday ishlashini tushunish uchun biz uning to'g'ri ishlashini tekshirish uchun sinab ko'rishni maslahat beramiz, shuning uchun biz uni qanday ulashni va ishlatilgan kodni ko'rsatamiz: kuch sensori fotosurati.

Ushbu komponentni tushungan holda, biz sensori ko'rsatgichning safarini boshlash va tugatish uchun kalit bo'lib xizmat qiladi, degan xulosaga keldik. Shunday qilib, biz "agar" va "boshqa" dan qo'llaniladigan kuchni tartibga solishni o'rganamiz. Keyin biz kerakli dvigatel turini aniqlaymiz. Ouija taxtasi har xil usulda boshqarilishi mumkin bo'lsa -da, masalan, qadam dvigateli bilan, biz servo dvigateldan foydalanamiz, chunki biz uni ko'rib chiqishimiz kerak bo'lgan qadamlar bilan ishlash o'rniga harakat burchagini cheklamoqchimiz.

Bosim sezgichini tushunganimiz uchun, biz servo dvigatelning burchakka (Ha pozitsiyasiga), 10 dan 800 gacha kuch bo'lganida harakatlanishini aniqlaymiz. Kursor qarama -qarshi burchakka o'tadi (pozitsiya yo'q). u 800 dan katta va biz boshlang'ich pozitsiyasiga qaytamiz, bortda bosim bo'lmasa 0 pozitsiyasi (yoki 90º burchak). Qachonki, kuch 10 dan kam bo'lsa, bu birliklarning hammasi sensorning qaerga joylashtirilganiga va qancha o'zaro ta'sir o'tkazishni xohlaganingizga qarab o'zgarishi mumkin.

3 -qadam: oqim diagrammasi va kodi

Oqim diagrammasi va kodi
Oqim diagrammasi va kodi
Oqim diagrammasi va kodi
Oqim diagrammasi va kodi
Oqim diagrammasi va kodi
Oqim diagrammasi va kodi

#qo'shing

int servoPin = 8;

suzuvchi servo pozitsiyasi;

float startPosition;

MyServo xizmat ko'rsatish;

uzoq randNum;

int i = 0;

int PressurePin = A1;

int fuerza;

bo'sh o'rnatish () {

// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying:

Serial.begin (9600);

myServo.attach (servoPin);

}

void loop () {

// bir necha marta ishga tushirish uchun asosiy kodingizni bu erga qo'ying

fuerza = analogRead (PressurePin);

agar (fuerza> 10) {

i ++;

kechikish (100);

agar (fuerza <800) {

kechikish (100);

servoPosition = servoPosition + i;

} if if if (fuerza> 800) {

kechikish (100);

servoPosition = servoPosition - i;

}

} boshqa if (fuerza <10) {

i = 0;

servoPosition = 90;

}

Serial.println (servoPosition);

myServo.write (servoPosition);

}

4 -qadam: OUIJA QANDAY QURILADI?

OUIJA QANDAY QURILADI?
OUIJA QANDAY QURILADI?
OUIJA QANDAY QURILADI?
OUIJA QANDAY QURILADI?
OUIJA QANDAY QURILADI?
OUIJA QANDAY QURILADI?

Birinchidan, biz Arduino -ning barcha komponentlari joylashgan qutining o'lchovlarini o'rnatdik. Solidworks dasturidan biz 300 mm dan 200 mm gacha va balandligi 30 mm bo'lgan tayanchni yaratdik. Biz qalinligi 4 mm bo'lgan yog'ochdan foydalanamiz. Rejalarni tegishli dasturga o'tkazgandan so'ng, biz yog'ochni lazer mashinasi bilan kesib tashladik.

Ouija taxtasi boshqa hikoya edi. Yog'ochga o'yib yozish uchun avval biz fotosurat yoki taxtalarning vektorli tasvirini izlashimiz kerak edi. Biz kursor uchun ham xuddi shunday qildik. Barcha asosiy komponentlarga ega bo'lgach, biz elektronikani joriy qila boshladik. Biz servomotorni qutining o'rtasiga, Arduino va protobardni bir tomonga (aniq chap tomonda) joylashtirdik va nihoyat, bosim sensori qayerda joylashishini aniqladik. Biz o'ng tomonga kengaytirilgan porexpan asosini va uning ustiga sensorni joylashtirdik.

Foydalanuvchining qo'llari holatini hisobga olgan holda, biz tepaga ko'proq porexpan qo'yamiz, shunda foydalanuvchi qo'llarini unga qo'yganda, o'zaro ta'sir sodir bo'ladi. Yuqori qopqoq va qutining birlashishiga kelsak, biz mantar konstruktsiyalari ushlab turadigan kichik magnitlardan foydalanamiz.

Servo dvigatel uchun biz ikkita spikerdan metakrilat qo'lini yasadik: servoda ko'p vaqt hosil qilmaslik uchun mini-servomotor va magnit qismi. Bu qism boshqa materiallardan tayyorlanishi mumkin va uni servo uzatmalar bilan birlashtirish uchun biz Superglue -dan foydalanamiz, lekin biz issiq silikon yoki maxsus vintni tavsiya qilamiz. Kursor ostida servo magnit bilan tortiladigan magnit ilgakka ulanadi, bu esa harakatni amalga oshiradi.

5 -qadam: Xulosa

Xulosa
Xulosa

Ish tugagandan so'ng, biz uni bajarish uchun ta'qib qilgan metodologiyani ikki qismga bo'lish mumkinligini aniqlashimiz mumkin. Bir tomondan, ish biz xohlagan narsani tahlil qilish, uning sayohati haqidagi ma'lumotni tushunish va oqim jadvaliga tarjima qilishdan iborat edi. Ushbu tahlil bizga kod tuzilishini yaratishga yordam berdi. Oqim sxemasi tufayli biz har bir qadam muhimligini tushundik va bu bizga loyihaning ikkinchi qismini ishlab chiqishga imkon beradi.

Amaliy qismga kelsak, bu chiziqli evolyutsiya emas, balki sinov va xato jarayoni bo'ldi. Har bir komponentning funktsiyasini tushunish bizga uni Ouija taxtasida qo'llashda yordam berdi, chunki harakatni yaratish va o'zaro ta'sirni qo'zg'atishning ko'plab usullari mavjud. Biz turli xil to'siqlarni, masalan, servo dvigateldagi burchaklarni cheklash yoki analog va elektron elementlarning o'zaro bog'lanishini hal qilish usuli bilan faxrlanamiz. Arduino tomonidan taklif qilinadigan turli xil variantlar qiziqarli, bu bizga o'z g'oyalarimiz va takliflarimizni loyihalashtirish va amalga oshirish imkonini beradi. Biz interaktiv mahsulotlarni mehribon tarzda yaratish qanchalik osonligini tushunamiz.

Tavsiya: