ジャンプする:
ESP32 チュートリアル 1/55 - SunFounder の ESP32 IoT 学習キットソフトウェアと Arduino IDE の紹介 ESP32 チュートリアル 2/55 - ESP32 とは、カメラ拡張ボード、SunFounder の ESP32 IoT キットの開封作業 ESP32 チュートリアル 3/55 - 抵抗、LED、ブレッドボードプロジェクト: こんにちは LED - ESP32 IoT 学習キット ESP32 チュートリアル 4/55 - データ型 変数の定義 Int, bool, char, シリアルモニター - ESP32 IoT キット ESP32 チュートリアル 5/55 - LED フェード、LED の明るさを制御 - ESP32 IoT 学習キット ESP32 チュートリアル 6/55 - RGB LED の使用 プロジェクト 2.3 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 7/55 - ESP32 Arduino プログラミングでの配列の使用 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 8/55 - ウォーキングライト 74HC595 シフトレジスタ - SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 9/55 - プッシュボタンを使用してLEDをトグル、オンに押す、オフに押す - SunFounder ESP32 IoTキット ESP32 チュートリアル 10/55 - セブンセグメントディスプレイ 74HC595 を使用したデジタルカウンター - ESP32 IoT ラーニングキット ESP32 チュートリアル 11/55 - ESP32 と LCD1602 LCD2004 の使用 - SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 12/55 - SunFounder の ESP32 IoT 学習キットを使用した WS2812 RGB ストリップ 4 プロジェクト ESP32 チュートリアル 13/55 - アクティブブザーによる Arduino ビープ | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 14/55 - SunFounder ESP32 IoT 学習キットを使用したカスタム音楽ノートの再生 ESP32 チュートリアル 15/55 - ESP32 L293D を用いた DC モーター速度制御 | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 16/55 - ESP32とL293Dを使用したミニ水ポンプ | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 17/55 - ESP32 とポテンショメーターを使用したサーボモーターの制御 - ESP32 IoT 学習キット ESP32チュートリアル 18/55 - ESP32を使った傾き検出 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 19/55 - 赤外線センサーを使った障害物の検出 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 20/55 - ライントラッキングモジュール | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 21/55 - PIR モーションセンサーを使用した人間の検出 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 22/55 - LED Arduino を使用して光を感じる | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 23/55 - ESP32 を使用したポテンショメーターの電圧測定 | SunFounder の ESP32 IoT キット ESP32 チュートリアル 24/55 - 灌漑のための土壌湿度の測定 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 25/55 - NTC と LCD を使用した温度測定 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 26/55 - Arduino でのジョイスティックの使用 アクションを起こす | SunFounder の ESP32 IoT キット ESP32 チュートリアル 27/55 - 超音波センサーを使用した距離の測定 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 28/55 - DHT11 温度センサーと LCD | SunFounder の ESP32 IoT 学習キット ESP32のチュートリアル 29/55 - ESP32でIRリモコンのキー入力を読み取る | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 30/55 - Adafruit IO サービスを使用した MQTT を通じてウェブ上でサーボを制御する | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 31/55 - 障害物回避機能付き LED ストリッププロジェクト | SunFounderのESP32 IoT 学習キット ESP32チュートリアル 32/55 - LCDとブザーを使った車のバックレンジ警告 | SunFounderのIoT学習キット ESP32チュートリアル 33/55 - SunFounderのESP32 IoT学習キットを使用したデジタルサイコロ ESP32チュートリアル 34/55 - RGB LEDとノブを使ったカラ―グラデーション | SunFounderのESP32 IoT学習キット ESP32チュートリアル 35/55 - 植物モニター、土壌、温度と光 | SunFounderのESP32 IoT学習キット ESP32チュートリアル 36/55 - 数当てゲーム | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 37/55 - ESP32 BLE を使用した Bluetooth アプリ | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 38/55 - モバイルフォンからRGB LEDを制御する | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 39/55 - ESP32 を Bluetooth 音楽プレーヤーとして使用する | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 40/55 - Micro SDカードへの読み書き | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 41/55 - Micro SD カードを使用した MP3 プレーヤー | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 42/55 - カメラで写真を撮影し、マイクロSDに保存 CAM-1 | SunFounder の ESP32 キット ESP32 チュートリアル 43/55 - IoT インターネット気象観測所 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 44/55 - ESP32 カメラウェブサーバービデオストリーム オーバー WiFi CAM-2 | SunFounder の ESP32 キット ESP32 チュートリアル 45/55 - LED コントロール付きカスタムストリーミングサーバー CAM-3 | SunFounder の ESP32 学習キット ESP32 チュートリアル 46/55 - HiveMQ MQTT を使用したリモート温度監視 | SunFounder の ESP32 キット ESP32 チュートリアル 47/55 - インターネット経由の MQTT を使用した WS2812 CheerLights | SunFounder の ESP32 IoT キット ESP32チュートリアル 48/55 - リモート温度監視とLED制御 MQTT | SunFounderのESP32 IoTキット ESP32チュートリアル 49/55 - Adafruit IoTを使用してインターネット経由でDCモーターを制御する | SunFounderのESP32キット ESP32 チュートリアル 50/55 - 世界中のどこからでも RGB LED を制御する | SunFounder の ESP32 キット ESP32 チュートリアル 51/55 - DHT を使用した WiFi 経由の温度と湿度 | SunFounder の ESP32 IoT 学習キット ESP32 チュートリアル 52/55 - WS2812 CheerLights MQTT グローバル同期 LCD 付き | SunFounder ESP32 IoT キット ESP32 チュートリアル 53/55 - LCD インターネットクロックの作成 | SunFounder の ESP32 IoT 学習キット ESP32チュートリアル 54/55 - Wifi経由でWS2812 LEDストリップの色を設定 | SunFounderのESP32 IoT学習キット ESP32 チュートリアル 55/55 - 12V、24V、または 100V の DC 電圧を測定する方法 | SunFounder の ESP32 IoT 学習キット
ESP32チュートリアル 33/55 - SunFounderのESP32 IoT学習キットを使用したデジタルサイコロ
このチュートリアルでは、SunFounderのIoT学習キットのESP32と7セグメントディスプレイを使用してデジタルサイコロを作成します。このプロジェクトでは、ボタンを押すことで1から6までの数字を生成し、仮想サイコロを振ることができます。これは、ディスプレイやボタンとのインターフェースについて学びながら、ESP32の機能を探る素晴らしい方法です。追加の明瞭性のために、(0:00の動画で)ビデオを確認してください。
ESP32-33_デジタルサイコロ_メイン
ハードウェアの解説 このプロジェクトの主要なコンポーネントには、ESP32マイクロコントローラ、74HC595シフトレジスタ、7セグメントディスプレイ、および押しボタンが含まれます。ESP32は、Wi-FiとBluetoothを統合した強力なマイクロコントローラで、IoTアプリケーションに適しています。74HC595シフトレジスタを使用することで、各セグメントを直接接続するよりも少ないピンで7セグメントディスプレイを制御できます。
七セグメントディスプレイは数字を表示し、シフトレジスタからデータを送信することで制御されます。プッシュボタンはサイコロを振るトリガーとして使用され、表示されるランダムな数を生成します。押されると、ボタンはESP32のピン13に接続され、押されていないときは内部プルアップ抵抗によって高状態に保たれます。
データシートの詳細
メーカー
テキサス・インスツルメンツ
部品番号
74HC595
論理/IO電圧
2 Vから6 Vまで
供給電圧
4.5 Vから5.5 V
出力電流(チャンネルごと)
最大6 mA
ピーク電流(チャンネルごと)
35 mA 最大
PWM周波数ガイダンス
該当しません
入力ロジック閾値
VIH ≥ 2 V, VIL ≤ 0.8 V
電圧降下 / RDS(on) / 飽和度
0.5 V 最大
熱的制限
150 °C
パッケージ
DIP-16
ノート / バリアント
デジタルディスプレイで一般的に使用される
信頼性のある動作のために適切な電圧レベル(4.5 Vから5.5 V)を確保してください。
シフトレジスタが損傷しないように出力電流を制限してください。
電源ピンの近くにデカップリングコンデンサを使用して、電圧を安定させてください。
数値の誤表示を避けるために、七セグメントディスプレイを正しく接続してください。
接続が緩んでいる可能性がある配線をチェックして、予期しない動作を引き起こさないようにしてください。
配線手順 ESP32-33_digital-dice-wiring デジタルサイコロの配線をするには、まず電源接続を設定します。ブレッドボードのグラウンド(青線)をESP32のグラウンドピンに接続し、すべてのグラウンドポイントが相互接続されていることを確認します。次に、ESP32の3.3Vピンをブレッドボードの電源レール(赤線)に接続します。
ESP32-33 デジタルサイコロ 回路図
74HC595 シフトレジスタの場合、ピン1を 3.3V レールに接続し、ピン8をグラウンドに接続することを確認してください。データ出力ピン (DS) を ESP32 のピン25 に接続し、シフトクロックピン (SHCP) をピン26 に、ストレージクロックピン (STCP) をピン27 に接続します。プッシュボタンは、ESP32 のピン13 とグラウンドの間に接続し、押すとピンを低く引き下げることができるようにします。
コード例とウォークスルー コードでは、まずシフトレジスタとボタンに使用されるピンを定義します。ボタンピンは次のように定義されています。buttonPinESP32のピン13に接続されています。データ配列datArray7セグメントディスプレイ用の数字0-9のバイナリ表現が含まれています。
const int STcp = 27;//ST_CP
const int SHcp = 26;//SH_CP
const int DS = 25; //DS
const int buttonPin = 13;
int datArray[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
の中でsetup()関数では、ボタンピンを入力モードに設定し、シフトレジスタピンを出力モードに設定します。これにより、ボタンからの入力を読み取るためとディスプレイへのデータ送信のためにピンが準備されます。
void setup ()
{
pinMode(buttonPin,INPUT);
pinMode(STcp,OUTPUT);
pinMode(SHcp,OUTPUT);
pinMode(DS,OUTPUT);
}
プログラムの主要なロジックは、次のように見つかります。loop()機能。ボタンが押されているかを確認し、ランダムな番号を生成し、呼び出します。show_number()数字をセグメント表示に表示するための関数。
void loop()
{
if(digitalRead(buttonPin) == LOW)
{
int diceNumber = random(1, 7);
show_number(diceNumber);
delay(50);
}
}
そのshow_number()関数はデータ配列から適切な値をシフトレジスタに送り、シフトレジスタは生成された数字を表示するためにディスプレイのセグメントを制御します。この関数はボタンが押されたときの視覚的フィードバックにとって重要です。
74HC595 LEDディスプレイ: セブンセグメントの説明
デモンストレーション / 期待されること セットアップが完了し、コードがアップロードされると、ボタンを押すことで1から6の間のランダムな番号が生成され、7セグメントディスプレイに表示されます。すべてが正しく接続されていれば、ボタンが押されるたびにディスプレイに番号が表示されるはずです。浮遊する入力には注意が必要です。ボタンが正しくグラウンドに接続されていることを確認し、異常な動作を避けてください(動画の1:30で)。
ビデオのタイムスタンプ
00:00 開始
1:48 プロジェクト紹介
デジタルサイコロの配線について説明します 3:40
13:16 デジタルサイコロのためのArduinoコードの説明
19:19 Arduino IDEでESP32ボードとCOMポートを選択する
21:00 デジタルサイコロのデモンストレーション
22:15 Arduinoコードの修正
画像
74HC595 LEDディスプレイ:七セグメントの解説
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-main
ESP32-33_digital-dice-schematic
74HC595 LEDディスプレイ:七セグメントの解説
ESP32-33_digital-dice-wiring
ESP32-33_digital-dice-main
ESP32-33_digital-dice-schematic
コード
834-ESP32 Tutorial 33/55- Arduino code for digital dice
言語: C++
コードを読み込む