環境
Raspberry pi zero
エディターはラズパイに初めから付いている、Thonnyを使ってます。
今回は
前回、プログラムを実行しても、動かなかったから、プログラムの解読に励みます。
今回はwiringpiをやります。
wiringpiとは
WiringPiはRaspberry PiのGPIOを制御するためのC言語ライブラリです。他の言語のPythonやPHPなどからもこのライブラリにアクセスできるようになっていてとても便利です。また、ライブラリだけではなく、コマンドラインから実行できるツール(gpioコマンド)も用意されて使いやすい印象です。いずれもGPIO制御を意識してつくられていますので、プログラミングやコマンドがechoコマンドを使う場合よりわかりやすくなっています。
wiringpiの関数
wiringPiSetupGpio()
初期化の関数です。何か問題がある場合は「-1」が返ってきます。
pinMode()
pinMode(GPIOピン番号,モード)。
モードにはOUTPUTかINPUTを指定します。
モードは数字でも表されていて、
「0」はINPUT。
「1」はOUTPUT。
「2」はalternutive function。*GPIOピン番号”18″を使う場合は”2″でいいみたい。
という意味です。
softPwmCreate()
softPwmCreate(int output_pin, int initial_phase, int palse_cycle)
int output_pinは出力するピンをwiringPi番号で指定。
int initial_phaseは初期値を指定。とりあえず、「0」でいいらしい。
int palse_cycleはpwm波の周期を100us単位で指定。
pwmSetMode()
pwmSetMode(int mode)。
モードには、PWM_MODE_BAL と PWM_MODE_MSがあります。
デフォルトでは、Balanceモードになっているようです。
Balanceモードは、Duty比ベースで制御するモードでLEDの制御には向いているそうですが、サーボモータの制御には不向きとあります。
pwmSetRange()
pwmSetRange(unsigned int range)。
pwmジェネレータ内の範囲レジスタを指定。デフォルトは「1024」なので、それでいいらしいです。
pwmSetClock()
pwmSetClock(int divisor)。
pwmクロックの除数を設定。よくわかりません(T . T)とりあえず、「375」にしときます。
softPwmWrite()
softPwmWrite(int pin, palse_width)。
int pinは出力ピンのことです。
palse_widthはパルス幅を100[μs]単位で指定しなければなりません。サーボモータはこのパルス幅によってどの位置を向くかが決まってきます。sg90なら0.5~2.4[ms]でそれぞれ0~180度を向くことになります。
とまぁこんな感じ
わからない関数もありましたが、wiringpiについてはこれくらいで。
また、つまづいた時、追記します。
使っいる部品
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
