Mündəricat:

OUIJA: 5 addım (şəkillərlə)
OUIJA: 5 addım (şəkillərlə)

Video: OUIJA: 5 addım (şəkillərlə)

Video: OUIJA: 5 addım (şəkillərlə)
Video: Insidious: The Last Key - Official Trailer (HD) 2024, Noyabr
Anonim
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA

Halloween mövsümü yaxınlaşdıqca yeni layihələr ortaya çıxır. Bildiyimiz kimi, Halloween ölülər günüdür, aramızda boşluq buraxanları xatırlamağa vadar edən bir gündür. Layihəmiz, artıq olmayanlarla, darıxdığımızlarla bir portal vasitəsilə Ouija lövhəsi vasitəsi ilə əlaqə qurmağa imkan verir.

Ouija lövhəsinin kənardan danışmaq, suallar vermək, "ruh" la lövhəyə sahib olan oyunçu arasında ünsiyyət vasitəsi olaraq qarşılıqlı əlaqə qurmaq üçün "portal" kimi fikirlərə əsaslanırıq. Bu səbəbdən yalnız etibarlı və işlək bir kod yaratmağa deyil, oyunçunun proqramla necə davranacağını başa düşməyə ehtiyac olduğunu görürük. Nə üçün, proqrama başlamazdan əvvəl, hər vəziyyətdə nə edəcəyimizi və nə olacağını bilmək üçün bir axın diaqramı hazırlayırıq.

Əsas fikrimiz ondan ibarət idi ki, istifadəçi lövhəyə toxunduqda, yəni istifadəçi hər iki əlini lövhənin üstündə saxlayanda və bir sual verəndə, ouijanın göstəricisi cavab olaraq Bəli və ya Nota doğru hərəkət edəcək. Kod üçün, istifadə etmək istədiyimiz motorun performans aralığını proqramlaşdırmalı olduq, çünki lövhədə Bəli və Xeyr (hər tərəfdən bir) qarşı çıxdı. Ayrıca, cavabların təsadüfi olmasını istədik, buna görə də əvvəlki parametrləri arxada qoyaraq bu parametrləri qurmalı olduq.

Addım 1: MALZEMELER

MATERİALLAR
MATERİALLAR
MATERİALLAR
MATERİALLAR
MATERİALLAR
MATERİALLAR

Bu layihəni həyata keçirmək üçün müxtəlif elektrik komponentlərindən, alətlərdən və materiallardan istifadə etdik:

1. Elegoo uno R3. Nəzarət lövhəsi

2. Breadboard Jumper Telləri və Dişi - Dupont Wire

3. Təzyiq/Güc sensoru

4. Protoboard

5. Servo Motor

6. USB Kabeli

7. Lazer kəsmə maşını

8. Maqnitlər

9. Ağac

Qutunun inşası üçün dörd millimetrlik ağacdan istifadə etdik. Həmkarlar ittifaqları üçün maqnitlər və genişlənmiş gözenekler.

Addım 2: TinkerCad Şeması

TinkerCad Şeması
TinkerCad Şeması
TinkerCad Şeması
TinkerCad Şeması

Burada kodumuzu simulyasiya edən TinkerCad sxemimiz var.

Bütün yanaşmadan sonra bir qüvvə/təzyiq sensoru aldıq və onunla sınaq etməyə başladıq. Sensor çox sadə bir komponentdir və qoşulmaq asandır. Necə işlədiyini başa düşmək üçün düzgün işlədiyini yoxlamaq üçün sınamağı məsləhət görürük, buna görə də onu necə bağlayacağınızı və istifadə olunan kodu göstəririk: güc sensoru fotoşəkili.

Bu komponentin anlayışından belə nəticəyə gəlirik ki, sensor göstərici səyahətini başlamaq və bitirmək üçün açar rolunu oynayacaq. Beləliklə, "əgər" və "başqa" dan tətbiq olunan qüvvəni tənzimləməyi öyrənirik. Sonra ehtiyacımız olan motor növünü təyin edirik. Ouija lövhəsi fərqli bir şəkildə idarə edilə bilsə də, məsələn, bir step motoru ilə, servo motor istifadə edirik, çünki gözdən keçirməli olduğu addımlarla işləmək əvəzinə hərəkət bucağını məhdudlaşdırmaq istəyirik.

Təzyiq sensoru anlayışı sayəsində, 10 ilə 800 arasında bir qüvvə olduqda servo motorun bir açıya (Bəli mövqeyi) keçdiyini təyin edirik. Kursor əks tərəfə (mövqe yoxdur), qüvvə olduqda 800 -dən böyükdür və lövhədə heç bir təzyiq olmadığı zaman bizim üçün 0 mövqeyinə (və ya 90º bucağa) qayıdacaq. Bu zaman qüvvə 10 -dan azdır. Bütün bu hissələr sensorun harada yerləşdirildiyinə və nə qədər qarşılıqlı əlaqə qurmaq istədiyinizə görə dəyişə bilər.

Addım 3: Akış Şeması və Kodu

Akış Şeması və Kodu
Akış Şeması və Kodu
Akış Şeması və Kodu
Akış Şeması və Kodu
Akış Şeması və Kodu
Akış Şeması və Kodu

#daxil edin

int servoPin = 8;

float servoMövqe;

float startPosition;

Servo myServo;

uzun randNum;

int i = 0;

int PressurePin = A1;

int fuerza;

boş quraşdırma () {

// bir dəfə işə salmaq üçün quraşdırma kodunuzu bura qoyun:

Serial.begin (9600);

myServo.attach (servoPin);

}

boşluq döngəsi () {

// əsas kodunuzu bura qoyun, təkrar işləsin

fuerza = analogRead (PressurePin);

əgər (fuerza> 10) {

i ++;

gecikmə (100);

əgər (fuerza <800) {

gecikmə (100);

servoPosition = servoPosition + i;

} başqa əgər (fuerza> 800) {

gecikmə (100);

servoPosition = servoPosition - i;

}

} başqa əgər (fuerza <10) {

i = 0;

servoPosition = 90;

}

Serial.println (servoPosition);

myServo.write (servoPosition);

}

Addım 4: OUIJA NECƏ TİKİLİR?

OUIJA NECƏ QURULMALIDIR?
OUIJA NECƏ QURULMALIDIR?
OUIJA NECƏ QURULMALIDIR?
OUIJA NECƏ QURULMALIDIR?
OUIJA NECƏ QURULMALIDIR?
OUIJA NECƏ QURULMALIDIR?

Əvvəlcə bütün Arduino komponentlərinin olduğu qutunun ölçülərini təyin etdik. Solidworks proqramından 300 mm x 200 mm, hündürlüyü 30 mm olan bir baza yaratdıq. 4 mm qalınlığında bir taxta istifadə etdik. Planları müvafiq proqrama ötürdükdən sonra lazer maşını ilə ağac kəsdik.

Ouija lövhəsi başqa bir hekayə idi. Əvvəlcə taxtaya həkk edə bilmək üçün lövhələrin bir fotoşəkili və ya vektorlu təsviri axtarmalı olduq. Kursor üçün də eyni şeyi etdik. Bütün əsas komponentlərə sahib olduğumuz zaman elektronikanı tətbiq etməyə başladıq. Servomotoru qutunun ortasına, Arduino və protoboardı bir tərəfə (xüsusi olaraq solda) yerləşdirdik və nəhayət təzyiq sensörünü harada yerləşdirəcəyimizə qərar verdik. Sağ tərəfə genişlənmiş gözenekli bir baza və yuxarıda bir sensor qoyduq.

İstifadəçinin əllərinin mövqeyini nəzərə alaraq, üstünə daha çox gözenek qoyuruq ki, istifadəçi əllərini üzərinə qoyanda qarşılıqlı əlaqə baş verir. Üst örtüyün və qutunun birləşməsinə gəldikdə, mantar strukturları tərəfindən tutulan kiçik maqnitlərdən istifadə edirik.

Servomotor üçün, iki spikerdən bir metakrilat qolu hazırladıq: servoda çox vaxt yaratmamaq üçün mini servomotor və maqnit hissəsi. Bu parça digər materiallardan hazırlana bilər və Superglue istifadə etdiyimiz servo dişli ilə birləşmək üçün isti silikon və ya xüsusi vida istifadə etməyi məsləhət görürük. Kursorun altında, servonun mıknatısı tərəfindən çəkilən bir maqnit bağlanır, beləliklə hərəkəti mümkün edir.

Addım 5: Nəticə

Nəticə
Nəticə

İş başa çatdıqdan sonra onu həyata keçirmək üçün təqib etdiyimiz metodologiyanın iki hissəyə bölünə biləcəyini təyin edə bilərik. Bir tərəfdən, iş nə etmək istədiyimizi təhlil etmək, səyahət məlumatlarını başa düşmək və bir sxemə çevirməkdən ibarət idi. Bu analiz kodun quruluşunu yaratmağımıza kömək etdi. Axın cədvəli sayəsində, atılan hər bir addımın əhəmiyyətini anladıq və bu, layihənin ikinci hissəsini inkişaf etdirməyə imkan verir.

Praktiki hissəyə gəlincə, bu xətalı bir təkamül yox, sınaq və səhv prosesi olmuşdur. Hər bir komponentin funksiyasını başa düşmək, Ouija lövhəsinə tətbiq edərkən bizə kömək etdi, çünki hərəkət yaratmağın və qarşılıqlı əlaqəni təhrik etməyin bir çox yolu var. Servo mühərrikdəki açıların məhdudlaşdırılması və ya analoq və elektron elementlər arasındakı qovşağı həll etmə üsulu kimi müxtəlif maneələrlə necə mübarizə apardığımıza görə qürur duyuruq. Arduinonun təklif etdiyi fərqli variantlar maraqlıdır, fikirlərimizi və təkliflərimizi hazırlamağa və həyata keçirməyə imkan verir. Mehriban bir şəkildə interaktiv məhsullar yaratmağın nə qədər asan olduğunu başa düşürük.

Tövsiyə: