BoltとArduinoを使用したLEDの明るさの制御
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 6 | ||||
| × | 6 | ||||
| × | 1 | ||||
| × | 7 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
|
このプロジェクトについて
説明
あなたがそれを必要としないか、薄暗いライトを必要とするにもかかわらず、あなたの家で継続的にチューブライトを動かすことは、多くの費用がかかるだけでなく、時々人を苛立たせます。指先で蛍光灯の明るさをコントロールできたら最高です。そうですね!今日、このプロジェクトは、いくつかのコマンドで自宅の蛍光灯を制御できるように、小さなプロトタイプを開発するのに役立ちます。ここでは、BoltとArduinoを使用して最大6つのLEDを制御します。明るさは、Arduinoユニットで提供される6つのPWMチャネルを使用して制御されます。
必要なすべてのコンポーネントを収集する
プロジェクトに必要なすべてのコンポーネントは以下に記載されており、リーズナブルな価格で市場で簡単に入手できます。
1.ボルト
<図>2. Arduino Uno
<図>3. LED
<図>4.抵抗器(330オーム)
<図>5.ブレッドボード
<図>6.ジャンパー線(男性/男性)
<図>7.Arduino用のUSBケーブル
<図>
ボルト
Bolt IoTプラットフォームは、デバイスを制御し、どこにいてもIoTデバイスから安全かつ確実にデータを収集する機能を提供します。数回クリックするだけで機械学習アルゴリズムを導入して異常を検出し、センサー値を予測することで、実用的な洞察を得ることができます。詳細については、boltiot.comをご覧ください。
パルス幅変調
これは、電力または電気を必要とするデバイスやアプリケーションを制御するために、デジタル信号の振幅を制御するために使用されます。これは基本的に、電圧成分の観点から、デジタル信号のオンとオフのフェーズをすばやく循環させ、「オン」フェーズまたはデューティサイクルの幅を変えることによってデバイスに与えられる電力量を制御します。デバイスにとって、これは、オン時間のパーセンテージの結果である平均電圧値を持つ安定した電力入力として表示されます。詳細はこちら。
ハードウェアの組み立て
1.すべてのコンポーネントを収集し、LEDが正常に機能しているかどうかを確認します。
2. LEDのカソードをGNDラインに接続し、アノードを330オームの抵抗に直列に接続します。
3.抵抗のもう一方の端を6つのPWMチャネル(つまり、ピン3、5、6、9、10、および11)に接続します。
4.ArduinoのGNDをブレッドボードのGNDラインに接続します。
5.ボルトのTxとRxをArduinoのRxとTxにそれぞれ接続します。
6.最後に、ボルトの5VピンをArduinoの5Vピンに接続し、ボルトのGNDをArduinoのGNDに接続します。
注:ガイダンスについては、回路図を参照してください。
<図> <図> <図> <図> <図> <図>
ボルトのセットアップ
1. cloud.boltiot.comにアクセスし、サインアップしてアカウントを作成します。
2.携帯電話にBoltIotアプリをダウンロードし、アカウントにログインして、新しいBoltデバイスを追加します。ボルト装置を追加する方法について詳しく知る。
3.以下に示すようにBoltデバイスIDを取得します。
<図>4.クラウドでアカウントのAPIキーを取得するには、APIに移動し、図のように[有効にする]をクリックします。
<図>注:上記のAPIキーとBoltデバイスIDは非常に重要であり、誰とも共有しないでください。
APIとBoltCloud API
アプリケーションプログラミングインターフェイス(API)は、ソフトウェアプログラムが相互に通信するために従うことができる特定のルールセット(「コード」)と仕様です。これは、ユーザーインターフェイスが人間とコンピューター間の相互作用を促進するのと同様に、異なるソフトウェアプログラム間のインターフェイスとして機能し、それらの相互作用を促進します。
Bolt Cloud APIは、Boltデバイスとサードパーティシステム(例:モバイルアプリケーション、Webサーバー、Pythonプログラムなど。APIには、アカウントに接続されているBoltデバイスの非常に直感的な制御、監視、通信、およびユーティリティ機能が含まれています。
Bolt CloudのAPI呼び出しを使用するには、以前に取得したBoltデバイスIDとAPIキーが必要です。WebブラウザーからのAPI呼び出しの一般的な構文は、次のようになります。
https://cloud.boltiot.com/remote/your_api_key/command?¶m1=...¶m2=...&deviceName=BOLTXXXXX
ここで、
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/restart?&deviceName=BOLT9161541
詳細については、ここをクリックしてください。
Arduinoのコード
1. GitHubからboltiot-arduino-helperライブラリをダウンロードし、Arduinoライブラリに追加します。ダウンロードするには、ここをクリックしてください。
2.以下のコードをArduinoUnoにアップロードします。
注:アップロードする前に、BoltとArduinoの間のTxandTx接続を削除してください。
明るさを制御するためのAPI呼び出し
API呼び出しを使用してLEDの明るさを制御するには、BoltCloudのUARTAPIを使用します。まず、次のように、serialBeginAPI呼び出しを介してBoltとArduino間のシリアル通信を初期化します。
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialBegin?baud=9600&deviceName=BOLT13819450
特定の明るさでLEDをオンにするには、次のようにserialWriteAPI呼び出しが必要になります。
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialWrite?data=ON
注:両方のパラメーターは、パラメーターの間とデータ変数の末尾で ''(スペース)文字で区切る必要があります。
たとえば、ピン3のLED(つまり、LED 1)の明るさをPWM値120で制御する場合、API呼び出しのデータ変数は次のようになります。
'data =ON 1 120'
注:データ変数の末尾にもスペースがあります。
各serialWriteAPI呼び出しの応答を取得するには、その直後にserialReadAPIを使用します。それは次の人によって与えられます:
https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/serialRead?till=10&deviceName=BOLT8795377
注:上記のすべてのAPI呼び出しで、APIキーとBoltデバイスIDをBoltアカウントから取得したものに置き換えます。
動作原理
動作原理は非常に単純で、ArduinoはBoltから受信したシリアルコマンドを継続的にチェックします。コマンド文字列が「ON」と一致する場合、対応する機能を実行します。
ONコマンドに続いてデータ変数を受信すると、Arduinoは最初にデータ変数からピン番号とPWM値を保存します。次に、Arduinoはピン番号が範囲内にあるかどうかをチェックします。いいえの場合、「ピン番号は白黒1および6である必要があります」という応答が返されます。
そして、すべてが正しければ、輝度の制御を制御するために、対応するPWM値を使用してピンに対してanalogWriteコマンドを実行します。明るさを制御した後、「ピン<ピン>がpwm値
したがって、このようにして、ユーザーは特定の時間に最大6個のLEDの明るさを制御できます。
コード
- LED輝度制御
LED輝度制御 Arduino
#includeint pwm_pin [] ={3,5,6,9,10,11}; String switchOn(String * data){int pin =data [0] .toInt (); int pwm =data [1] .toInt(); if((pin <1)||(pin> 6)){return "ピン番号はb / w1および6である必要があります"; }ピン-; analogWrite(pwm_pin [pin]、pwm); return "Pin" + String(pin)+ "was set to pwm value" + String(pwm);} void setup(){//セットアップコードをここに配置して、1回実行します:pinMode(3、OUTPUT); pinMode(5、OUTPUT); pinMode(6、OUTPUT); pinMode(9、OUTPUT); pinMode(10、OUTPUT); pinMode(11、OUTPUT); Boltiot.begin(シリアル); Boltiot.setCommandString( "ON"、switchOn、2、 '');} void loop(){//メインコードをここに配置して繰り返し実行します:boltiot.handleCommand();}
回路図
製造プロセス
- Arduino、1Sheeld、Androidを使用したユニバーサルリモコン
- Arduinoとスマートフォンを使用したDIY電圧計
- Arduinoを使用した周波数とデューティサイクルの測定
- スマートシューズ(自動レーシングおよび発電)
- arduinoを使用したソナーと処理IDEでの表示
- ArduinoとMPU6050によるサーボモーターの制御
- Arduinoを使用したシンプルでスマートなロボットアーム
- シングルLEDマトリックスArduinoフリップクロック
- ArduinoUnoでLEDマトリックスを制御する
- ArduinoとRDA8057Mを使用したFMラジオ
- CNC マシンを使用して作成された材料とコンポーネント