Мазмуну:

OUIJA: 5 кадам (Сүрөттөр менен)
OUIJA: 5 кадам (Сүрөттөр менен)

Video: OUIJA: 5 кадам (Сүрөттөр менен)

Video: OUIJA: 5 кадам (Сүрөттөр менен)
Video: ЭЧ КОРКУНЧУ БОЛБОГОН ЭҢ КОРКУНУЧТУУ ЖИН 2024, Июль
Anonim
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA
OUIJA

Хэллоуин сезону жакындаган сайын жаңы долбоорлор пайда болот. Бизге белгилүү болгондой, Хэллоуин - бул өлгөндөрдүн күнү, биздин арабызда боштук калтыргандарды эстетүүчү күн. Биздин долбоор азыр жоктор менен, биз сагынган адамдар менен портал аркылуу Ouija тактасы аркылуу байланышууга мүмкүнчүлүк берет.

Биз Ouija тактасынын "портал" катары чегинен алыс адамдар менен сүйлөшүү, суроолорду берүү, "рух" менен тактасы бар оюнчунун байланыш каражаты катары өз ара аракеттенүү идеясына негизделгенбиз. Ошондуктан биз жарактуу жана функционалдык кодду гана түзбөстөн, оюнчунун программа менен кантип иштээрин түшүнүү зарылдыгын көрүп турабыз. Эмне үчүн, программаны баштоодон мурун, биз эмне кылуу керектигин жана ар бир кырдаалда эмне болорун билүү үчүн агымдын диаграммасын жүргүзөбүз.

Биздин негизги идеябыз, колдонуучу тактага тийгенде, башкача айтканда, колдонуучу эки колун тактанын үстүндө кармап, суроо бергенде, ouija көрсөткүчү жооп катары Ооба же Жок көздөй жылат. Код үчүн биз колдонгубуз келген мотордун иштөө диапазондорун программалаш керек болчу, анткени тактада Ооба жана Жок каршы болгон (ар бир тарапта). Ошондой эле, биз жооптор кокусунан болушун кааладык, андыктан мурунку изилдөө артта калып, ошол параметрлерди орнотууга туура келди.

1 -кадам: МАТЕРИАЛДАР

МАТЕРИАЛДАР
МАТЕРИАЛДАР
МАТЕРИАЛДАР
МАТЕРИАЛДАР
МАТЕРИАЛДАР
МАТЕРИАЛДАР

Бул долбоорду ишке ашыруу үчүн биз төмөнкүдөй ар кандай электр компоненттерин, шаймандарды жана материалдарды колдондук:

1. Elegoo uno R3. Controller Board

2. Breadboard Jumper Wires жана Female - to - эркек Dupont Wire

3. басым/күч сенсор

4. Protoboard

5. Серво мотору

6. USB кабели

7. Лазердик кесүүчү машина

8. Магниттер

9. Жыгач

Коробканы куруу үчүн төрт миллиметрлик жыгачты колдондук. Профсоюздар үчүн магниттер жана кеңейтилген porexpand.

2 -кадам: TinkerCad схемасы

TinkerCad схемасы
TinkerCad схемасы
TinkerCad схемасы
TinkerCad схемасы

Бул жерде биздин кодду окшоштурган TinkerCad схемабыз бар.

Бүтүндөй мамиледен кийин, биз күч/басым сенсорун сатып алып, аны менен эксперимент жасай баштадык. Сенсор абдан жөнөкөй компонент жана туташтыруу оңой. Бул кантип иштээрин түшүнүү үчүн, анын туура иштээрин текшерип көрүүнү сунуштайбыз, андыктан аны кантип туташтыруу керектигин жана колдонулган кодду көрсөтөбүз: күч сенсорунун сүрөтү.

Бул компоненттин түшүнүгүнөн, сенсор көрсөткүчтүн жолун баштоо жана аяктоо үчүн ачкыч болуп кызмат кылат деген жыйынтыкка келебиз. Ошентип, биз "эгерде" жана "башкада" тартып, колдонулган күчтү жөнгө салууну үйрөнөбүз. Андан кийин, биз керек болгон мотордун түрүн аныктайбыз. Ouija тактасын ар кандай жолдор менен көзөмөлдөсө болот, мисалы, тепкич мотору менен, биз серво моторун колдонобуз, анткени биз аны карап чыгууга туура келген кадамдар менен иштөөнүн ордуна, иштин бурчун чектегибиз келет.

Кысым сенсорун түшүнгөндүктөн, биз servo мотору бурчка (Ооба позициясы) жылат деп аныктайбыз, 10 менен 800дүн ортосунда күч болгондо 800дөн чоң жана баштапкы абалына кайтат, биз үчүн 0 позиция (же 90º бурч) тактада эч кандай басым болбогондо. Бул күч 10дон азыраак болгондо, бул бирдиктердин баары сенсордун жайгаштырылган жерине жана канчалык өз ара аракеттенүүнү каалашыңызга жараша өзгөрүшү мүмкүн.

3 -кадам: Flow диаграммасы жана коду

Flow Flow диаграммасы жана коду
Flow Flow диаграммасы жана коду
Flow Flow диаграммасы жана коду
Flow Flow диаграммасы жана коду
Flow Flow диаграммасы жана коду
Flow Flow диаграммасы жана коду

#кошуу

int servoPin = 8;

float servoPosition;

float startPosition;

Servo myServo;

long randNum;

int i = 0;

int PressurePin = A1;

int fuerza;

жараксыз орнотуу () {

// орнотуу кодуңузду бул жерге коюңуз, бир жолу иштетүү үчүн:

Serial.begin (9600);

myServo.attach (servoPin);

}

void loop () {

// бир нече жолу иштетүү үчүн, негизги кодуңузду бул жерге коюңуз

fuerza = analogRead (PressurePin);

if (fuerza> 10) {

i ++;

кечиктирүү (100);

if (fuerza <800) {

кечиктирүү (100);

servoPosition = servoPosition + i;

} if if (fuerza> 800) {

кечиктирүү (100);

servoPosition = servoPosition - i;

}

} if if (fuerza <10) {

i = 0;

servoPosition = 90;

}

Serial.println (servoPosition);

myServo.write (servoPosition);

}

4 -кадам: OUIJA КАНТИП КУРУЛАТ?

OUIJA КАНТИП КУРУЛАТ?
OUIJA КАНТИП КУРУЛАТ?
OUIJA КАНТИП КУРУЛАТ?
OUIJA КАНТИП КУРУЛАТ?
OUIJA КАНТИП КУРУЛАТ?
OUIJA КАНТИП КУРУЛАТ?

Биринчиден, биз бардык Arduino компоненттери турган кутунун чараларын белгиледик. Solidworks программасынан 300 мм 200 мм, бийиктиги 30 мм болгон базаны түздүк. Биз калыңдыгы 4 мм болгон жыгачты колдондук. Пландарды тиешелүү программага өткөрүп бергенден кийин, жыгачты лазердик машина менен кесебиз.

Ouija тактасы дагы бир окуя болду. Адегенде биз аны жыгачка чегип түшүрүү үчүн тактайлардын сүрөтүн же векторлоштурулган иллюстрациясын издешибиз керек болчу. Курсорго да ушундай кылдык. Бизде бардык негизги компоненттер болгондо, биз электрониканы киргизе баштадык. Биз сервомоторду кутунун ортосуна, Arduino жана протобоартты бир жагына (өзгөчө сол жакта) жайгаштырдык жана акыры басым сенсорун кайда коюуну чечтик. Биз оң жагына кеңейтилген порекспан базасын жана анын үстүнө сенсорду койдук.

Колдонуучунун колдорунун абалын эске алуу менен, үстүнө биз дагы порешпанды коебуз, ошондо колдонуучу колдорун койгондо, өз ара аракеттенүү ишке ашат. Үстүнкү капкактын жана кутунун биригишине келсек, биз тыгын конструкциялары кармап турган кичинекей магниттерди колдонобуз.

Серво кыймылдаткычы үчүн биз эки спикерден метакрилат колун ойлоп таптык: мини-сервомотор жана магнит бөлүгү, серводо көп убакытты жаратпоо үчүн. Бул бөлүк башка материалдардан жасалышы мүмкүн жана биз Superglue колдонгон сервопривод менен кошулуу үчүн, биз ысык силикон же ыңгайлаштырылган бураманы сунуштайбыз. Курсордун астына магнит тартылат, ал сервонун магнитине тартылат, ошентип кыймылды мүмкүн кылат.

5 -кадам: Жыйынтык

Жыйынтык
Жыйынтык

Иш аяктагандан кийин, биз аны ишке ашыруу үчүн ээрчиген методологиябызды эки бөлүккө бөлүүгө болорун аныктай алабыз. Бир жагынан алганда, иш биз эмнени каалаганыбызды талдоодон, саякатындагы маалыматты түшүнүүдөн жана блок -схемага которуудан турат. Бул анализ бизге коддун структурасын түзүүгө жардам берди. Блок -схеманын аркасында биз ар бир кадамдын маанилүүлүгүн түшүндүк жана бул бизге долбоордун экинчи бөлүгүн иштеп чыгууга мүмкүнчүлүк берет.

Практикалык бөлүккө келсек, бул линиялык эволюция эмес, сыноо жана жаңылуу процесси болгон. Ар бир компоненттин функциясын түшүнүү бизге аны Ouija тактасына колдонууда жардам берди, анткени кыймыл жаратуунун жана өз ара аракеттенүүнүн көптөгөн жолдору бар. Биз ар кандай тоскоолдуктар менен күрөшкөнүбүз менен сыймыктанабыз, мисалы, servo мотордогу бурчтарды чектөө же аналогдук жана электрондук элементтердин түйүнүн чечүү жолу. Arduino тарабынан сунушталган ар кандай варианттар кызыктуу, бул биздин идеяларыбызды жана сунуштарыбызды иштеп чыгууга жана ишке ашырууга мүмкүндүк берет. Биз боорукер түрдө интерактивдүү продукттарды түзүү канчалык оңой экенин түшүнөбүз.

Сунушталууда: