|ω・`)ノ ヤァ リンクを取得 Facebook × Pinterest メール 他のアプリ 1月 27, 2021 今まで自宅サーバーでやってきたブログがプロバイダのサービス変更かなんかのせいで公開できなくなったのでこっちに移動することにしました。覚書とか書いてあるけどそれ以外にも書いていくかもしれんがよろしく。 リンクを取得 Facebook × Pinterest メール 他のアプリ コメント
ダイソー テープライト リモコン付 分解 1月 18, 2025 ダイソーで血迷って買ったリモコン付きRGB LEDテープを分解した。 分解前に動作確認 リモコンで色の変更ができる。 とりあえず、RGBそれぞれ単体で光らせてみる。 これ以外に黄色やピンク、オレンジもあったがRGBの入り切りで混ぜて出していると思うので割愛。 後ほど出力ピンの電圧を測定して確認してみる。 このほかにスラッシュやフェードなど発光色の切り替え演出が備えてあった。 簡単に動作は確認したので分解してみる。 ご存じの通り自己責任で ちゃんと箱にも分解や改造するなと書いてあったので人間の皆さんは控えましょう。 本格的な分解の前に外見を確認していく。 画像上部がLEDテープ本体、画像下部がLEDテープの制御基板となっている。 LEDテープの裏には両面テープが貼られている。粘着力の具合はわからないが、触った感じでは逆さに貼ったら一週間以内に剝がれそうな両面テープ。 ケーブルは青、赤、緑、黒の4本がコネクタとLEDテープに接続されている。LEDテープと配線の接合部は熱収縮チューブでカバーされている。 配線の黒は5V+で電源の配線である。GNDではないので注意。 青、赤、緑の配線をGNDに接続することで、色に応じて発光する。 これは、 [1] で示されている抵抗省略の回路図の通りである。後ほどLEDテープの回路図を示す。 チップ抵抗はRGBそれぞれに対して接続されていると考えられる。121と表示されている120Ωのチップ抵抗が2個と、330と表示されている330Ωのチップ抵抗が1個実装されている。 LEDテープを切断し、表面の樹脂を除去した物が左画像、両面テープを除去した裏側が右画像である。 具体的な配線と部品の位置は下画像である。 回路図は以下のようになっている。 ... 続きを読む
C++ round関数を使わずに小数第n位の四捨五入をする 5月 06, 2021 C++でround関数を使わずに小数第n位の四捨五入を行う サンプルプログラム1 #include <iostream> #include <cmath> using namespace std; double round(double x, double n); //プロトタイプ宣言 int main() { //round(数値, 小数位); cout = 5){ //1の位の余りが5以上の場合 temp = temp + (10 - temp%10); //10から1の位の余りを引いて、値に足す return (double)temp * pow(10.0, -n); //計算結果を返す }else{ //1の位の余りが5未満の場合 temp = temp - temp%10; //1の位の余りを引く return (double)temp * pow(10.0, -n); //計算結果を返す } } サンプルプログラム1では関数を自作して処理を行っている。 そのため、主に解説していくのは下に記述されている自作round関数である。 動作原理は簡単で、四捨五入をしたい桁数を指定したらその分、10 n 倍して、1の位の余りを求める。 その余りが5以上か未満かで判別して、余り分を引くか「10―余り分」を足すかを決めている。 そして、値を逆に10 -n 倍して返している。 ちなみに、10 n 倍している理由は%を使用して余りを求めるためである。 浮動小数点は%を使用して余りを求めることができないからである。 cmathがインクルードされているためfmod関数を使用することができるが、このプログラムを作成した時の気分で使わなかった。 数式は以下に示す。 $temp=x10^{n}$ $temp \mod 10 \geqq 5$ の場合 $ans = temp + \{10 - (temp \mod 10)\}\times10^{-n}$ $temp \mod 10 \lt 5$ の場合 $ans = \{temp - (temp \mod 10)\}\times10^{-n}$ ほかにもっといいアルゴリズム... 続きを読む
Unity ADX2LE 演出付きでBGMを再生する CriAtomExPlayer 9月 05, 2021 UnityでADX2LEを用いた演出付きBGM再生 サウンドミドルウェアのADX2LEを用いたBGM再生についてまとめてみた。 ※自己流のため参考程度にお願いします。 サンプルプログラム1 using CriWare; using System.Collections; using UnityEngine; using UnityEngine.UI; public class SoundSample : MonoBehaviour { public CriAtomSource criAtomSource; public string bgmCueSheet = "BGM"; public string[] bgmCueNames = new string[] { "BGM1", "BGM2", "BGM3", "BGM4", "BGM5" }; //キューシート「BGM」に入っているキューの名前一覧 private CriAtomExPlayer exPlayer, exPlayer2; private CriAtomExAcb atomExAcb; int num = 0; private IEnumerator Start(){ /* キューシートファイルのロード待ち */ yield return new WaitUntil(() => !CriAtom.CueSheetsAreLoading); atomExAcb = CriAtom.GetAcb("BGM"); //BGMの入ったACBファイルを拾う //クロスフェードPlayer exPlayer = new CriAtomExPlayer(); //プレイヤーの生成 exPlayer.SetCue(atomExAcb, bgmCueNames[0]); //プレイヤーにキューをセットする exPlayer.Loop(true); //プレイヤーにループを設定する ... 続きを読む
コメント
コメントを投稿