chevron_left

メインカテゴリーを選択しなおす

cancel
PASのブログ https://www.tidemark.biz/

ギター系機材を設計販売しているPASの中の人が書いています。 電子回路、マイコン、音楽紹介などを含めて自由に書く雑記ブログです。

PASの中の人
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/05/27

arrow_drop_down
  • 一旦スケッチが完成 アナマル.17

    新製品のプログラマブルスイッチャー、Four Dimensions 3はおかげさまで多くのお問い合わせをいただいております。 www.tidemark.shop 今回の企画記事を書こうと思ったのは、Four Dimensions 3が完成し、前作、Sound Treaterも好調で、今後もどんどんデジタル、アナログにかからわず、お役に立つ製品を発表したいことと同時に、デジタル開発という敷居の高さを軽減して、自作を盛り上げたいという思いがあるためです。 www.tidemark.shop …宣伝はこれくらいにしまして、スケッチが完成し、数日動作確認して、今のところバグもなくなった感じですので、公…

  • セーブ機能を作る アナマル.16

    多分ですが次回でスケッチ編の最終回です。 隅から隅まで、ややこしいことを極力省き書くのは大変自分の勉強になりました。 ここまで書いてお気づきの方も多いかと思いますが、このシリーズは全く前準備なく、書きながらソースを書くという無謀なことをしてます。 GPIO処理がほとんどなので可能なんですが、今後別のシリーズをやるとしたら(読者さんも自分自身も)かなり力がつく気がします。 では前回の続きです。 BANK_DATA [ ] に保存する(揮発) EEPROMに保存する(不揮発) インクルードする for文 EEPROM.update(i, BANK_DATA[i]); BANK_DATA[i] = …

  • PRGset()の中身を書く アナマル.15

    気づけば第15回ですね。。Arduinoを触ったこともない状態でスタートしましたが、いきあたりばったりながら順調に進んでいるので安心しています。 仕事でプログラムするときは、予め仕様をがっちり固めて書くので、無駄も少ないし、可読性は気にしないんですが、皆さんに読んでもらうという前提で書くとなると可読性第一で書いています。 ムダや重複も多いと思いますが、興味を持たれたとしたら各自で精査してみてください。 数回スイッチャーのプログラムを書いた経験がありますが、プログラムセットモードが最も複雑と言いますか面倒な部分なのです。 ですので、わかりやすく書くために、ある程度分解してお送りしようと思います。…

  • スイッチの長押し判定 アナマル.14

    予告と毎回やることが違いますが、今回はいよいよプログラミング編最後の「プログラムを記憶させる」部分をスタートします。 基板は完成しましたが、スイッチは配線で接続するのでケースに組み込む段階で発表しようと思います。 プログラムモードをどう表示するかを検討する。 スイッチの長押しの仕組み。 現在の短押しの仕組みのおさらい。 長押しの仕組みを考える。 長押ししてPRGset関数へ飛ぶ。 PRGset関数からメインループに戻る。 プログラムモードをどう表示するかを検討する。 当初から考えていたのは、LCD1602を使うことでした。 しかし、未定義の表示は「プログラムセットモードかそうで無いか」だけなの…

  • MANとPRGの切り替え追加 アナマル.13

    基板が届きました。明日にでも実装などについて書きますね。 今日はマニュアル(MAN)モードとプログラム(PRG)モードの切り替えを追加します。 切り替えの方法について 切り替えの方法について 既に、モードを示す変数はmodeとして実装済みですので、スイッチにてその変数を切り替えてあげるだけで、切り替え機能の追加は完了です。 特段新しい文法もありませんので、スケッチを示します。 スケッチの全文。クリックで展開 //sw5 //モード切り替えスイッチを実装 const int SW[4] = {A0, A1, A2, A3};//chのスイッチ const int SW4 = A4;//man/p…

  • switch文とビットシフト アナマル.12

    さて、今日はprg_process(int num)の中身を作ります。 それにあたっては、C言語の文法を2つ、switch文と、ビットシフトを学んだほうが楽かと思いますので、ご紹介します。 いきなり完成したソースを紹介 switch文の使い方 ビットシフト 論理積 AND(&) いきなり完成したソースを紹介 追加分のみ掲載 int BANK_DATA[4] = {0x1, 0x3, 0x7, 0xf}; void setup() { pinMode(LED[0], OUTPUT); pinMode(LED[1], OUTPUT); pinMode(LED[2], OUTPUT); pinMod…

  • アナマル.11 第2部スタート。PRGモードを追加編

    小休止を取りまして、マニュアルモードだけではなくて、プログラムモードを追加してほしいという声がありましたので、第2部を本日よりスタート致します。 アナマル.1から10までで理解できていない部分があれば、復習をおすすめします。 全体の構造 モードを移行する方法を検討する。 マニュアルモードとプログラムモードを切り替える部分を作る。 問題はcountにあった。 modeについて 全体の構造 プログラムモードを追加するということは、プログラムが出来るモードも追加するということになるのでイメージとしてはこんな感じです。 モード移行のイメージ 構造を事前に考えて各所を作っていくやり方が望ましいので、流れ…

  • アナマル.10 これからの分を構想する。

    今日は一日基板を設計していました。 というのも、Arduinoって互換機も含めて、センタープラスばっかりなんですよね。 楽器系の人はセンターマイナスのアダプターが主流ですから、ここはセンターマイナスで書こうと思いまして。 1,500円くらいで販売できそうです。名付けてTiduino(たいでゅいーの)。 ご予約承ります。動作確認したら販売開始します。 さてさて、本日は、今後の拡張について検討します。 学ぶことはあまりないかもですね。。。 限られたスペック。 プログラムセットモードと、プログラムモードの仕様を考える。 限られたスペック。 Arduinoのデジタル出力は14本です。いま4つと、プログ…

  • アナマル.9 カウントアップとデバッグ

    配信ライブが多いですね。 色んなジャンルを聞きますが、僕はサンボマスターに元気づけられます。 これを書いてる今も号泣しながら書いてます(笑) 前回辺りからだんだんとややこしくなってきたのですが、理解が深まると楽しくなっきます。頑張りましょう^^ さて、前回のコードの説明の続きです。 カウントアップ 4回に1回関数を呼び出す。 シリアルモニタを使ったデバッグ 他にどんな事ができるの? カウントアップ 前回未解説だったコードがこちら。 void loop() { a = count % 4; sw(a); count = count + 1; Serial.println(a,DEC); } co…

  • アナマル.8 4chにしてみた。

    みなさんこんにちは。 出来る限り平易に書こうとしていますが、平易すぎてペースが遅くありませんか? コメント等お待ちしております。 アナマル.6にて、スイッチが正しく反応するようになりましたので、4ch化していきます。 早速コードを書く。 配列とは 関数とは 続きは次回 早速コードを書く。 前回までに作ったコードを並列に並べれば、4ch化は容易に行なえます。 まずはその方法で書いていきましょう。 ちなみに、今回実験用として使うのはこれです。 4chバージョンの実験ボード まず、前回と同じように1chで、かつ、負論理になるように書き換えます。 //SW3 //sw2の負論理版 const int …

  • アナマル.7←環境依存文字やめました。 回路を書いてみた。

    今日は一日がかりで回路を書いてみました。 せっかくArduinoUNOを使っているのでシールド(Arduinoの拡張基板)形式にしましたが、リレーの高さが有るので、一旦ここでストップしてプロクラムの方を進めようと思います。 暫定ですが基板はこんな感じ。 回路はこんな感じ。 暫定ですが基板はこんな感じ。 Arduino UNOに重ねるようなイメージです。 なのでケースの高さが足りない場合は使いにくいので、もう少し検討します。 表面実装を使っていないリレーシールド どちらにせよリレーやLEDの数が多くてかさばるので、縦に重ねるか、横に広げるかという選択になってしまいます。 こちらの基板はチェックが…

  • アナマル⑥ リレーを使おう

    さて、前回までの記事にて、1つのモーメンタリスイッチで、1つのLEDを点灯、消灯させるスケッチが出来ました。 ではハードの説明に移ります! リレーの使い方 リレードライブ回路 リレーの使い方 前回までに簡単にリレーの使い方を紹介しましたが、今回は詳しく書きます。 リレーを下から見るとこういうピンアサインになっています。 1と16番ピンがコイル(電磁石)で、4.6.8と13.11.9がスイッチです。 4.6.8で説明すると、コイルに電圧をかけていないときは6と4が繋がり、電圧をかけると4と8が繋がります。 ※こちらの記事でご紹介したアサインが間違っておりましたのでご確認お願いします。元記事は既に…

  • アナマル⑤ スイッチを使おう③

    さて前回は、スイッチのオルタネート動作にチャレンジしました。 でもうまく行ったり行かなかったりしていますね。。。 まずはここの原因を探りつつ、オルタネート動作を完成させていきます。 なぜうまく動かないのか。 プログラムはループしている。 前回の状態を保存してチャレンジ チャタリングとはなにか 完成 なぜうまく動かないのか。 プログラムはループしている。 一部抜粋して載せます。 void loop() { if(!digitalRead(SW1))//もしSW1がHIGHではないなら { state = 1 - state; } if(state == 1) { digitalWrite(LED…

  • アナマル④ スイッチを使おう②

    全く知識ゼロの方が対象ですので、かんたんに基礎から説明しています。 なので全然進まないですが、モチベーションを維持して完成まで持っていきます。 では前回の続き。 void setup() の中身 INPUT_PULLUPとは void loop()の中身 digitalRead if、elseの使い方 では次にオルタネート動作をさせたい。 状態を保存してオルタネイトにチャレンジ =の使い方 書き込んで動かそう const int SW1 = A4; void setup() { pinMode(LED_BUILTIN, OUTPUT); //LEDはとりあえず基板上のものを設定。 pinMod…

  • アナマル③ スイッチを使おう

    前回のラストではプログラムを日本語訳するという丁寧さで進めたこの連載。 流石にあのペースでやりますと半年くらいかかる気がするので、徐々に簡潔にしていく予定です。 さて、今日はスイッチを使います。 スイッチはモーメンタリを使います。 スイッチを使ってLEDを点灯させる。 データ型 bitとbite 2進数(と16進数) intとunsigned int const スイッチはモーメンタリを使います。 スイッチはモーメンタリを使います。 ・モーメンタリ→押している間だけON (状態を保存しない) ・オルタネイト→押すとON、再度押すとOFF (状態を保存する) このような違いがあります。 エフェク…

  • アナログマルチエフェクターを作ろう②→アナマル②

    アナログマルチエフェクターを作ろう、は長いのでアナマルにします。 前回は、ArduinoIDEのインストールからLチカまでやりました。 実はこれで、スイッチを制御するという目的の何割かは終わっています。 なので今日はそのあたりから解説していきます。 そもそもマイコンでスイッチャーを作るってどういうこと? スイッチの使い方 マイコンではリレーを使う。 マイコンには何をさせるの? どこから始めるの? 前回のスケッチ"Blink"の解説 そもそもマイコンでスイッチャーを作るってどういうこと? 何をするのか目的がはっきりしないと説明が頭に入ってこないと思いますので、まずは、そのあたりを説明します。 ス…

  • 【新企画】アナログマルチエフェクターを作ろう①

    コロナ自粛で自宅での時間が長く取れるようになりましたね。 いかがお過ごしでしょうか? Twitterでは、新しい取り組みが始まりました。自作エフェクター部。 \一緒にエフェクターを作りませんか?/エフェクター自作派の皆さまが集まってワイワイと話ができる、ゆる〜い部活のようなコミュニティ「ECB自作エフェクター部」を開始いたします。『新規部員大募集!ECB自作エフェクター部』入部届けの受付を開始いたしました!👉https://t.co/MV0ESlswu4 pic.twitter.com/Xj6AIJ89gD— EFFECTOR COLLECTION BOX (@effectorbox) 202…

arrow_drop_down

ブログリーダー」を活用して、PASの中の人さんをフォローしませんか?

ハンドル名
PASの中の人さん
ブログタイトル
PASのブログ
フォロー
PASのブログ

にほんブログ村 カテゴリー一覧

商用