注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
8. IoT カー¶
このプロジェクトでは、携帯電話のBlynkアプリを使用して車を制御しました。しかし、車の組み立てや基本的な理解については、 カープロジェクト を参照してください。 5Gネットワークの普及時代に、このモードは多くの産業で主要な生産方法の一つとなるかもしれませんので、先取りしてこのプレイを体験してみましょう。
1. 回路を組む
2. ダッシュボードを編集
モバイルのBlynkではDatastreamを編集することができないので、これらのステップはウェブサイドで行う必要があります。
Datastream ページで、ジョイスティックのX軸の値を記録するための Virtual Pin タイプの Datastream を作成します。NAMEを
Xvalue、DATA TYPEをInteger、MINとMAXを-10と10に設定します。
ジョイスティックのY軸の値を記録するための Virtual Pin タイプの Datastream を作成します。NAMEを
Yvalue、DATA TYPEをInteger、MINとMAXを-10と10に設定します。
次に、以下の手順を携帯電話で行ってください。
GOOGLE PlayまたはAPP Storeで "Blynk IoT" (Blynk(legacy)ではありません)を検索してダウンロードします。
アプリを開いてログインします。このアカウントは、ウェブクライアントで使用したアカウントと同じである必要があります。
次にダッシュボードに移動します(持っていない場合は作成します)。モバイルとウェブのダッシュボードは互いに独立していることがわかります。
編集アイコンをクリックします。
空白のエリアをクリックします。
ジョイスティックウィジェットを選択します。
空白のエリアにジョイスティックウィジェットが表示されますので、それをクリックします。
ジョイスティックの設定が表示されますので、先ほどdatastreamsで設定したXvalueとYvalueを選択します。
ダッシュボードページに戻って、ジョイスティックを操作したいときに操作します。
3. コードの実行
3in1-kit\iot_project\8.iot_carのパス下で8.iot_car.inoファイルを開くか、このコードを Arduino IDE にコピーします。自分の
Template ID、Device Name、およびAuth Tokenに置き換えます。使用しているWiFiのssidおよびpasswordも入力する必要があります。詳しいチュートリアルは、 1.3 R4ボードをBlynkに接続する を参照してください。適切なボードとポートを選択した後、 Upoad ボタンをクリックします。
シリアルモニター(ボーレートを115200に設定)を開き、成功した接続などのプロンプトが表示されるのを待ちます。
注釈
接続時に
ESP is not respondingというメッセージが表示された場合、以下の手順に従ってください。9Vのバッテリーが接続されていることを確認してください。
RSTピンを1秒間GNDに接続してESP8266モジュールをリセットし、その後、それを取り外します。
R4ボード上のリセットボタンを押します。
これらの操作を3〜5回繰り返す必要があることがあります。忍耐強く行ってください。
今、USBケーブルを抜いて、9Vのバッテリーだけでカートを起動します。LEDが点灯するのを待ちます。これは、車がBlynkに接続されていることを示しています。
携帯電話でBlynkを開き、ジョイスティックウィジェットを使用して車の動きを制御できます。
どのように動作するのか?
これらの関数は、車の動きを制御するために使用されます。
void moveForward(int speed) {...}
void moveBackward(int speed) {...}
void turnRight(int speed) {...}
void turnLeft(int speed) {...}
void stopMove() {...}
IoTセクションは、ジョイスティックウィジェットの値を読み取り、それらを変数 Xvalue および Yvalue に割り当てます。
int Xvalue = 0;
int Yvalue = 0;
BLYNK_WRITE(V9)
{
Xvalue = param.asInt();
}
BLYNK_WRITE(V10)
{
Yvalue = param.asInt();
}
loop() で、 Xvalue および Yvalue に基づいて車にさまざまなアクションを実行させます。
if (Yvalue >= 5) {
moveForward(255);
} else if (Yvalue <= -5) {
moveBackward(255);
} else if (Xvalue >= 5) {
turnRight(150);
} else if (Xvalue <= -5) {
turnLeft(150);
} else {
stopMove();
}
また、Blynk Cloudに接続されている場合にLEDを点灯させるために、 loop() にネットワークステータスの判定を追加します。
if (!Blynk.connected()) {
digitalWrite(ledPin, LOW);
Serial.print("offline!");
bool result = Blynk.connect();
Serial.println(result);
} else {
digitalWrite(ledPin, HIGH);
}