সুচিপত্র:

Obniz সঙ্গে গ্রাফিকাল রুলেট: 5 ধাপ
Obniz সঙ্গে গ্রাফিকাল রুলেট: 5 ধাপ

ভিডিও: Obniz সঙ্গে গ্রাফিকাল রুলেট: 5 ধাপ

ভিডিও: Obniz সঙ্গে গ্রাফিকাল রুলেট: 5 ধাপ
ভিডিও: 【たった40秒】🐸腹筋100回分❗️下腹も全身も痩せるフロッグハンドレット 2024, নভেম্বর
Anonim
Image
Image

আমি একটি গ্রাফিকাল রুলেট তৈরি করেছি। আপনি যদি বোতাম টিপেন, রুলেট ঘুরতে শুরু করে। আপনি যদি আবার টিপেন, রুলেট ঘোরানো বন্ধ করে এবং বীপ বাজায়!

ধাপ 1: সার্কিট

রুলেট ইমেজ ঘোরান
রুলেট ইমেজ ঘোরান

আমরা কেবল একটি তারযুক্ত স্পিকার এবং একটি বোতাম ব্যবহার করি।

প্রোগ্রামে তারের পিন নম্বর লেখা আছে।

button = obniz.wired ("Button", {signal: 6, gnd: 7}); স্পিকার = obniz.wired ("স্পিকার", {signal: 0, gnd: 1});

ধাপ 2: রুলেট ইমেজ ঘোরান

এইচটিএমএলে, আপনি "সিএসএস ট্রান্সফর্ম" ব্যবহার করতে পারেন। উদাহরণস্বরূপ, এটি 90 ডিগ্রী ঘোরানো চিত্রের কোড।

document.getElementById ("রুলেট")। style = "transform: rotate (90deg);";

আস্তে আস্তে ঘোরানো শুরু এবং বন্ধ করার জন্য, প্রতি ফ্রেম ঘোরানোর ডিগ্রির জন্য একটি var গতি যোগ করুন।

যাক গতি = 0; যাক deg = 0; ফাংশন ঘোরান () {ডিগ্রি = = গতি; document.getElementById ("রুলেট")। style = "transform: rotate ("+deg+"deg);";

}

setInterval (ঘোরান, 10);

ধাপ 3: বিপ

আপনি কোন পরিবর্তন রুলেট উপর বীপ করতে চান? এর সাহায্যে আপনি 440Hz 10ms এ বীপ করতে পারেন।

স্পিকার প্লে (440); অপেক্ষা করুন obniz.wait (10); স্পিকার স্টপ ();

এইভাবে রুলেট নং পরিবর্তন সম্পর্কে জানতে হবে।

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

সুতরাং, এটি ঘোরানো এবং বিপ এর কোড।

যাক গতি = 0; যাক deg = 0; ফাংশন রোটেট () {// পরিবর্তন মানের উপর যদি } ডিগ্রি += গতি; document.getElementById ("রুলেট")। style = "transform: rotate ("+deg+"deg);";

}

setInterval (ঘোরান, 10);

async ফাংশন onRouletteChange () {

যদি (! স্পিকার) {return;} speaker.play (440); অপেক্ষা করুন obniz.wait (10); স্পিকার স্টপ (); }

ধাপ 4: বোতাম পুশ করা শুরু করুন।

বোতামের অবস্থা জানতে, var buttonState যোগ করুন এবং বর্তমান বোতামের অবস্থা নির্ধারণ করুন।

button.onchange = function (চাপা) {buttonState = pressed; };

এবং roulette.phase এর বর্তমান অবস্থার জন্য 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 = PHASE_ROTATE; }}

রুলেটের গতি বাড়ানোর জন্য, var গতি পরিবর্তন করুন।

যদি (ফেজ == PHASE_ROTATE) {গতি = গতি+0.5; }

রুলেটের গতি বাড়ানোর জন্য, var গতি পরিবর্তন করুন।

:

যদি (ফেজ == PHASE_STOPPING) {speed = speed-0.2; }

এগুলি রুলেটের উপাদান। এটা তৈরি করা যাক!

ধাপ 5: প্রোগ্রাম

প্রোগ্রামের জন্য এখানে পড়ুন

প্রস্তাবিত: