Агуулгын хүснэгт:

Obniz -тэй график рулет: 5 алхам
Obniz -тэй график рулет: 5 алхам

Видео: Obniz -тэй график рулет: 5 алхам

Видео: Obniz -тэй график рулет: 5 алхам
Видео: [obniz 公式サンプル] DEMO: obnizOS for ESP32 [ M5Stack ] 2024, Долдугаар сарын
Anonim
Image
Image

Би график рулет хийсэн. Хэрэв та товчлуурыг дарвал рулет эргэлдэж эхэлнэ. Хэрэв та дахин дарвал рулет эргэхээ больж, дуугарна!

Алхам 1: Хэлхээ

Рулет дүрсийг эргүүлэх
Рулет дүрсийг эргүүлэх

Бид зөвхөн утастай чанга яригч, товчлуурыг ашигладаг.

Утасны зүү дугаарыг програм дээр бичсэн болно.

button = obniz.wired ("Товчлуур", {дохио: 6, gnd: 7}); чанга яригч = obniz.wired ("Илтгэгч", {дохио: 0, gnd: 1});

Алхам 2: Рулет дүрсийг эргүүлэх

HTML дээр та "CSS хувиргах" -ыг ашиглаж болно. Жишээлбэл, энэ бол дүрсийг 90 градус эргүүлэх код юм.

document.getElementById ("рулет"). style = "хувиргах: эргүүлэх (90 градус);";

Аажмаар эргүүлэх ажлыг эхлүүлэх, зогсоохын тулд хүрээ бүрт эргүүлэх градусын var хурдыг нэмнэ үү.

зөвшөөрөх хурд = 0; deg = 0 болгоё; эргүүлэх функц () {deg += хурд; document.getElementById ("рулет"). style = "хувиргах: эргүүлэх ("+deg+"deg);";

}

setInterval (эргүүлэх, 10);

Алхам 3: Дуут дохио

Та рулет дээр ямар ч өөрчлөлт оруулахгүй байхыг хүсч байна уу? Үүний тусламжтайгаар та 440Hz 10ms дээр дуугарах боломжтой.

чанга яригч. тоглох (440); хүлээх obniz.wait (10); чанга яригч.stop ();

Рулетын дугаарын өөрчлөлтийг хэрхэн яаж мэдэх вэ.

if (Math.floor ((deg + speed) / (360 / 7.0)) - Math.floor (deg / (360 / 7.0))> = 1) {onRouletteChange (); }

Тиймээс энэ бол эргүүлэх, дуугарах код юм.

зөвшөөрөх хурд = 0; deg = 0 болгоё; функцийг эргүүлэх () {// хэрэв утгыг өөрчлөх бол (Math.floor ((deg + хурд) /(360 /7.0)) - Math.floor (deg /(360 /7.0))> = 1) {onRouletteChange (); } deg += хурд; document.getElementById ("рулет"). style = "хувиргах: эргүүлэх ("+deg+"deg);";

}

setInterval (эргүүлэх, 10);

async функц onRouletteChange () {

if (! спикер) {буцах;} чанга яригч.play (440); хүлээх obniz.wait (10); чанга яригч.stop (); }

Алхам 4: Товчлогдсон товчлуураас эхэлнэ үү

Товчлуурын төлөвийг мэдэхийн тулд var buttonState нэмж, одоогийн товчлуурын төлөвийг тохируулна уу.

button.onchange = функц (дарагдсан) {buttonState = дарагдсан; };

Мөн rulet -ийн одоогийн төлөвт var фазыг нэмж оруулаарай. Үүний нэгийг нь тохируулсан болно.

const PHASE_WAIT_FOR_START = 0; const PHASE_ROTATE = 1; const PHASE_STOPPING = 2; const PHASE_STOPPED = 3;

Жишээлбэл, үе шат бол PHASE_WAIT_FOR_START бөгөөд та дараагийн үе шатанд орохыг хүсч байна.

хэрэв (үе шат == PHASE_WAIT_FOR_START) {хурд = 0; хэрэв (buttonState) {үе шат = PHASE_ROTATE; }}

Рулетийг хурдасгахын тулд var speed -ийг өөрчилнө үү.

хэрэв (үе шат == PHASE_ROTATE) {хурд = хурд+0.5; }

Рулеттийг хурдасгахын тулд var speed -ийг өөрчилнө үү.

:

хэрэв (үе шат == PHASE_STOPPING) {хурд = хурд-0.2; }

Эдгээр нь рулетын бүрэлдэхүүн хэсэг юм. Амжуулцгаая!

Алхам 5: Хөтөлбөр

Хөтөлбөрийг эндээс үзнэ үү

Зөвлөмж болгож буй: