正規オンライン販売店:

Buy from USA Buy from UK Buy from DE Buy from IT Buy from FR Buy from ES ここでご購入を!

前回のレッスンでは、ADCピンからアナログデータを読み取る方法を学びました。今回のレッスンでも、ADC2ピンからアナログ信号を読み取ります。ただし、今回の入力デバイスは、フォトレジスタではなく可変抵抗器(ポテンショメータ)です。また、PWM信号を生成できるGP16にサーボモータを接続します。ポテンショメータを回転させると、サーボがアームを回転させます。このプロジェクトを通じて、サーボブロックを使用してサーボアームを回転させる方法を学びます。

・Raspberry Pi PicoボードとmicroUSBケーブル
・Thonny Python IDEを実行するためのコンピュータ
・ブレッドボード×1
・ポテンショメータ×1
・サーボモータ×1
・ジャンパーワイヤー数本

回路図には次のようにあります。
・サーボの赤いワイヤーをPico Vbusピン(5V)に接続
・サーボの茶色のワイヤーをPico GNDに接続
・サーボの黄色いワイヤーをPico PWMピン(GP16)に接続
・ポテンショメータのGNDをPico GNDに接続
・ポテンショメータのVCCをPico 3.3Vに接続
・ポテンショメータの中央のピンをPico ADCピン(GP28)に接続

ブロックを作成する手順

Step 1: 新しいプロジェクトを作成し、Picoをシリアルポートに接続する

1)新しいプロジェクトアイコンをクリックします。ファンシーな名前のMy Projectアイコンが表示されます(図2.1を参照)。
2)My Projectsの新しいアイコンをクリックします。

これで、新しいグラフィックプログラミングページに入ります。ページの下部にあるCONNECTボタンをクリックし、Picoボードをプロジェクトに接続してください。

3)ブラウザがシリアルポートのオプションメニューを表示します。メニューからPicoを選択し、接続ボタンをクリックしてください。

もしシリアルポートメニューにPicoが表示されない場合は、Picoが正しく設定されていないことを意味しています。Lesson 1, Step 1に戻って、Picoを再度設定する必要があります。

Picoをシリアルポートに接続した後、GUI ConnectボタンはDisconnectボタンに切り替わります。次の手順でビルドグラフィックコーディングチップを実行します。

Step 2: グラフィックコーディングチップのビルド

1)Chip->Startをクリックし、次のようにStartチップをコーディングエリアに移動します。

2)Loops->Repeat while trueをクリックし、Startブロックのすぐ下にこのブロックを移動します。

3)Variables->Create Variableをクリックし、次のように変数「servo_val」という名前の変数を作成します。

4)これで、いくつかの新しい変数ブロックが表示されます。ループブロックの中に「set servo_val to」ブロックを移動します。

5)Chipカテゴリから、「Read Voltage」ブロックを「set servo_val to」ブロックに追加します。ポートをA0からA2に変更します。

説明:このブロックは、ADC2ピン(GP28)から電圧値を読み取り、「servo_val」変数に値を割り当てます。

6)Chipカテゴリから、「Print」ブロックを「set servo_val to」ブロックの下に追加します。

7)Printブロック内部の「」黄色ブロックを右クリックして削除します。

8)Variableカテゴリから、「servo_val」ブロックをPrintブロックに追加します。

9)Logicカテゴリから、「if_do_else」ブロックをPrintブロックの下に追加します。

10)「if」ブロックに「=」ブロックを追加します。

11)Variablesカテゴリから、「if」ブロックに「servo_val」ブロックを追加し、「=」記号を「<」に変更します。

12)Valuesカテゴリから、「if」ブロックに「0」ブロックを追加し、ブロックの値を0から1に変更します。

13)Actionカテゴリから、「servo pin set angle to」ブロックを「do」エリアに追加し、ピン番号を0から15に変更し、角度を90から0に変更します。

14)ライトパープルのエリアで右クリックして、新しい「if_do_else」ブロックを複製し、新しいブロックを「else」エリアに挿入します。「if」ステートメントエリアを<1から<2に変更し、「角度を設定する」エリアを0から90に変更します。

15)アクションカテゴリから、「servo pin set angle to」ブロックを「else」エリアに追加し、ピン番号を0から15に変更し、角度を90から180に変更します。

16)チップカテゴリから、外側の「if_do_else」ブロックの下に「Wait 1 second」ブロックを追加し、待機時間を1から0.5に変更します。

以上でプログラムの構築が完了しました。「START」ボタンをクリックして、プログラムを実行することができます。

Step 3:プログラムのテスト

ポテンショメーターを回転させると、サーボアームがそれに応じて回転します。下部の「Console」タグをクリックすると、ポテンショメーターを回転させる限り、コンソールが値の変化を表示します。

SKU:2021005900のパーツについてもっと学びましょう。

 

No. 画像 商品名 Link
1 Raspberry Piピコボード https://osoyoo.store/products/raspberry-pi-pico-flexible-microcontroller-board-based-on-the-raspberry-pi-rp2040-dual-core-arm-cortex-m0-processor-1-pc?variant=39875307864175
2 サーボモーター https://osoyoo.store/products/micro-servo-sg90-blue-for-arduino-v2-0-robot-carmodel-lacc200610?variant=31648847560815
3 赤外線センサーモジュール https://osoyoo.store/products/hc-sr501-pir-motion-sensor-for-arduino?variant=31957812838511
4 RFID モジュールとカード https://osoyoo.store/products/osoyoo-rfid-module?variant=31970646130799
5 押しボタンと帽子 https://osoyoo.store/products/push-button-and-hats-5pcs?variant=39879253131375
6 LED(白×6、赤×6、黄×6、緑×6) https://osoyoo.store/products/led-packs-for-arduino?variant=31957816442991
7 サーボモーター https://osoyoo.store/products/sg90-micro-servo-for-arduino-raspberry-pi-robot?variant=31957821096047
8 ピエゾブザーモジュール https://osoyoo.store/products/piezo-buzzer-module-1pcs?variant=39879251656815
9 I2C LCDディスプレイ(16×2) https://osoyoo.store/products/i2c-lcd1602-display?variant=39875437101167
10 プラスドライバー https://osoyoo.store/products/phillips-screwdriver?variant=31930635780207https://osoyoo.store/products/single-channel-relay-module-for-arduino-raspberry-pi?variant=31955954401391
11 ブレッドボード https://osoyoo.store/products/solderless-prototype-breadboard-1pcs?variant=39879255457903
12 ポテンショメータ (10KΩ可変抵抗器) https://osoyoo.store/products/potentionmeter-10k-adjustable-resistor-3pcs?variant=39879281016943
13 40Pin M から M へのジャンパー線 https://osoyoo.store/products/40pin-m-to-m-jumper-wires?variant=39879256539247
14 20Pin M – F ジャンパー線 15cm https://osoyoo.store/products/20pin-15cm-female-to-female-cable?variant=31930663305327