工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Earth_Analyzer

コンポーネントと消耗品

>
Bolt IoT Bolt WiFi Module
× 1
Arduino UNO
× 1
Arduino Nano R3
× 1
nRF24l01
× 2
DCモーター、12 V
× 2
>
12V鉛酸バッテリー用DFRobotソーラーパワーマネージャー
× 1
SparkFunデュアルHブリッジモータードライバーL298
× 1
ジャンパー線(汎用)
× 1
LM35
× 1
DFRobot Gravity:アナログ容量性土壌水分センサー-耐食性
× 1
SG90マイクロサーボモーター
× 1
ジョイスティック、10オーム
× 1

必要なツールとマシン

>
はんだごて(汎用)
はんだワイヤー、鉛フリー
はんだフラックス、はんだ付け
マルチツール、スクリュードライバー

アプリとオンラインサービス

>
Arduino IDE
Bolt IoT Bolt Cloud
integeromat
TwilioSMSメッセージングAPI
mailgun
Bolt IoT Android App
Bolt IoT iOS App

このプロジェクトについて

こんにちは、こんにちは みんな

このプロジェクトは、主に農民を助けることができる地球のローバーに関するものです。このプロジェクトには、主に3つの係数が含まれています。

モジュール1:

完全なセットアップのためのハードウェア接続では、DCモーターを検討してください。

これには、2つのDCモーターとモータードライバーが必要です。モータードライバーに含まれるもの

ここでは、v +、en1、en2をブレッドボードのシングルポイントに接続し、4本のワイヤーを1 ma 2ピンの4つの入力に接続する必要があります。次に、モータードライバーピンの出力ピンをarduinoに接続します。バッテリーは次の図のように接続する必要があります。

次に、それらをボルトに接続する必要があります。同じ4つのピンをボルトのデジタルピン(0、1、2、3)に接続する必要があります。

これで、土壌センサーをボルトに接続する必要がありますが、デジタルピンをボルトに配置します(デジタル4ピン)。最後に、温度センサーをボルトのアナログピン(A0)に接続します。

今回は、すべてのアースとv +(温度センサー、水分センサー)、en1、en2をarduinoの5vに接続し、最後にこのすべてのピンに必要な電圧バッテリーを供給する必要があります。

モジュール2:

NRF接続:

上の図は、無線通信に使用されるnrfモジュールと呼ばれます。上の図は、近くの車を制御するための回路にも含める必要があります。

NRFとARDUINOの最終的な接続

今、その時は喜びのスティックを接続します:

2つのジョイスティックが使用されています:

1)車の方向を制御します。

2)サーボを制御します。

モジュール3:

最終コーディング

1)ARDUINOコーディング:

送信機:

  #include  
#include
#include
#include
#include

RF24 radio(7、8); // CSN、CE
constバイトアドレス[6] ="00001";

int x_key =A1;
int y_key =A0;
int p_key =A3;
int q_key =A2;
int x_pos;
int y_pos;
int p_pos;
int q_pos;

void setup(){
radio.begin();
radio.openWritingPipe(address)
;
radio.setPALevel(RF24_PA_MIN);
radio.setChannel(87);
radio.setDataRate(RF24_
250KBPS);
radio.stopListening();

Serial.begin(9600);
pinMode(x_key、INPUT);
pinMode(y_key、INPUT);
pinMode(p_key、INPUT);
pinMode(q_key、INPUT);
}
int pos;
void loop(){
x_pos =analogRead(x_key);
y_pos =analogRead(y_key);
p_pos =analogRead(p_key);
q_pos =analogRead(q_key);
Serial.println(x_pos);
Serial.println(y_pos);
Serial.println(p_pos);
Serial.println(q_pos);
if( p_pos> 400 &&p_pos <600 &&q_pos> 400 &&q_pos <600)
{
if(x_pos> 400 &&x_pos <600 &&y_pos> 400 &&y_pos <600)
{
pos =100;
radio.write(&pos、sizeof(pos));
}
if(x_pos> 400 &&x_pos <600 &&y_pos <400)
{
pos =200;
radio.write(&pos、sizeof(pos));
}
if(x_pos> 400 &&x_pos <600 &&y_pos> 600)
{
pos =300;
radio.write(&pos、sizeof(pos));
}
if(y_pos> 400 &&y_pos <600 &&x_pos <400)
{
pos =400;
radio.write(&pos、sizeof(pos));
}
if(y_pos> 400 &&y_pos <600 &&x_pos> 600 )
{
pos =500;
radio.write(&pos、sizeof(pos));
}
Serial.println(pos);
delay(100);
}
else if(p_pos <400 || p_pos> 600)
{
if(p_pos <400)
{
pos =600;
radio.write(&pos、sizeof(pos));
}
if(p_pos> 600)
{
pos =700;
radio.write(&pos、sizeof(pos));
}
delay(100);
}
}

受信者:

  #include  
#include
#include
#include
#include
#include
サーボサーボ;

RF24 radio(7、8); // CSN、CE
constバイトアドレス[6] ="00001";
intservo_pin =9;
int Sensor_pin =A0;
int output_value;

void setup(){
Serial.begin(9600);
radio.begin();
servo.attach(servo_pin);
radio.openReadingPipe(0、アドレス);
radio.setPALevel(RF24_PA_MIN);
radio.setChannel(87);
radio.setDataRate(RF24_250KBPS);
radio.startListening();
}
int pos;
void loop(){
if(radio.available()){
radio.read(&pos、sizeof(pos));
Serial.println(pos);
if(pos ==100)
{
digitalWrite(6、LOW);
digitalWrite(5、LOW);
digitalWrite (4、LOW);
digitalWrite(3、LOW);
// Serial.println( "gk0");
}
else if(pos ==200){
digitalWrite(6、HIGH);
digitalWrite(5、LOW);
digitalWrite(4、HIGH);
digitalWrite(3、LOW);
delay( 10);
// Serial.println( "gk1");
}
else if(pos ==300){
digitalWrite(6、LOW);
digitalWrite(5、HIGH);
デジタルWrite(4、LOW);
digitalWrite(3、HIGH);
delay(10);
// Serial.println( "gk2");
}
else if(pos ==400){
digitalWrite(6、LOW);
digitalWrite(5、HIGH);
digitalWrite(4、HIGH);
digitalWrite(3 、LOW);
delay(10);
// Serial.println( "gk3");
}
else if(pos ==500){
digitalWrite(6、HIGH);
digitalWrite(5、LOW);
digitalWrite(4、LOW);
digitalWrite(3、HIGH);
delay(10);
// Serial.println( "gk5");
}
else if(pos ==600){
Servo.write(90);
delay(10 );
// Serial.println( "gk6");
}
else if(pos ==700){
Servo.write(180);
delay( 10);
// Serial.println( "gk7");

}
}
else
{
Serial.println( "接続切断");
}
}
}

テレグラムメッセージを受信するようになりました:(サーバーコード)

ripl.itなどのサーバーの1つにログインしてから、コードをアップロードします

main.py

  import requests#HTTPリクエストを作成する
import json#JSONデータを処理するライブラリ
import time#スリープ操作用モジュール
from Boltiot import Bolt#importing Bolt from Boltiot module
import conf#config file
mybolt =Bolt(conf.bolt_api_key、c​​onf.device_id)
def get_sensor_value_from_pin(pin):
try:
response =mybolt.digitalRead (pin)
data =json.loads(response)
if data ["success"]!=1:
print( "Request not successl")
print( "Thisは応答です-> "、data)
return -999
Sensor_value =int(data [" value "])
return Sensor_value
e:
としての例外を除くprint( "センサー値を返すときに問題が発生しました")
print(e)
return -999
def send_telegram_message(message):
"" "テレグラム経由でメッセージを送信します" ""
url ="https://api.telegram.org/" + conf.telegram_bot_id + "/ sendMessage"
data ={
"chat_id":conf.telegram_chat_id、
"text":メッセージ
}
try:
re sponse =requests.request(
"GET"、
url、
params =data

print( "This is the Telegram response")
print(response.text)
telegram_data =json.loads(response.text)
return telegram_data ["ok"]
eとしての例外を除く:
print( "エラーが発生しましたテレグラムを介してアラートメッセージを送信する場合 ")
print(e)
return False
while True:
#ステップ1
Sensor_value =get_sensor_value_from_pin(" 4 ")
print( "現在のセンサー値は次のとおりです:"、sensor_value)
#ステップ2
if Sensor_value ==-999:
print( "リクエストが失敗しました。スキップします。 ")
time.sleep(10)
continue
#ステップ3
if Sensor_value> =conf.threshold:
print("現在の温度値は")
message ="水分値がしきい値を超えています "
telegram_status =send_telegram_message(message)
print(" This is the Telegram status: "、telegram_status)
#ステップ4
time.sleep(100)

conf.py:

  "" "Telegram_alert.pyの構成" "" 
bolt_api_key ="XXXX"#これはBolt CloudAPIキーです
device_id ="XXXX"#これはデバイスIDでありXXXXがいくつかの数字であるBOLTXXXXに似ています
telegram_chat_id ="@XXXX"#これは、作成されたTelegramチャネルのチャネルIDです。 @
telegram_bot_id ="botXXXX"の後に貼り付けます#これは、作成されたTelegramボットのボットIDです。ボットの後に貼り付け
threshold =0#アラートが送信されるしきい値

ボットとAPIの値を入力してください

プロセス:

Telegramを使用したアラートメッセージング

Telegramとは何ですか?

Telegramは、Whatsappに似たメッセージングアプリです。ファイルと一緒にメッセージを送受信することもできます。使用は無料です。プラットフォームには、Android / iOS / Windows Phoneだけでなく、PCまたはMacからもアクセスできます。

いくつかの電報用語-

テレグラムチャネルとは何ですか?

チャネルは、Whatsappに対するグループとは何かをテレグラムすることです。チャンネルは、メッセージを大勢の視聴者にブロードキャストするためのツールです。チャンネル登録者の数に制限はなく、永続的なURLで公開でき、チャンネル内の各投稿には独自のビューカウンターがあります。

ボットとは何ですか?

ボットは、Telegram内で実行されるサードパーティのアプリケーションです。ユーザーは、ボットにメッセージ、コマンド、リクエストを送信することで、ボットとやり取りできます。

ボットを使用して、チャネルでアラートを送信します。

このプロジェクトで何を学びますか?

このプロジェクトでは、センサー値が設定されたしきい値を超えたときに、テレグラムを介して携帯電話にアラートを送信できるようになります。

このプロジェクトには何が必要ですか?

Telegramを介してアラートやメッセージを送信するには、

が必要です。
  • インターネットに接続できるAndroid / iOS / WindowsPhone。
  • テレグラムアカウント。これには携帯電話番号が必要です。
  • puTTYまたは仮想マシンを介したUbuntuOSへのアクセス。

テレグラムの設定

Telegramにサインアップ/サインインする手順

  • 携帯電話でPlaystoreまたはAppStoreにアクセスし、Telegramを検索します。
  • Telegramアプリの最新バージョンをダウンロードしてインストールします。
  • 新しいアカウントにサインアップするか、携帯電話番号を入力してTelegramにサインインします。
  • 電報で電話をかけるか、SMSを送信して携帯電話番号を確認します。
  • アカウントを確認し、必要に応じて権限を承認します。
  • Telegramにログインすると、次のような画面が表示されます。 (下のスクリーンショットと異なっていても大丈夫です)

Telegramが正常にインストールされ、アカウントが設定されました。次のレッスンでは、チャンネルとボットについて詳しく学習します。

チャネルの作成

テレグラムチャネルとは何ですか?

チャネルは、Whatsappに対するグループとは何かをテレグラムすることです。チャンネルは、メッセージを大勢の視聴者にブロードキャストするためのツールです。チャンネル登録者の数に制限はなく、永続的なURLで公開でき、チャンネル内の各投稿には独自のビューカウンターがあります。

チャネルを作成する手順

  • Telegramアプリのホーム画面に移動します。
  • 左側からスワイプしてメニューを表示します。
  • [新しいチャンネル]をクリックします。
  • チャンネルの名前と説明を求められます。適切な名前と説明を付けてください。写真の追加はオプションです。
  • 次の画面で、チャンネルをパブリックに設定します。
  • 同じ画面で、チャンネルの永続的なリンクを入力するように求められます。小文字と0〜9の数字を使用して、チャネルリンクを作成できます。
  • チャネルリンク名はグローバルであり、リンク名が使用可能な場合にのみチャネルリンクを作成できることに注意してください。 チャネルリンク名はメールアドレスに似ています。つまり、一度に存在できる一意のメールIDは1つだけです。
  • チャネルリンク名は、temperature_alert_の後にメールIDを付けたままにしておくことができます。たとえば、メールIDが[email protected]の場合、チャネルリンク名を temperature_alert_developer_boltiot_com のままにしておくことができます。 (許可されていないため、@および。記号を削除し、アンダースコア_に置き換えました) これは単なる提案です。チャンネルリンク名は、有効である限り、好きなように保持できます。
  • このチャンネルの永続的なリンク名をメモしておいてください。後でこのチャネルにメッセージを送信する必要があります。たとえば、下のスクリーンショットのチャンネルリンク名は「 temperature_alert "。
  • おめでとうございます!新しいチャンネルを作成しました。アプリのホーム画面からこのチャンネルを表示することもできます。
  • 上部のチャンネル名をクリックすると、詳細が表示されます。
  • 次に、ボットを作成してチャネルに追加し、このチャネルでアラートを投稿できるようにする必要があります。

ボットを作成する

ボットとは何ですか?

ボットは、Telegram内で実行されるサードパーティのアプリケーションです。ユーザーは、ボットにメッセージ、コマンド、リクエストを送信することで、ボットとやり取りできます。

ボットを使用して、チャネルでアラートを送信します。

新しいボットを作成する

Telegramを使用すると、「BotFather」と呼ばれるボットを使用して新しいボットを作成できます。他のボットを作成および管理するための単一のボットです。

  • アプリのホーム画面で、右上の検索アイコンをクリックして「botfather」と入力します。
  • 検索結果で、以下に示すように「BotFather」の正しい結果をクリックします。正しい「BotFather」には、名前の横に青いチェックマークが付いています。これにより、「BotFather」とのチャットウィンドウが表示されます。
  • チャットにはすでにいくつかの項目があり、開始するためのコマンドのリストが表示されます。
  • 新しいボットを作成する必要があるため、先に進んでウィンドウに「/ newbot」と入力します。
  • ボット名やボットユーザー名など、いくつかの詳細を入力するように求められます。
  • ボットが正常に作成されると、次のような画面が表示され、ボットトークンが含まれます。このトークンは、ボットを制御したり、ボットに代わってメッセージを送信したりするために使用されます。 誰でもボットにアクセスできるようになるため、このトークンは安全に保管してください。
  • 上のスクリーンショットでは、ボットトークンは「894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc」です。 telegram_bot_idとして保存してください。 telegram_bot_idは、「bot」の後にボットトークンが続くものとして保存されます。したがって、この例では、telegram_bot_idは「bot894346529:AAhuJ2XJQy5dlEtLYF0sc0Z_qu0fSqihSSc」になります。
  • telegram_bot_idは、メッセージを送信するためにPythonコードで使用されます。 Pythonコードは、後のレッスンで説明します。
  • また、ボットIDを保存するときは注意してください。 0とO、Iと1などは見た目が似ているため、混乱する可能性があります。
  • おめでとうございます。新しいボットを作成しました。次に、アラートを送信できるように、以前に作成したチャネルに追加する必要があります。

ボットをチャネルに追加する

  • アプリのホーム画面から、前に作成したチャンネルを開きます。
  • 画面で、上部のチャンネル名をクリックして、チャンネルの情報を開きます。
  • [管理者]ボタンをクリックして、新しく作成したボットをチャネルに追加できるようにします。
  • ボットのユーザー名を使用して作成したボットを検索します。正しいボットを見つけたら、それをクリックしてチャネルに追加します。 ボットがチャンネルに投稿できるようになるため、前の手順で[管理者]ボタンをクリックしたことを確認してください。
  • ボットの権利を確認するように求められます。右上のチェックマークを押して、ボットをチャネルに追加し続けます。 ボットに「メッセージの投稿」の権限があることを確認してください。
  • チャネルの管理者リストに、新しく作成されたボットが表示されます。
  • 次に、ボットを介してチャネルにメッセージを送信するためのコードを作成します。

TWILLOとMAILGUNのネットワークを設定します

Googleアシスタントを使用して、携帯電話でいつでもSMSとメールでLM35温度センサーの値を受信できます。

Iotプロジェクトのセンサー値をいつでも確認する必要がある場合はどうしますか?クラウドにログインして確認するだけです。簡単そうですね。しかし、1時間に1回、または数分に1回、1日に何度も値をチェックする必要がある場合はどうでしょうか。それは少し(非常に)面倒ですよね?ここで、Googleアシスタントに「センサー値を送ってください」と言うだけでSMSとメールでセンサー値を取得できる世界を想像してみてください。待って、待って、待って。あなた自身がいくつかのステップでそれを行うことができるので、その状況はもはや想像上のものではありません。読んで調べてください。

このプロジェクトでは、LM35センサーからSMS経由で温度センサー値を受信し、Googleアシスタントへのコマンドを介してメールで送信します。

ステップ1:ハードウェアのセットアップ

名前が見えるように、LM35センサーを手に持ってください。左から右への3つのピンは、VCC、出力、およびGNDです。 3本のピンをメス-オス線に接続します。左から右への3つのピンに対応する3つのワイヤーを、BoltWiFiモジュールの5V、A0、およびGNDピンに接続します。 WiFiモジュールを5V電源に接続します。アクティブなインターネット接続に接続されていることを確認してください。

ステップ2:IntegromatでIFTTTモジュールを作成する

Integromatアカウントにログインします。 Integromatにサインアップしていない場合は、ここをクリックしてアカウントを作成できます。ログイン後、画面右上の「Create anewscenario」をクリックします。画面でIFTTT、HTTP、Mailgun、Twilioを選択して必要なツールを選択し、[続行]をクリックします。次に、白い円をクリックしてリストからIFTTTを選択し、メニューから[データの受信]を選択します。このモジュールは、後で説明するIFTTT上のアプレットに接続するために不可欠です。 「追加」をクリックして新しいWebhookを追加し、それに適切な名前を付けて「保存」をクリックします。これで、URLまたはリンクを取得できます。さらなる目的のために保存してください。

ステップ3:IntegromatでHTTPモジュールを作成する

次に、モジュールに付いている「+」記号をクリックして、新しいモジュールを追加します。 「HTTP」を選択し、次に「リクエストを作成」を選択します。これは、Bolt IotCloudからセンサー値を受け取るために必要です。 URLに、リンクhttps://cloud.boltiot.com/remote/your-bolt-iot-api-key/analogRead?pin=A0&deviceName=BOLTXXXXXXXを貼り付けます。 「your-bolt-iot-api-key」と「BOLTXXXXXXX」を、Bolt IotCloudで簡単に見つけることができるそれぞれの資格情報に置き換えます。メソッドを「GET」とし、「OK」をクリックします。

上記のリンクは、Bolt IotCloudからセンサー値を取得するために使用されます。上記のリンクの出力は、{"value": "XXX"、 "success": "1"}の形式になります。ここで、XXXはセンサー値です。

ステップ4:IntegromatでMailgunモジュールを作成する

次に、もう一度「+」をクリックし、検索ボックスに「フロー制御」と入力して選択し、続いて「ルーター」を選択します。 2つの白い円を作成する必要があります。最初の白い円をクリックし、「Mailgun」を選択してから「Sendaemail」を選択します。ここでは、Mailgunを使用して温度が記載された電子メールを受信します。 Mailgunにすでにアカウントを持っている場合は、Mailgunアカウントで簡単に見つけることができるAPIキーとドメイン名を持っている必要があります。 Mailgunにアカウントをお持ちでない場合は、以下の代替手順に従うことができます。必要に応じて、必要な詳細を入力します。受信者のメールアドレス(メールアドレス)を入力します。 [送信者]フィールドに「test @ yourdomainname」と入力します。 「内容」セクションでは、センサー値ではなく温度値を書き込む必要があります。温度値をセンサー値に変換するには、数値を10.24で割る必要があります。センサー値をXXXの形式で取得するには、関数「substring」を使用する他のすべての文字を削除する必要があります。横のダイアログボックスで「A」記号をクリックし、「サブストリング」を選択します。

角かっこ内の最初のスペースで、星印の下の[データ]オプションをクリックし、2番目のスペースと3番目のスペースで「11」と「14」を続けます。厳密に言えば、これはセンサー値を取得するための適切な方法ではないため、ハックを使用して取得しています。誰かが正しい方法を知っている場合は、下のコメントセクションでその方法について言及できます。

後者は、出力から「XXX」のみをキャプチャするために行われます。次に、この数値を10.24で除算します

シナリオを保存する前に、画面の下部にある[スケジュール]をオンにして、[シナリオの実行]を[すぐに]として選択することを忘れないでください。最終的なシナリオは次のようになります。

ステップ6:IFTTTで新しいアプレットを作成する

IFTTTアカウントにログインします。 If you haven't signed up on IFTTT, then you can create an account by clicking here. After logging in, click on "New Applet" under the "My Applets" section. Click on "+this" followed by "Google Assistant" after searching for it in the search box. Click on "Say a simple phrase" in the following screen. Type the command for which you want to trigger the required action.

Click on "Trigger" followed by "+that". Search for "Webhooks" in the search box and select it followed by selecting "Make a web request" in the following screen. In the URL field, paste the link which we got in Step 2 after creating an IFTTT module in Integromat. This step is very essential to run the scenario in Integromat when you say the command to Google Assistant. Afterwards, select "POST" in method and click on "Create Action". Write a suitable name for the applet and select "Finish".

それでおしまい。 Now see the magic when you take out your mobile phone and say "Ok Google, send the temperature sensor value."

Schematics

Connecting female-to-male wires to LM35 sensor

Connecting female-to-male wires to the Bolt WiFi module

Final connection

THAT'S IT NOW UPLOAD EVERY THING AND THEN CHECK.

IF ANY DOUBTS CONTACT ME BY COMMENT SECTION.

THANK YOU....................................


コード

  • FINAL RECEIVER
  • FINAL TRANSMITER
FINAL RECEIVERArduino
#include #include #include #include #include #include Servo servo;RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int servo_pin =9;int sensor_pin=A0;int output_value;void setup() { Serial.begin(9600); radio.begin(); servo.attach (servo_pin ); radio.openReadingPipe(0, address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.startListening();}int pos;void loop() { if (radio.available()) { radio.read(&pos, sizeof(pos)); Serial.println(pos); if(pos==100) { digitalWrite(6,LOW); digitalWrite(5,LOW); digitalWrite(4、LOW); digitalWrite(3、LOW); // Serial.println("gk0"); } else if (pos==200){ digitalWrite(6,HIGH); digitalWrite(5,LOW); digitalWrite(4,HIGH); digitalWrite(3、LOW); delay(10); // Serial.println("gk1"); } else if (pos==300){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4、LOW); digitalWrite(3,HIGH); delay(10); // Serial.println("gk2"); } else if (pos==400){ digitalWrite(6,LOW); digitalWrite(5,HIGH ); digitalWrite(4,HIGH); digitalWrite(3、LOW); delay(10); // Serial.println("gk3"); } else if (pos==500){ digitalWrite(6,HIGH); digitalWrite(5,LOW ); digitalWrite(4、LOW); digitalWrite(3,HIGH); delay(10); // Serial.println("gk5"); } else if (pos==600){ servo.write(90); delay(10); // Serial.println("gk6"); } else if (pos==700){ servo.write(180); delay(10); // Serial.println("gk7"); } } else { Serial.println("connection lost"); }} 
FINAL TRANSMITERArduino
#include #include #include #include #include RF24 radio(7, 8); // CSN, CEconst byte address[6] ="00001";int x_key =A1; int y_key =A0; int p_key =A3; int q_key =A2; int x_pos;int y_pos;int p_pos;int q_pos;void setup() { radio.begin(); radio.openWritingPipe(address); radio.setPALevel(RF24_PA_MIN); radio.setChannel(87); radio.setDataRate(RF24_250KBPS); radio.stopListening(); Serial.begin(9600); pinMode (x_key, INPUT); pinMode (y_key, INPUT); pinMode (p_key, INPUT); pinMode (q_key, INPUT); }int pos;void loop() { x_pos =analogRead (x_key); y_pos =analogRead (y_key); p_pos =analogRead (p_key); q_pos =analogRead (q_key); Serial.println(x_pos); Serial.println(y_pos); Serial.println(p_pos); Serial.println(q_pos); if (p_pos>400 &&p_pos<600 &&q_pos>400 &&q_pos<600) { if(x_pos>400 &&x_pos<600 &&y_pos>400 &&y_pos<600) { pos=100; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos<400) { pos=200; radio.write(&pos, sizeof(pos)); } if(x_pos>400 &&x_pos<600 &&y_pos>600) { pos=300; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos<400) { pos=400; radio.write(&pos, sizeof(pos)); } if(y_pos>400 &&y_pos<600 &&x_pos>600) { pos=500; radio.write(&pos, sizeof(pos)); } Serial.println(pos); delay(100);}else if(p_pos<400 || p_pos>600){ if(p_pos<400) { pos=600; radio.write(&pos, sizeof(pos)); } if(p_pos>600) { pos=700; radio.write(&pos, sizeof(pos)); } delay(100);}}

回路図


製造プロセス

  1. Arduino Spybot
  2. FlickMote
  3. 自家製テレビB-Gone
  4. マスタークロック
  5. Find Me
  6. Arduino Power
  7. Tech-TicTacToe
  8. Arduino Quadruped
  9. BoltとArduinoを使用したLEDの明るさの制御
  10. Arduinoジョイスティック
  11. CNCマシン