ドクターにしだのベアメタルハッキング

ようこそBMHの世界へ

ドクターにしだのベアメタルハッキング

BMHは、Bare Metal Hackingの頭文字をとったオリジナルの略語です。その名が示す通り、裸のデバイスやマイクロコントローラの仕組みを一から理解することで、まるごとハッキングする面白さと楽しさ😍を皆さんにお伝えするために立ち上げたプロジェクトです。

申し遅れましたが、私はドクターBMH、本名を西田 亙(にしだ わたる)と申します。職業は糖尿病専門医ですが🩺、浪人時代に出会ったパソコンに一目惚れし、それ以来システムプログラミングのとりこになった一人です。

かっては、プログラミング専門雑誌で連載を担当し、「Linuxから目覚めるぼくらのゲームボーイ」という書籍📖を世に出したこともあります。

私がパソコンに出会ってから40年が立ちますが、パソコンの性能は劇的に進化すると共に、初学者の手には負えないほど、複雑化しました💻。けれど、コンピューターの基本は40年前の昔も今も、全く変わってはいません。

すべての応用は基本の延長線上にあります。BMHワールドを探検された時、きっと皆さんは「物事の核心をつかみ(Grasp of things)💡」、思わず歓声をあげたくなるほどの「喜びと楽しさ(Just for fun)💘」を得られることでしょう。

私の横に控えているのは、ハックちゃんです。彼はまだ、プログラミングの知識はほとんどありませんが、これからantBASICを覚えながら、システムプログラミングの基本であるI/O操作の達人となっていきます。40年前の私と同じように…。

GRASP OF THINGS 開発基地はラズパイ400

BMHの構想は、10年以上にわたり📆あたため続けてきましたが、最後の最後まで悩んだものが、プログラム開発環境🔧でした。プログラミングを学ぶためには、優れた開発環境が不可欠です。しかしパソコンは高価なため💸、子どもたちが👦👧「マイコン(My computer)」として独り占めすることはできません。

そこで目をつけたのが、英国🇬🇧ラズベリーパイ財団によるラズベリーパイです。2012年に登場した初代ラズパイにはじまり、これまで7タイプが発表されていますが、BMHでは2020年最新版の「ラズパイ400 ⌨」を開発基地に選びました。

4コアのCPUは十二分に高速であり🚀、キーボード内部に本体とUSBハブが組み込まれているため、ディスプレイ🖥とマウス🖱をつなぐだけで、立派な「70ドル・マイコン」として活躍してくれます。I/Oプログラミングに必須の「GPIOヘッダー」が背部に備えられている点も🙆、現代のパソコンにはない大きな魅力です。

しかも、ラズパイに搭載されるOSは、LinuxカーネルとDebianパッケージをベースにしているため、私達は最高のプログラミング開発環境を無料🆓で堪能できるのです。

安価でかつ高性能、デザインも秀逸。子供や学校🏫でも、購入可能な開発環境を世に出してくださった🎁ラズベリーパイ財団に心より感謝します👏。

ドクターBMH
西田 亙 (医師🩺, 医学博士🎓)

💾 antBASIC GitHub
📺 BMH on YouTube

ハッピー・ブレッドボーディング!

  1. ⛳ ブレッドボードとは

    Coming Soon
  2. ⛳ 配線の基本

    Coming Soon
  3. ⛳ GPIOコネクタこそ外界に通じる窓

    Coming Soon
  4. ⛳ BMHガジェットの入手方法

    Coming Soon

「antBASIC」
プログラミング・レッスン

  1. ⛳ BASICの歴史

    Coming Soon
  2. ⛳ antBASICのインストール方法

    Coming Soon
  3. ⛳ 数値と文字列

    Coming Soon
  4. ⛳ 情報の記憶 (変数・配列)

    Coming Soon
  5. ⛳ ユーザーとの対話

    Coming Soon
  6. ⛳ プログラムの作成と管理

    Coming Soon
  7. ⛳ 演算

    Coming Soon
  8. ⛳ 繰り返し

    Coming Soon
  9. ⛳ 条件分岐

    Coming Soon
  10. ⛳ ループ

    Coming Soon
  11. ⛳ サブルーチン

    Coming Soon
  12. ⛳ GPIOによる外界との通信

    Coming Soon

GPIO ハッキングへの準備

  1. ⛳ 必要な部品

    Coming Soon
  2. ⛳ やってはいけないこと

    Coming Soon

GPIO
プログラミング・レッスン

  1. ⛳ ブザーを鳴らそう

    Coming Soon
  2. ⛳ LEDを点灯しよう

    Coming Soon
  3. ⛳ スイッチの状態を読む

    Coming Soon
  4. ⛳ 7セグメントLEDで数字を表示

    Coming Soon
  5. LCD 1⃣ ⛳ LCDの構造

    Coming Soon
  6. LCD 2⃣ ⛳ HD44780 データシートを読む

    Coming Soon
  7. LCD 3⃣ ⛳ スクリーン上に文字を表示

    Coming Soon
  8. LCD 4⃣ ⛳ スクリーンのスクロール

    Coming Soon
  9. LCD 5⃣ ⛳ オリジナルキャラクターを作ろう

    Coming Soon
  10. SPI 1⃣ ⛳ SPI通信とは (プロトコル仕様書を読む)

    Coming Soon
  11. SPI 2⃣ ⛳ SPIプロトコルの実装

    Coming Soon
  12. SPI 3⃣ ⛳ EEPROM 25LC320 プログラミング

    Coming Soon
  13. I2C 1⃣ ⛳ I2C通信とは (プロトコル仕様書を読む)

    Coming Soon
  14. I2C 2⃣ ⛳ I2Cプロトコルの実装

    Coming Soon
  15. I2C 3⃣ ⛳ EEPROM 24LC01 プログラミング

    Coming Soon
  16. I2C 4⃣ ⛳ DS1621 サーモスタット制御

    Coming Soon
  17. SPI 4⃣ ⛳ ATtiny13 シリアルプログラミング

    Coming Soon
  18. SPI 5⃣ ⛳ ATtiny13 でLED点滅

    Coming Soon