Raspberry Pi本体についているさまざまな外部の入出力をコントロールできる「GPIOポート」について、電子部品とScratchプログラミングを組み合わせて学んでいきます。
プログラミングと電子工作
-
改訂 Raspberry Piで使えるPythonのGPIO制御ライブラリ一覧表
Raspberry Piで使えるPythonの各GPIO制御ライブラリの仕様について一覧表にまとめると共に、あらためて各関数毎のサーボモーターの動作を条件を揃えて撮影しました。 +
-
【 第1回 】Scratch 2の日本語化と拡張機能”Pi GPIO”の追加
「Scratch 2」で電子工作を行う為の準備として、メニューの日本語化、拡張機能”Pi GPIO”の追加、「Scratch 2」に収録されたRaspberry PiのGPIO についての説明を紹介します。 +
-
【 第2回 】T型GPIO拡張ボードで、先ずはLピカ!
前回は、準備段階として「Scratch 2」の日本語化と拡張機能”Pi GPIO”の追加方法を紹介しましたが、その中で「Scratch 2」に収録されたGPIO についての説明に、”Lピカ”の実例がありました。先ずは、そこから始めたいと思います。 +
-
【 第3回 】拡張機能”Pi GPIO”で、Lピカをキー操作でon/off
前回は、Raspberry Pi上の電源 ( 3.3VとGND ) を使って”Lピカ”させただけでしたが、今回は、拡張機能”Pi GPIO”を追加した「Scratch 2」のプロジェクト ( プログラム ) で”Lピカ”を実行してみます。 +
-
【 第4回 】Scratch 1.4のGPIOサーバーなら、Lチカも蛍に!
以前のバージョン「Scratch 1.4」のGPIOサーバーにはPWM出力の機能があるので、今回はそれで”蛍のようなLチカ”を実現することにしました。 +
-
【 第5回 】タクトスイッチでも、LEDをon/off
今回は、外部デバイスからの入力でScratchのスクリプトを制御する最もシンプルな事例として、タクトスイッチによるLEDのon/off制御を紹介します。 +
-
【 第6回 】”Lチカ蛍”もタクトスイッチでon/off
【第5回】のタクトスイッチによるスクリプト制御を使って、【第4回】の”Lチカ蛍”をon/offさせてみます。 今回は、2つのスクリプトを組合わせて新たなスクリプトを組立てる手法と変数モニターの操作に注目してください。 +
-
【 第7回 】人感センサーで、”Lチカ蛍”をon/off
【第6回】で、タクトスイッチで”Lチカ蛍”をon/offすることができるようになったので、タクトスイッチを人感センサーに替えれば、人が近づくと蛍が明滅するようなものが実現できるのではないかと思い試してみました。 +
-
【 第8回 】LEDの輝度をフェードアウトさせて、”Lチカ蛍”を本物の蛍に!
今回はLED消灯時にフェードアウトするスクリプトを組み込んだ上で、より本物の蛍に近いスクリプトにチューニングし、”Lチカ蛍”のプロジェクトを完成させます。 +
-
【 第9回 】取り敢えずScratch 2でも人感センサーでon/offを確認
「Scratch 1.4」のPWM出力を使った”Lチカ”の進化を追及してきましたが、今回は一旦、「Scratch 2」に戻って、「Scratch 2」でもできることを確認してみたいと思います。 +
-
【番外編】Scratch 2の猫に、Raspberry PiのGPIOを調べさせよう!
Raspberry Piの各GPIOが既定でプルアップ/プルダウンのどちらに設定されているかを事前に「Scratch 2」の猫に調べさせることにしました。 +
-
【 第10回 】人感センサーで”Lチカ”on/offをScratch 2でも完成
各GPIO毎のプルアップ/プルダウン設定が確認できたので、あらためて「Scratch 2」でも人感センサーによる”Lチカ”on/offのプロジェクトを作ってみることにしました。 +
-
【 第11回 】上下矢印キーでLEDの明るさをコントロール
【第8回】では「Scratch 1.4」のPWM出力でLEDの明るさを自動的に上下させましたが、今回はキーボードの上下矢印キーでLEDを任意の明るさにコントロールできるようにしてみます。 +
-
【 第12回 】上下左右の矢印キーでフルカラーLEDの色と明るさをコントロール
【第11回】では「Scratch 1.4」のPWM出力により、LEDの明るさをキーボードの上下矢印キーを使って上下させましたが、今回はキーボードの上下左右、4つの矢印キーでフルカラーLEDを任意の色と明るさにコントロールしてみたいと思います。 +
-
【番外編】猫に調べさせるまでもなかった!Raspberry PiのGPIO
最近のRaspbianには”WiringPi“が既にプリインストールされていて、LXTerminalで各GPIOの設定一覧表が出力できることが分かりました。 +
-
【 第13回 】取り敢えず圧電スピーカーをいろんな方法で鳴らしてみた
これまでScratch 1.4からGPIOに接続したLED、タクトスイッチ、人感センサーなどを操作してきましたが、今回は圧電スピーカーをいろんな方法で鳴らしてみたいと思います。 +
-
【 第14回 】Scratch 2の楽器の音が圧電スピーカーから出た!
”WiringPi“のコマンドとScratch 2に元からあるサウンド機能を組合わせて圧電スピーカーから音を鳴らしてみようと思います。 +
-
【 第15回 】GPIOに接続したスピーカーでオルゴール!
前回、”WiringPi“のコマンドとScratch 2に元からあるサウンド機能を組合わせて圧電スピーカーから楽器の音を鳴らしたので、今回はこれを使ったオルゴールのスクリプトを作ってみようと思います。 +
-
【 第16回 】「かえるのうた」に和音を付けて輪唱も!
前回は、単音でオルゴールのプロジェクトを作ったので、今回は「かえるのうた」のメロディーに和音を付けて輪唱までできればいいなと思います。 +
-
【 第17回 】Scratch 2でオルガンを作ろうとしたらスチールパンに!
前回は、3声の輪唱に和音を付けたオルゴールができたので、今回はPCのキーボードを鍵盤に見立てて、オルガンを作ってみたいと思います。 +
-
【 第18回 】100均スピーカーを100円アンプで駆動!
【 第17回 】で、100均のスピーカーを2つRaspberry PiのGPIOに繋いでScratchから音を出したのですが、出てくる音があまりにもショボく、なんとかならないかと考えていたところ、Amazonで99円のD級アンプを見つけたので、早速試してみることにしました。 +
-
【 第19回 】AudacityでScratchの音源をステレオ化!
【 第18回 】で、100均のスピーカーから出る音がステレオになったのに、残念ながらScratchの音源は全てモノラルでした。そこで、”Audacity”というアプリを使ってモノラルの音声データを疑似ステレオ化してみました。 +
-
【 第20回 】I2S接続のDACなら100均スピーカーでもハイレゾ?
Raspberry Piには、デジタル音声データをGPIOから直接、出力するI2Sという転送規格もサポートされています。このデジタル出力をDACに入力することで、ノイズのないクリアーなサウンドが実現できる上にCDより情報量の大きいハイレゾ音声データも扱えるようになります。 +
-
【 第21回 】Scratch 1.4でサーボモーターを動かしたときの挙動を確認してみた
今回は、Scratch 1.4のPWM出力でサーボモーターがどのような動きを見せるか確認してみようと思います。 +
-
【 第22回 】サーボモーターの電源をRaspberry Piとは別にしたら、ちゃんと180°回転した!
サーボモーターの駆動用電源をRaspberry PiのGPIOポートとは別に用意することで180°回転させます。 +
-
【 第23回 】Scratch 1.4のサーボドライバーでサーボモーターをフルスイング!?
Scratch 1.4のブロック「▼を送る」には、サーボモーター駆動用の書式があるらしいのです。今回はこれを使ってスクリプトを書き直してサーボモーターの動作を確認したいと思います。 +
-
【 番外編 】サーボテスターでもフルスイング!
サーボモーター界隈を覗いていたら、”サーボテスター”なるものに目が止まりました。元々、ラジコンなどに使用するサーボモーターの動作を確認するためのものらしいのですが、価格もお手頃だったのでテストしてみました。 +
-
【 第24回 】ソフトウェアPWMでのフルスイングは180°!
サーボドライバーを使わない通常のソフトウェアPWMでサーボモーターを回すとちゃんと仕様通り180°回転するのですが、動画を撮っていなかったので、あらためて載せておきます。 +
-
【 第25回 】ハードウェアPWMでもサーボモーターをフルスイング!
Raspberry Piでサーボモーターを回すには、Scratch 1.4でも【第22回】の”ソフトウェアPWM”と【第23回】の”サーボドライバー”の2通りの方法がありましたが、Scratchに拘らなければ他にも色々な方法があります。 今回は、ハードウェアPWMでサーボモーターを回してみます。 +
-
【 第26回 】Pythonでもサーボモーターをフルスイング!( WiringPi 編 )
最新のRaspbianにはGPIO制御ライブラリWiringPiがプリインストールされていて【第25回】でもLXTerminalで実行できたので、Pythonでも使えるのかと思っていました。ところがC言語で書かれたPythonで使うにはWiringPi2-Pythonというパッケージをインストールする必要がありました。 +
-
Raspberry Piでもプログラミングのフォントは、Fira Code!
プログラミングで使うフォントとして大切な英数字や記号の識別が明解で間違えにくいというFira Codeをラズパイにインストールする手順を紹介しています。 +
-
【 第27回 】Raspberry PiでもLED不要のLチカ!
Raspberry Pi 3 Model B(+)でも基板上のPWR(赤)とACT(緑)のLEDの内、ACT(led0)の入力をmmc0(ディスクアクセス)からGPIOに切替えられることが分かったので、VisualStudioCodeからGPIO制御ライブラリ"WiringPi"を使ってACT(緑)をLチカする手順を詳細に説明しています。 +
-
【 第28回 】WiringPi2よりWiringPiの方が新しかった!
廃止された”WiringPi2"を代替する新しいGPIO制御ライブラリ”WiringPi”をPytho3で使う為の手順を詳細に説明しています。 +
-
【 第29回 】Visual Studio Codeからサーボモーターをフルスイング!
Visual Studio Codeの画面内で、サーボモーターをフルスイングさせるプログラムを組み、デバッグ、実行、設定のリセットまでの全てを行う手順の詳細を説明しています。 +
-
【 第30回 】pigpioでもLED不要のLチカ!
GPIO制御ライブラリ”pigpio”を使った「LED不要のLチカ!」をVisual Studio Codeの画面内でデバッグ、実行、設定のリセットまでの全てを実行する詳細手順を紹介しています。 +
-
【 第31回 】pigpioでもサーボモーターをフルスイング!
GPIO制御ライブラリ"pigpio"で「サーボモーターをフルスイング」させる手順を詳細に説明しています +
-
【 第32回 】pigpioにはサーボモーター制御用のPWM発生関数”servo_pulsewidth”があった!
”pigpio”には通常のソフトウェアPWMの他にサーボモーター用のPWMを発生させる関数があります。今回は、この”servo_pulsewidth”を使って「サーボモーターをフルスイング」させる手順を詳細に説明しています。 +
-
【 第33回 】pigpioにはハードウェアPWM発生関数”hardware_PWM”もあった!
GPIO制御ライブラリ”pigpio”のハードウェアPWMを発生させる関数”hardware_PWM”を使って「サーボモーターをフルスイング」させる手順を詳細に説明しています。今回はPython上でGPIOの設定を既定に戻した上で、コマンド"pigs mg"を使ってその結果を確認しています。 +
-
【 第34回 】Gpiozeroでもサーボモーターをフルスイング!
GPIO制御ライブラリ”Gpiozero”を使って「サーボモーターをフルスイング」させる手順を詳細に説明しています。ライブラリによる書式や終了時のふるまいの違いに注目してください +
-
【 第35回 】Gpiozeroでもサーボモーターを180°のフルスイング!
既定のままではスイングの中央(mid)から時計方向に45°、反時計方向に45°しか回転し なかったGPIO制御ライブラリ”Gpiozero”ですが、パラメーターを指定することで180°回転させることもできるようになります。今回はその手順を詳細に解説しました。 +
-
【 第36回 】Gpiozeroならサーボモーターの回転を角度で指定できるゾ!
GPIO制御ライブラリ”Gpiozero”にはサーボモーターの回転を任意の角度で指定する関数”AngularServo”もあるので、今回はこの関数を使って180°のフルスイングをさせる手順を詳細に説明しています。 +
-
【 第37回 】遅ればせながらRPi.GPIOでもサーボモーターをフルスイング!
今回はGPIO制御ライブラリ"RPi.GPIO"のPWM関数"RPi.GPIO.PWM"を使ってサーボモーターをフルスイングをさせる手順を詳細に説明しています。 +
-
Raspberry PiでのプログラミングもエディターはVisual Studio Code!【 アップグレード編 】
直近の"update"で統合開発環境Visual Studio Codeの最新パッケージ"ver.1.28.0"が提供されるようになったのでアップグレードしてみました。 +
-
改訂【 インストール編 】Raspberry PiでのプログラミングもエディターはVisual Studio Code!
Microsoftが開発した高機能エディターVisual Studio Codeがラズパイでも使えるようになりました。インストールの手順を詳細に紹介しています。 +
-
改訂【 日本語化 】Visual Studio Code
今回は英語版のVisual Studio Codeに拡張機能”Japanese Language Pack for VS Code”をインストールして日本語化する手順を紹介します。 +
-
改訂【 ワークスペースの設定 】Visual Studio Code
インストールしたVisual Studio Codeを日本語化したら、真っ先にワークスペースの設定を行います。その他の設定は、ここで設定したワークスペース毎に保存されます。 +
-
改訂【 デバッグと実行 】Visual Studio Code
前回までに日本語化とワークスペースを設定したVisual Studio Codeで、今回は実際にPythonのプログラムを作って、デバッグした上で実行してみました。 +
-
改訂【 リアルタイムデバッガーAREPL 】Visual Studio Code
Visual Studio Codeには便利な【 拡張機能 】がたくさんありますが、今回は、特に初心者に有益なリアルタイムデバッガー”AREPL for python”を紹介します。 +
-
改訂【 その他のおすすめ拡張機能 】Visual Studio Code
前回紹介した”AREPL for python”以外にも、"Trailing Spaces"や"Bracket Pair Colorizer 2"など、便利な【 拡張機能 】があるので、いくつか紹介します。 +
-
改訂【 「よく使用するもの」の設定 】Visual Studio Code
Visual Studio Codeの最新バージョン”1.29.0”では、それまでのバージョン”1.14.0″のときとは設定画面がすっかり変わってしまいました。そこで以前の記事を全面的に見直し、改めて設定方法について紹介することにしました。 +
-
改訂【 その他の設定 】Visual Studio Code
今回は、前回の【 「よく使用するもの」の設定 】に引き続き、Pythonでのプログラミングに役立つワークスペースの設定をいくつか紹介します。 +