てつふくハードウェア日記てつふくのハードウェア日記スマートフォン用の表示で見るてつふくハードウェア日記HW設計に復帰する日を胸に、FPGA・VHDL・基板回路のことを書いていきます。立派な測定機とか、高価なライセンスとかは登場しません。転送用のコード最後にはてなブログからWordPressへ少し前からブログの引っ越しをしています。URLの転送に関してメモを残します。はてなブログからWordPressへの移行に関しては、皆さま同じ悩みを乗り越えていっているようで。下記サイトをはじめ、いろいろと参考にさせていただいています。僕もヘッダに転送用のスクリプトを仕込んでブログ全体を転送しようと思っていたのですが方針を変えました。記事ごとに別々のページに転送をかけることにしました。結局のところ移転先では手作業で画像などを修正しているので、作業が終わった記事から順にはてな側に個別の転送スクリプトを貼り付けていっています。個別記事の転送方法こちらのサイトをすごく参考にさせていただいています。www.cucumberking.comサイトに書かれているように「entry」という文字列がポイントのようです。「はてなブログ」では個別の記事ではURLに「entry」という文字列が含まれます。これを利用して下記のスクリプトのように正規表現にマッチングさせて個別の記事でのみ実行されるようにすれば良いそうです。転送用のコードということで、以下のコードをマークダウンまたはHTML編集モードで記事の先頭に貼り付けています。次のページには以下のコードが書かれています。1.1rem;"><p>本記事は移転しました。</p><p>約10秒後にリダイレクトします。href="https://tetsufuku-blog.com/resistance-value-step/">ここ</a>をクリックしてください。}--></script>最後に引き続き移行作業をしています。こちらも残しておきますが、新サイトにもぜひお越しください。22:02はてなブログの個別記事を転送Tweet広告を非表示にするもっと読むコメントを書く2019-09-26ブログ引っ越し中ですWordPress本記事は移転しました。約10秒後にリダイレクトします。リダイレクトしない場合はここをクリックしてください。最近新しい記事を書けていなくてすいません。それでも見に来ていただいていて本当にありがとうございます。感じていること参考にさせていただいた記事ブログ引っ越し今、WordPressにブログの引っ越しをしています。tetsufuku-blog.comまだ非公開にしていたり画像がうまく見えていないところもありますが、頑張って進めていきます。見にくいところが多々あって申し訳ありませんが、温かく見守っていただけると幸いです。記事の移動パーマリンクを投稿名にしたかったのではてなブログのエクスポートは使いませんでした。その代わりに、はてなブログを書き始めたときからマークダウンのテキストを別途保存していました。これを使ってWordPressに記事を投稿していきました。50記事くらいありましたが、流れ作業的にペタペタ貼り付けていたら終わっていました。画像の移動はてなブログに掲載している画像は、はてなフォトライフに保存されています。僕はブログ記事と同じように投稿画像をローカルで投稿ごとに分けていました。そのWordPressの記事に順番に画像を挿入していっている途中です。アイキャッチも同じです。ソースコードの移動VHDLやArduinoのソースコードを貼り付けている記事もあります。はてなブログではシンタックスハイライトが楽ちんだったんですが、WordPressへはそのままきれいに移行できません。WordPressにプラグインを入れると対応できるとうのもわかったのですが、できるだけプラグインを少なくしたいので、プラグインは導入しませんでした。ソースコードはGitHubのGistを使って掲載しています。前項の移転作業は避けて通れないので黙々と作業を進めました。作業を進める中で気になりだしたのが、過去に書いた記事の文章が読みにくいこと。構成がよくわからない見出しがなく、ダラダラ書いているリストが周りの文章に埋もれていて、大事なところがわからない結論がないなどいろいろあります。目に余るところは修正しながら記事を公開していっています。カスタマイズWordPressの見た目のカスタマイズもやっています。気になるところをWebで調べて触っています。フォントを変えたりリストを囲ったりブログの引っ越しが落ち着いた時点で振り返りたいと思います。転送方法の検討はてなブログからの転送をどうしようかと考えています。移行に関しては経験者のブログなどを参考にさせていただいていますが、パーマリンクの構造をガラッと変えている事例を見つけられていません。JavaScriptで転送することになるんですが、ほとんど知識がないです。元のアドレスで場合分けして、新しいアドレスにジャンプするぐらいしか今ある知識では出てきません。感じていること数ヶ月前に書いた文章がすごく読みにくい。いって、数ヶ月でライティング力が向上したとは思えないですけど。良くない記事に気付ける視点が身に付いたことは間違いないと思います。これからもブログ先輩の皆さまの記事に勇気をもらいながら続けていこうと思います。ライティング力強化と長期継続とTwitterを上手に使えることが目標です。06:35ブログ引っ越し中ですTweet広告を非表示にするもっと読むコメントを書く2019-09-19WordPress記事の自作目次のHTMLとCSSWordPress本記事は移転しました。約10秒後にリダイレクトします。リダイレクトしない場合はここをクリックしてください。WordPress初心者の僕ですが試行錯誤しながらはてなブログから移行作業中です。そのなかで記事ごとの目次を作りたくていろいろ調べて、どうにか形になりました。プラグインを使うと遅くなるというアドバイスも多くありますし、できるところは自作しようというスタンスです。僕と同じ初心者で目次をどうしようかと思っている人の参考になればうれしいです。(そして自分用のメモでもあります。隠すH3とH4は字下げするタイトル「目次」を装飾する枠を装飾する実際のWordPressポスト【参考】WordPressの目次プラグイン目次のテキストと動作を設定コードエディタで記事を編集HTMLタグを使って目次を書くので、WordPressのエディタはコードエディタを使います。投稿画面の右上[...]が縦に向いているボタンから、コードエディタを選択します。目次を置きたい場所に以下の手順でHTMLを書いていきます。h4)を使っているので、それを目次の項目にします。h4は使わないときもあるので、必要に応じて目次の項目数は考えるようにしています。今回はh2~h4を使います。各見出しの内容を1箇所に集めておきます。ピックアップリスト(箇条書き)を作成アンカーを追加リスト(箇条書き)を作成ulとliを使って先ほどの見出しをリストにします。h2から見出しの内容を書きます。見出し内容の前には数字を書いておきます(手動で)。目次のテキストと動作を設定</li></ul>次に、h3をh2の下に入れ子にします。</li></ul>同じく、h3の下にh4です。</li></ul>これでリストが作成できました。これを表示するとこのようになります。不細工ながら、形になってきました。目次のテキストをクリックしたら該当する見出しにジャンプするようにします。目次のテキストにはaタグでハイパーリンクを設定しておき、見出しにはidを付けておいてジャンプ先を区別させます。idは重複しないように機械的に決めました。先ほどのリストで先頭に付けた番号をidに使います。href="#anker1">でハイパーリンクを設定します。以下、煩雑なので説明ではh4は省略します。</li></ul>リスト側はこれでOKです。引き続いて、本文に散らばっている見出し(h2~h4)にidを設定します。h4)の開始タグにid=と書いて、リスト側と対応するidを設定します。idは重複しないように注意。id=”anker1-2”>HTMLタグ記入</h3>~~(ブログの文章)~~表示すると、リスト側はこうなっています。HTMLタグ記入(ジャンプ先が存在しないのでクリックしても何も起こりません。)見出しの見た目は変わらないので省略します。目次のタイトルを追加します。pタグで囲い、idとしてtoc_titleを設定します。CSS要素を特定するためのidです。リストの前に追記します。</li></ul>目次の領域を追加divで目次の領域をつくります。CSSで枠を付けると、この領域が囲まれます。pと同様にCSS用のidとしてsitemap_listを設定しておきます。目次をクリックしたときの動きの記述は以上で完了です。目次機能ができました。必要に応じて記事を保存したり、続きを記入しましょう。続いては、見た目を変化させるためにCSSを編集します。WordPress外観のカスタマイズCSSの記入場所は、外観のカスタマイズにある追加CSSの中です。順を追って記述していきます。消す?通常は以下の記述で消えますが、ストークの点は消えませんでした。(いきなりつまずく・・・)↓この記述は追記不要です。ストークでは効果ないです。0;}それでもネットの力、先人の知恵。同じように悩んだ人がたくさんいるらしい。素晴らしい先駆者が対策を書いてくれていました。keiichinishimura.com何が起こっているかというと、「・」を消そうそしてもテーマとの干渉かなにかで消えないんです。ストークとかハミングバードで発生するとのことです。対策としては、「・」を消すのではなく、「・」が表示されている場所のサイズをゼロにして隠してしまうというイメージです。隠す疑似要素beforeを使って「・」が見えないようにしてしまいます。0;}H3とH4は字下げするh3とh4をそれぞれ字下げして構成を見やすくします。padding-left:3em;}タイトル「目次」を装飾する「目次」という文字の左からの距離を調整します。文字の下方に横線を引いて、目次本体とタイトルを区別します。10px;}枠を装飾する最後に目次を囲む枠線を設定します。3em;}以上で完成です。実際のWordPressポスト作成中のWordPressへのリンクです。設定で運用)tetsufuku-blog.com【参考】WordPressの目次プラグインどうしても面倒くさいという方はプラグインも選択肢とは思います。M5STICK-C製作したLED拡張基板の回路の補足です。GPIOポートにかけてもいい電圧は最大3.3Vなんですけど、LEDの駆動電源に5Vを使ってるんですよね。この回路で本当に大丈夫なのか考察します。結論から言うと、仮に制限抵抗が0Ωだったとしても大丈夫です。LEDのVF(順方向電圧降下)分だけ必ず電圧が降下するから5VがGPIOピンにかかることはありません。製作したLED回路の回路図とLED周りの計算式です。GPIOの出力がLow(0V)のときにLEDが点灯、High(3.3V)のときに消灯です。(0Ω)のとき回路図を少し修正しました。アノード側(図の上側)は5Vにつながっていますので、常に5Vがかかっています。抵抗は0Ωにしています。CN1の接続相手はハイインピーダンスとして、CN1の各ピンの電圧(=LEDのカソード電圧)を求めます。計算は簡単で、5VからVF分を引き算すれば求まります。抵抗値が0なので抵抗の存在は無視。1.7表のGPIO電圧の値が制限抵抗がないと仮定した場合にGPIOの出力ピンにかかる電圧です。想定されるのははんだづけミスで短絡してたりする状況ですが大丈夫です。制限抵抗あってGPIO出力がLowLEDのVF分を引いた電圧(=電源電圧-LEDのVF)が抵抗にかかります。電圧が高すぎたり抵抗値が低すぎたりして抵抗の定格消費電力を超えない限り、GPIOピンは安定してLow(0V)を出力できます。LEDは消灯しています。LEDが点灯する条件は下記ですが、消灯時はこの条件を満たしていません。1.7この表のようにすべての色でLEDにかかる電圧がVFよりも低いのでどのLEDも点灯しません。電流について下図はこのLEDのI-V特性(電流と電圧の関係)のグラフですが、LEDにかかる電圧が低いとLEDには電流が流れないことが示されています。(LEDの一般的な特性です)このときLEDに電流は流れないので、同じ経路上の抵抗にも電流が流れません。そのため抵抗値にかかわらず電圧降下はゼロとなります。回路プログラム動作確認エビデンスはどこ?M5StickCは壊れていない?昨日のこの記事で青色LEDを制御するGPOが壊れているのかと考えていました。tetsufuku81.hatenablog.jp・・・が、その後もネットで情報収集してると、G36の端子はOutputできないよというページを見つけました。lang-ship.com入力専用ピンだった上記のページを見た後、必死でエビデンス(データシート)を探したけど上手く見つけられず。英語版の公式サイトには全ピンでOutputできるよと書いてある。pinでも、信頼と実績の非公式日本語ドキュメントでは「入力専用です」と。GPIO36入力専用端子で出力はできません。プルアップとプルダウンも利用できませんので注意しましょう。手元の実機の動作からも入力専用で間違いないです。現実を受け入れて設計変更します。回路Grove側のGPIO端子は素直に動くと書かれているので、青色制御はこちらのG32に変更します。基板とピンヘッダのままではどうにもならないのでジャンパ線で接続します。青色の電流制限抵抗からピンヘッダにつながっている回路を切って、ジャンパを引き出します。ジャンパの先にはピンソケットをつないで完成。ピンソケットはGrove端子へ。回路図の配線も修正しました。プログラムGPIO36ピンを設定していた部分をGPIO32ピンに変更します。ソースコードの変更部分はこちら。OUTPUT);}動作確認それでは動画をご覧ください。M5StickC+LEDで青色も光らせた!ちょっと頑張った!LED回路を触るのは特別な頑張りではなくて、ブログを続ける方がよっぽど頑張りが必要。2019動作OK~!今後は日本語非公式ドキュメントも参考にしながら設計していきます。エビデンスはどこ?心残りは、結局公式的なエビデンスは見つけられなかったことです。どこにあるかご存知の方いらっしゃれば教えて・・・M5CoreのFAQには同様の項目がありましたけど。M5STICK-CMtStickC用にLED拡張基板を作った話の続きです。今日は実機で動作確認します。現時点での結論LED制御プログラム各色を順に点灯していくプログラムを作成して書き込みます。delay(800);}書き込んだ結果んー、青色が点灯しない。青色のLEDが光らない。赤と緑の間で消灯してるところ、本当なら青色なんだけど・・・。2019原因調査すぐに思い浮かんだ疑わしき点は2つ。定義の間違い拡張基板の回路設計ミスか製作ミスピン定義ソースコードを確認したけど正しそう。OUTPUT);}拡張基板の回路テスターなど測定機がないから詳しく見れないんですが、できる範囲で確認しました。ピンセットで隣のピンとショート。緑を点灯させている端子と青を点灯させる端子をショートすると、青も光る。ショートしたとき)しっかり青も点灯してる。現時点での結論ピン定義も回路も正しそう前回の5VとGND短絡の影響でGPOが1端子壊れた?ほかに思い当たるところがないか明日考えます。ほかに思い当たらなかったらM5StickCを壊したと言うことで、「加速度センサからの値と連動」に気にせず突き進む予定です。M5STICK-C画像はイメージです。抵抗を買ってきた大阪日本橋の共立電子でカーボン抵抗20本とライトアングルのピンヘッダを購入した。合計210円、1/4Wの抵抗は1本5円。配置検討ユニバーサル基板に実際に部品を置いて配置を決める。LED、抵抗、ピンヘッダの配置イメージ。ユニバーサル基板はカッターナイフで傷を付けて折ったけど今回はあんまりきれいじゃない。はんだづけ先ほどの配置ではんだづけしていきます。背が低い部品からが基本。順にはんだづけしていきます。はんだごてはHAKKOのFX600-02です。末尾02が2極プラグです。(ページの最後にAmazonページへのリンク貼っときますので興味があればどぞ。)www.hakko.com余った抵抗の足を使っていい感じに配線する。完成と思いきや・・・M5StickCに差すときの向き(裏表)を間違えないように。(↑この写真は後撮りなので配置は正しいです)これを間違えると部品を全部はずしてやり直しですよ...僕みたいに。はんだ吸い取り線があればどうにかできるけどこの上なく面倒くさい。回路図修正(ピン振替)LEDのデータシートをしっかり見ていればよかったんですが、緑(Green)と青(Blue)の元の回路図どおりにつなごうとすると配線がクロスしてしまいます。GPIOは割り当てを自由に変えられるので、基板側は配線しやすいように緑と青の接続先のピンを入れ替えました。動作確認テスターを持っていないので目視でショートの確認をしました。5)を一時的にM5StickCのGND(#1)に接続して光るかどうかを確認。・・・もっと落ち着いてやればいいのにここでも失敗しました。LCDが映らなくなる動作確認でGNDに接続するときに、M5StickCから拝借してきた5V(ピン#2)とGND(ピン#1)をショートさせてしまった。その瞬間にLCDが消えてしまって、電源を入れ直したりプログラムを書き直したりしても変わらず。一応内部のLEDを動かすプログラムを書くとちゃんと反応してるから全体が壊れたわけではなさそう。動作確認してて5VとGNDをショートさせてしまったから。2019ツイートのとおり、テスターと実験用の電源は用意しようと思います。次に、GPIOを制御してLEDが点滅するプログラムを書き込んで問題ないか確認してみます。デバイス本記事は移転しました。約10秒後にリダイレクトします。リダイレクトしない場合はここをクリックしてください。電気回路の部品である抵抗(固定抵抗器)の抵抗値って飛び飛びになっていますよね。この抵抗値のステップがどうなっているかを説明します。基づいたE系列を採用しています。値の一覧表は最後のほうに載せますね。表の値に10のN乗を掛けた抵抗値が実際に作られています。使われるのはE3系列E6系列E12系列E24系列E96系列ほかにE48系列やE192系列も計算で求めることができますが、僕は製品を見たことないです。ロームのチップ抵抗MCRシリーズの場合、データシートにどのE系列で抵抗値が用意されているか書かれています。各E系列の求め方は次のような方法です。E3~E24系列は、1~10までを有効数字2桁で等比的に24等分した値(10の24乗根)である1.1の倍数を基調として一部を組み替えて調整したものE96系列は、1~10までを96分割の等比数列にして有効数字3桁に四捨五入したものまた次のことが言えます。E3~E24系列の有効数字は2桁でE3はE6系列に内包されるE6はE12に内包されるE12はE24に内包されるE96系列は有効数字3桁で、E3~E24から独立しています。欲しい抵抗値がないときどうしてもここにない抵抗値が必要なこともあります。まともに1素子で実現しようとすると、特殊品となって費用も納期もかかります。複数の抵抗の合成抵抗で欲しい値を作れないか考えましょう。(8.2/2=4.1)いつもこちらのサイトの「目標の抵抗値を2本の抵抗で合成」を使わせてもらっています。sim.okawa-denshi.jp余談ですが、電源回路では抵抗値の比率で出力電圧を決めるんですが、ぴったりの値があることはまれで、いつも2つの抵抗から欲しい値を作っています。10E96系列マーカー部分がE24系列との共通部分です。以前にも紹介した「抵抗&コンデンサの適材適所」です。たかが抵抗かもしれませんが、背景を知って回路設計すると設計の質が上がるかもです。M5STICK-C上の画像はイメージです。LEDを連動させてみます。PDFの回路図もあります。M5StickCの外部接続端子M5StickCに外部ケーブルをつなげるコネクタは3つあります。mmピッチの汎用ピンソケット。これを使いますGROVEシステムについてはこちらへ。今回使うのは汎用の拡張端子。docs.m5stack.com拡張端子のピンは次のようになっています。以下の端子が外部に出ているから問題は無さそうです。LED(フルカラーLEDともいう)は手持ちの部品を探したらありました。RT5-5818RGBW-B。Φ5の砲弾型LEDです。アノードコモンなので、共通のアノードが1本、RGBそれぞれのカソード各1本で4本足のLEDです。eleshop.jpVFなどを確認データシートで順方向電圧降下(VF)、順方向最大電流(IFM)などを確認します。IFM以上の電流を流すと壊れるので、先に確認しておきます。25緑と青のVFが3.3Vだったので、M5StickCからの5V電源を使うことにします。仮に電源に3.3Vを使うとLED個体のVFのばらつきで光らない電流制限抵抗にかかる電圧が低くなりすぎて、抵抗のばらつきの影響を大きく受けるという可能性があるからやめておきます。LED電流を決めるデータシートの電流と光量の関係を示すグラフから、各色の光量が同じぐらいになるようにRGBそれぞれの電流(IF)を決めます。わからないので適当に25mcd狙いで電流値を決めました。5.0抵抗(電流制限抵抗)VFとIFがわかったので必要な抵抗値を計算しました。私は基本的に回路図の中に計算式を書いています。330部品は、手元にディスクリートのカーボン抵抗がいろいろとあるので適当に探しときます。コネクタと基板コネクタは2.54mmの汎用のピンヘッダ、基板はユニバーサル基板です。回路図ということで、改めて回路図。本記事は移転しました。約10秒後にリダイレクトします。リダイレクトしない場合はここをクリックしてください。この前のもくもく会での会話のメモ。後日...前提ラズパイの中にできたCSVをWindowsに持ってきたい。...という相談から始まった会話。相談してくれた方5ヶ月前に初めてラズパイを購入された初心者な方です。今ここゆっくりだけど確実に成長してる。すごい努力してるんやろうなぁ。以上がその時聞いた全情報。出た案そこにいたITエンジニアの方々数人とのお話の輪に私も入ってきました。ちなみに、ハードエンジニアでIT勉強会に参加している人にはなかなか出会わない。違うWinSCPファイル転送ができるフリーソフト。SSHできてるならほぼ確実に使える。ネット上に初心者向け情報多数。おすすめNo.1です。Sambaラズパイをファイルサーバーにしてしまう作戦。Windowsのエクスプローラで直接ラズパイの中にあるファイルが見える。設定がめんどくさいというか、ラズパイ初心者には激しく難しい。画面でそれをコピペで保存する。うーん、現実的ではない(WinSCP使えよと言われるでしょう)。SyncBitTorrentを使用したP2P。CSVのことは別として、なかなか便利かも。引用パソコン内の特定フォルダを、別のデバイス内の特定フォルダと自動で同期できるようにするソフト。等)内の特定フォルダと同じになるように、自動で同期処理を行えるようにしてくれます。VSCPごめんなさい。私がついていけてません。(クラウド)インターネット環境と保存先のサーバーがあるなら、少し勉強すればできそう。無料のレンタルサーバーを探せば費用はかからないよ。今回の相談者さんの話を聞いていると、ラズパイとセンサで温度・湿度を単発で取得できればいいとのことなので、ちょっと豪華すぎる感。WindowsにWebサーバーを立てて転送さっきのクラウドにアップの別案。WindowsにWebサーバーを用意できるスキルがあるなら黙っていろいろ実装している気がしてやまない。(余談?)ちょっと話がそれてる感ですが、じゃあどうやって定期的にセンサーからデータを取得してWebにアップロードするよって話から出てきたこと。「単発でデータ取得するんなら、そのPythonスクリプトの中でアップしたらいいよね。」って予感が無きにしもあらず。相談してた人は、この中のいくつかを持ち帰ったようです。後日...後日、「WinSCPでやってます」と報告メールをもらいました。約10秒後にリダイレクトします。リダイレクトしない場合はここをクリックしてください。前回は電流制限抵抗について書いたけど、抵抗の定格消費電力に触れるのを忘れてました。tetsufuku81.hatenablog.jp極端な話、100V(直流)の電源でLEDを1個だけ光らせるのって大丈夫なんですかね(あとで計算してみますね)。消費電力の公式はです。抵抗で電力が消費されると、ほぼすべてが熱になります。抵抗が耐えきれないぐらいの電力が消費されると抵抗が燃えます。上記の公式にオームの法則の式を代入すると、のようになります。2乗に比例して増えていくので、それなりに注意が必要です。抵抗のデータシートには定格消費電力が書いてあります。一例として、ロームの抵抗のデータシートです。この値を超えると燃える、煙が出る、焦げ臭い匂いがする・・・ということが起こります。火事になったりすると非常に危ないので軽く考えたらダメです!抵抗の種類ざっと一覧に。数値は参考程度に見てください。5~100ほかにもいろんな抵抗があります。抵抗の種類についてのおすすめの本「抵抗&コンデンサの適材適所」のリンクを一番最後に貼り付けておきますので、気になる方は見てみてください。