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

電子チェス盤(4x4デモプロトタイプ)

コンポーネントと消耗品

>
ホール効果センサー
× 16
無はんだブレッドボードフルサイズ
× 1
LED(汎用)
× 16
RFIDリーダー(汎用)
125 kHzRFIDリーダーとアンテナ
× 1
Arduino Mega 2560
× 1
RFIDタグ3M
× 2

必要なツールとマシン

plexiglass
光沢紙
木の板
アクリル絵の具(濃い緑色とクリーム色)x2
10mm丸型磁石
ポーンとクイーンのチェスの駒
はんだごてとはんだ付け材料

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

>
Arduino IDE

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

こんにちはメーカー、

私はTahirMiriyevです。2018年、トルコのアンカラにある中東工科大学を卒業しました。私は応用数学を専攻していましたが、特に電子工学、デザイン、プログラミングの手仕事が必要な場合は、常にものを作るのが好きでした。私たちの工業デザイン学科で提供されたプロトタイピングに関するユニークなコースのおかげで、私は本当に面白いものを作る機会を得ました。このプロジェクトは、1学期(4か月)の期間継続するタームプロジェクトとして扱うことができます。学生には、既存の製品/デモを設計するための創造的なアプローチを見つけ、Arduinoマイクロコントローラーとセンサーを使用してアイデアを実現するタスクが割り当てられました。私はチェスについて考えていましたが、成功したプロジェクトについて調査した後、以前のプロジェクトでは、メーカーが基本的に既製のチェスエンジン(各フィギュアのすべての動きがコアでプログラムされている)と、ラズベリーパイ、いくつかのMUXを使用していることに気付きました、LEDおよびリードスイッチ。しかし、私のプロジェクトでは、チェスエンジンの観点から外部ソフトウェアを取り除き、RFIDリーダー、ホール効果センサー、Arduino Megaを使用して、フィギュア認識の問題に対する創造的な解決策を見つけることにしました。

<図>

簡単に言うと、「頭脳」=マイクロコントローラーを備えたチェス盤があり、手に持っている人物と置いた場所をボードに認識させる必要があるとします。これが図形認識の問題です。すべてのピースがボード上の初期位置に立っているチェスエンジンを使用している場合、この問題の解決策は簡単です。その理由を説明する前に、いくつかコメントさせてください。

ここで物事がどのように機能するかに熱心な人のために、なぜリードスイッチが必要なのかを明確にする必要があります(または私の場合はホール効果センサーを使用しました):各ピースの下に磁石を置き、それをセンサーの上の磁場の有無により、ボード上の正方形(すべての正方形の下にリードスイッチがあると仮定)により、コントローラーに正方形の上にピースが立っているかどうかを認識させることができます。ただし、それでも、どのピースが正方形に立っているかを正確にマイクロコントローラーに伝えることはできません。正方形にピースがある/ないことだけを伝えます。この時点で、チェスエンジンを使用して解決できる図認識の問題に直面し、チェスゲームの開始時にすべてのピースが初期位置に配置されます。このようにして、マイクロコントローラは、すべてのアドレスがメモリに固定された状態で、すべての部品が最初からどこにあるかを「認識」します。それにもかかわらず、これには大きな制限があります。たとえば、任意の数のピースを選択してボード上の任意の場所にランダムに配置し、ゲームの分析を開始することはできません。常に最初から開始する必要があります。ピースを持ち上げて他の正方形に配置すると、マイクロコントローラーがそれらの位置を追跡する唯一の方法であるため、すべてのピースは元々ボード上にある必要があります。本質的に、これは私が気づき、取り組むことにした問題でした。

私の解決策は、創造的ではありますが、非常に単純でした。ボードの前面にRFIDリーダーを配置しました。その間、ピースの下に磁石だけでなく、RFIDタグも取り付けました。各ピースには一意のIDが付いています。したがって、図を任意の正方形に配置する前に、まずピースをRFIDリーダーに近づけて、IDを読み取らせ、ピースを識別してメモリに保存してから、好きな場所に配置できます。また、回路設計を簡素化するために、リードスイッチを使用する代わりに、ホール効果センサーを使用しました。これは、マイクロコントローラーに0または1をデジタルデータとして送信することだけが異なり、「ある」または「ある」を意味します。正方形にはそれぞれ「何もありません」。 LEDも追加しました(残念ながら同じ色ではなく、LEDがありませんでした)。これにより、駒を持ち上げると、持ち上げた駒を置くことができるすべての正方形の場所が点灯します。チェス学習者のための教育実践と考えてください:)

最後に、私がいくつかの手法を使用したにもかかわらず、プロジェクトは単純で理解しやすいものであり、深く練り上げられたり、過度に複雑になったりすることはありません。 8x8のチェス盤を進めるのに十分な時間がありませんでした(トルコでは64のホール効果センサーが高価であるため、プロジェクトに関連するすべての費用を負担しました)。そのため、ポーンとクイーンの2つのピースだけをテストして4x4のデモバージョンを作成しました。 。チェスエンジンを使用する代わりに、すべてを生成するArduinoのソースコードを作成しました。

ステップバイステップに進む前に プロジェクトがどのように行われたかについての説明があれば、説明用のビデオを見て、私が話していることについて直感的なアイデアを得るのをお勧めします。

注1:赤いLEDの1つ(列の最初/左から右へ)が燃え尽きました。気にしないでください。

注2:広く使用されていますが、私の経験から、RFIDテクノロジーはDIYアプリケーションで使用するのに最適なアイデアではないと言えます(もちろん、代替手段がある場合)。すべてがうまくいく前に、私はチェスの駒をリーダーの近くに置き、IDが正しく読み取られるまで待つことで多くの試行を行いました。 RFIDリーダーがIDを読み取る方法は頭痛の種であるため、シリアルポートを設定する必要があります。問題を理解するためには、自分で試してみる必要があります。

<図> <図> <図> <図> <図> <図> <図> <図>

これがすべてのツールのリストです 私はプロジェクトに使用しました:

電子部品:

  • ブレッドボード(x1)
  • 全方向性A1126LUA-T(IC-1126 SW OMNI 3-SIP ALLEGRO)ホール効果センサー(x16)
  • 基本的な5mm LED(x16)
  • ジャンパー線
  • 125 kHz RFIDリーダーおよびアンテナ(x1)
  • Arduino Mega(x1)
  • RFID 3Mタグ(x2)

その他の資料:

  • プレキシガラス
  • 光沢紙
  • 短い板(木製)
  • アクリル絵の具(ダークグリーンとクリーム)x2
  • 薄いボール紙
  • 10 mm丸型磁石(x2)
  • ポーンとクイーンのピース
  • はんだごてとはんだ付け材料
<図>

物事がどのように行われたかを説明する時間。 ステップバイステップの説明に従ってください:

1. 21x21 cmのボール紙と、ボードの上部の壁をカットして接着するための追加のボール紙を用意して、A B C D 1 2 34を列挙した16個の正方形を作成します。段ボールは薄いので、各正方形に16個のホール効果センサーを貼り付けることができます。各正方形には3本の脚があり、16個のLEDにはそれぞれ2本の脚があります。

2.コンポーネントを設定したら、ホール効果センサーの脚とLEDをジャンパー線にはんだ付けするためにはんだ付けを行う必要があります。この時点で、LEDの+レッグと-レッグ、およびホール効果センサーのVCC、GND、PINレッグと混同しないように、色付きのワイヤーをスマートに選択することをお勧めします。もちろん、センサー付きのPCBを印刷したり、WS2812タイプのLEDをすでにはんだ付けしたりすることもできますが、プロジェクトをシンプルに保ち、さらに「手作業」を行うことにしました。この時点で、あなたがしなければならないのは、コードとセンサーを準備することだけです。フリッツ方式に続く後の段階で、各ワイヤーの端をどこに取り付けるべきかを見ることができます。間もなく、それらのいくつかはArduino MegaのPINに直接接続され(Arduinoには十分にあります)、その他はブレッドボードに接続され、すべてのGNDは1本のコードにはんだ付けできます(共通のアースを作成します)。 ArduinoボードのGNDに接続する必要があります。ここで重要な注意事項:ホール効果センサーは全方向性です。つまり、磁石のどの極がセンサーの近くに保持されるかは関係ありません。近くに磁場がある場合は0データを送信し、ない場合は1データを送信します。つまり、磁石はセンサーから離れています(たとえば、5 sm以上)。

3.同様の21x21cmのボール紙を準備し、ArduinoMegaと長いブレッドボードをその上に固定します。また、段ボールから任意の高さの4つの壁を再度切り取り、21x21cmの正方形のボードの2つの層でそれらを垂直に接着することもできます。次に、FritzingSchematicsに従って設定します。 LEDとホール効果センサーを使い終わったら、RFIDリーダーを設定することもできます。

4.基本コードを使用して信号を送信することにより、すべてのLEDとセンサーが機能するかどうかをテストします。この手順を避けないでください。すべてが適切に機能するかどうかをテストし、ボードのさらなる構築に進むことができます。

5.ポーンとクイーンを準備します。半径10cmの2つの磁石と、丸いRFIDタグを下に取り付けます。後で、ArduinoIDEのシリアル画面からこれらのタグのIDを読み取る必要があります。

6.すべてがうまくいったら、メインコードを開始して試してみてください!

7(オプション)。木を使って芸術的な作業を行うと、デモがより自然に見えるようになります。それはあなたの意志と想像力次第です。

さまざまな段階のビデオと写真を次に示します。

<図> <図> <図> <図> <図> <図> <図> <図> <図> <図> <図> <図> <図> <図>

ご清聴ありがとうございました!すべてをテストし、私が見逃したあらゆる種類の間違い、改善、提案などについてコメントを自由に書いてください。プロジェクトについての意見を聞くのを楽しみにしています。プロジェクトについて何らかの支援が必要な場合は、私にメールしてください(miriyevt @ gmail .com)またはSkype(tahir.miriyev9r1)を追加して、会話のスケジュールを設定し、詳細について話し合うことができます。頑張ってください!

コード

  • thinK_code.ino
thinK_code.ino Arduino
コード分​​析のプロセスを理解できるようにするために、できるだけ多くのコメントを残そうとしました。正直なところ、ロジックは一見少し複雑に見えるかもしれませんが、コードのロジックを深く掘り下げると、より包括的に見えます。

注:実際のチェス盤と同様に、私は正方形をA1、A2、A3、A4、B1、...、C1、...、D1、..、D4として抽象的に番号付けしました。ただし、コードでは、この表記を使用することは実用的ではありません。したがって、配列を使用し、正方形をそれぞれ00、01、02、03、10、11、12、13、...、32、33として表しました。
 #include  SoftwareSerial RFID(11、12); // --------------------------------------------------- - - - - - - 始める - - - - - - - - - - - - - - - - - - - -------------------------------------------------- ------ int empty_pos [2]; int figure_pos [2] [2]; // 3つのエントリ(x pos、y pos、および値1(queen)、2(pawn)int new_id [14] ={0、0、 0、0、0、0、0、0、0、0、0、0、0、0}; int id_type_matrix [4] [4] ={{0、0、0、0}、{0、0、 0、0}、{0、0、0、0}、{0、0、0、0}}; int temp =0; int queen_id [14] ={2、53、65、48、48、56、 51、49、55、70、65、51、52、3}; int pawn_id [14] ={2、53、65、48、48、56、51、56、67、49、56、52、68、 3}; int temp_vect [2]; int count =0; int ID =0; int yeni_id [14]; //ホール効果センサーの初期配列マトリックスinthes_bool_matrix [4] [4]; //ホール効果のリストArduinoconstのセンサーピンinthes_00 =44; const int hes_01 =45; const int hes_02 =46; const int hes_03 =47; const int hes_10 =48; const int hes_11 =49; const int hes_12 =50; const int hes_13 =2; const int hes_20 =3; const int hes_21 =4; const int hes_22 =5; const int hes_23 =6; const int hes_30 =7; const int hes_31 =8; const int hes_32 =9; const int hes_33 =10; int hes_pin_matrix [4] [4] ={{hes_00、he s_01、hes_02、hes_03}、{hes_10、hes_11、hes_12、hes_13}、{hes_20、hes_21、hes_22、hes_23}、{hes_30、hes_31、hes_32、hes_33}}; // LEDピンconstint led_00 =22; const int led_01 =23; const int led_02 =24; const int led_03 =25; const int led_10 =26; const int led_11 =27; const int led_12 =28; const int led_13 =29; const int led_20 =30; const int led_21 =31; const int led_22 =32; const int led_23 =33; const int led_30 =34; const int led_31 =35; const int led_32 =36; const int led_33 =37; int led_matrix [4] [4] ={{led_00、 led_01、led_02、led_03}、{led_10、led_11、led_12、led_13}、{led_20、led_21、led_22、led_23}、{led_30、led_31、led_32、led_33}}; // ---------- -------------------------------------------セットアップエリア----- -------------------------------------------------- -------------------------- void setup(){RFID.begin(9600); Serial.begin(9600); //ホール効果センサーの読み取り(入力)モードpinMode(hes_01、INPUT); pinMode(hes_02、INPUT); pinMode(hes_03、INPUT); pinMode(hes_00、INPUT); pinMode(hes_10、INPUT); pinMode(hes_11、INPUT); pinMode(hes_12、INPUT); pinMode(hes_13、INPUT); pinMode(hes_20、INPUT); pinMode(hes_21、INPUT); pinMode(hes_22、INPUT); pinMode(hes_23、INPUT); pinMode(hes_30、INPUT); pinMode(hes_31、INPUT); pinMode(hes_32、INPUT); pinMode(hes_33、INPUT); // LEDピンの書き込み(出力)モードpinMode(led_00、OUTPUT); pinMode(led_01、OUTPUT); pinMode(led_02、OUTPUT); pinMode(led_03、OUTPUT); pinMode(led_10、OUTPUT); pinMode(led_11、OUTPUT); pinMode(led_12、OUTPUT); pinMode(led_13、OUTPUT); pinMode(led_20、OUTPUT); pinMode(led_21、OUTPUT); pinMode(led_22、OUTPUT); pinMode(led_23、OUTPUT); pinMode(led_30、OUTPUT); pinMode(led_31、OUTPUT); pinMode(led_32、OUTPUT); pinMode(led_33、OUTPUT); read_tags(); delay(1000); first_figure(); delay(1000); Serial.end(); RFID.end(); delay(5000); Serial.begin(9600); delay(1000); RFID.begin(9600); delay(1000); read_tags(); delay(5000); //RFID.flush(); //複数の読み取りを停止しますsecond_figure(); delay(1000); // id_type_matrix [0] [2] =2; // id_type_matrix [2] [1] =1;} // ------------------ ---------------------------------機能領域--------------- --------------------------------------------- // --- ------------------------------------- RFIDIDの追跡と図の認識------- ---------------------------------------- boolean compare_ID(int aa [14]、int bb [14]){boolean ff =false; int fg =0; for(int cc =0; cc <14; cc ++){if(aa [cc] ==bb [cc]){fg ++; }} if(fg ==14){ff =true; } return ff;} int read_tags(){Serial.println( "図をRFIDリーダーの近くに配置"); delay(5000); RFID.flush(); //複数の読み取りを停止しますif(RFID.available()> 0){delay(300); for(int z =0; z <14; z ++){ID =RFID.read(); new_id [z] =ID; Serial.println(new_id [z]、DEC); delay(500); }} Serial.println( "IDの読み取りが完了しました"); ++カウント; delay(5000); //フィギュアをボードに配置し、2番目のフィギュアをRFIDリーダーの前に配置する時間return new_id;} void first_figure(){if(compare_ID(new_id、queen_id)==true){Serial.println( "QUEEN IS DETECTED" ); for(int s =0; s <=3; s ++){for(int t =0; t <=3; t ++){if(digitalRead(hes_pin_matrix [s] [t])==0){id_type_matrix [s ] [t] =1; temp_vect [0] =s; temp_vect [1] =t; Serial.print( "クイーンは次の場所に配置されます:"); Serial.print(s); Serial.println(t); digitalWrite(led_matrix [s] [t]、HIGH); delay(1000); digitalWrite(led_matrix [s] [t]、LOW); }}}} else if(compare_ID(new_id、pawn_id)==true){Serial.println( "PAWN IS DETECTED"); for(int s =0; s <=3; s ++){for(int t =0; t <=3; t ++){if(digitalRead(hes_pin_matrix [s] [t])==0){id_type_matrix [s ] [t] =2; temp_vect [0] =s; temp_vect [1] =t; Serial.print( "ポーンは次の場所に配置されます:"); Serial.print(s); Serial.println(t); digitalWrite(led_matrix [s] [t]、HIGH); delay(1000); digitalWrite(led_matrix [s] [t]、LOW); }}}} else {Serial.println( "未定義の図"); }} void second_figure(){if(compare_ID(new_id、queen_id)==true){Serial.println( "QUEEN IS DETECTED"); for(int s =0; s <=3; s ++){for(int t =0; t <=3; t ++){if(digitalRead(hes_pin_matrix [s] [t])==0 &&(s!=temp_vect [0] || t!=temp_vect [1])){id_type_matrix [s] [t] =1; Serial.print( "クイーンは次の場所に配置されます:"); Serial.print(s); Serial.println(t); digitalWrite(led_matrix [s] [t]、HIGH); delay(1000); digitalWrite(led_matrix [s] [t]、LOW); }}}} else if(compare_ID(new_id、pawn_id)==true){Serial.println( "PAWN IS DETECTED"); for(int s =0; s <=3; s ++){for(int t =0; t <=3; t ++){if(digitalRead(hes_pin_matrix [s] [t])==0 &&(s!=temp_vect [0] || t!=temp_vect [1])){id_type_matrix [s] [t] =2; Serial.print( "ポーンは次の場所に配置されます:"); Serial.print(s); Serial.println(t); digitalWrite(led_matrix [s] [t]、HIGH); delay(1000); digitalWrite(led_matrix [s] [t]、LOW); }}}}} // ------------------------------------------- ----図を見つける-------------------------------------------- ----------------------------- //フィギュアをボードに戻したときにのみLEDをオフにする追加の関数voidleds_off() {int i、j; for(i =0; i <=3; i ++){for(j =0; j <=3; j ++){digitalWrite(led_matrix [i] [j]、LOW); }}} // ------------------------------------------------- ---- MOVING QUEEN -------------------------------------------- -------------------------------------------------- --void move_queen(){int i、j; for(i =empty_pos [0]; i <3;){digitalWrite(led_matrix [++ i] [empty_pos [1]]、HIGH); //垂直線に沿って光を当てる} for(i =empty_pos [0]; i> 0;){digitalWrite(led_matrix [-i] [empty_pos [1]]、HIGH); } for(i =empty_pos [1]; i <3;){digitalWrite(led_matrix [empty_pos [0]] [++ i]、HIGH); //水平線に沿って光を当てる} for(i =empty_pos [1]; i> 0;){digitalWrite(led_matrix [empty_pos [0]] [-i]、HIGH); } i =empty_pos [0]; j =empty_pos [1]; for(i =i-3、j =j-3; i <=3、j <=3; i ++、j ++){if(i> =0 &&j> =0 &&i!=empty_pos [0]){ Serial.print(i); Serial.println(j); digitalWrite(led_matrix [i] [j]、HIGH); }} i =empty_pos [0]; j =empty_pos [1]; for(i =i + 3、j =j-3; i> =0、j <=3; i-、j ++){if(i> =0 &&i <=3 &&j> =0 &&j <=3 &&i!=empty_pos [0]){Serial.print(i); Serial.println(j); digitalWrite(led_matrix [i] [j]、HIGH); }}} // -------------------------------------数字の数を読み取り、位置を保存し始めますそれぞれについて-------------------------- void figure_reading(){//ループ内のすべての位置を読み取り、ポーンの位置を検出しますint i、j、found_figure =0; start:found_figure =0; //ボード上のすべての占有(0)および空(1)の位置を読み取ります//変数hes_bool_matrix [0] [0] =digitalRead(hes_00);に0(=空の正方形)、1(=占有された正方形)を割り当てます。 hes_bool_matrix [0] [1] =digitalRead(hes_01); hes_bool_matrix [0] [2] =digitalRead(hes_02); hes_bool_matrix [0] [3] =digitalRead(hes_03); hes_bool_matrix [1] [0] =digitalRead(hes_10); hes_bool_matrix [1] [1] =digitalRead(hes_11); hes_bool_matrix [1] [2] =digitalRead(hes_12); hes_bool_matrix [1] [3] =digitalRead(hes_13); hes_bool_matrix [2] [0] =digitalRead(hes_20); hes_bool_matrix [2] [1] =digitalRead(hes_21); hes_bool_matrix [2] [2] =digitalRead(hes_22); hes_bool_matrix [2] [3] =digitalRead(hes_23); hes_bool_matrix [3] [0] =digitalRead(hes_30); hes_bool_matrix [3] [1] =digitalRead(hes_31); hes_bool_matrix [3] [2] =digitalRead(hes_32); hes_bool_matrix [3] [3] =digitalRead(hes_33); for(i =0; i <=3; i ++){for(j =0; j <=3; j ++){if(hes_bool_matrix [i] [j] ==0){found_figure ++; if(found_figure ==1){if(id_type_matrix [i] [j] ==0){id_type_matrix [i] [j] =temp; temp =0; } if(id_type_matrix [i] [j] ==1){Serial.print( "Queen is Standing on:"); Serial.print(i); Serial.println(j); figure_pos [0] [0] =i; figure_pos [0] [1] =j; } else if(id_type_matrix [i] [j] ==2){Serial.print( "ポーンは立っています:"); Serial.print(i); Serial.println(j); figure_pos [0] [0] =i; figure_pos [0] [1] =j; // if(id_type_matrix [i] [j] ==0){// id_type_matrix [i] [j] =temp; // temp =0; }}}} else if(found_figure ==2){if(id_type_matrix [i] [j] ==0){id_type_matrix [i] [j] =temp; temp =0; } if(id_type_matrix [i] [j] ==1){Serial.print( "Queen is Standing on:"); Serial.print(i); Serial.println(j); figure_pos [1] [0] =i; figure_pos [1] [1] =j; // if(id_type_matrix [i] [j] ==0){// id_type_matrix [i] [j] =temp; // temp =0; }} else if(id_type_matrix [i] [j] ==2){Serial.print( "ポーンは立っています:"); Serial.print(i); Serial.println(j); figure_pos [1] [0] =i; figure_pos [1] [1] =j; // if(id_type_matrix [i] [j] ==0){// id_type_matrix [i] [j] =temp; // temp =0; } // goto out; }}}}} out:if(found_figure ==0 || found_figure ==1){goto start; } else if(found_figure ==2){leds_off(); } // - - - - - - - - - - - - - - - - - - - - - - - 私たち選択する図を選択してください--------------------------------------------- -------------------- empty_pos [0] =-1; delay(2000); if(digitalRead(hes_pin_matrix [figure_pos [0] [0]] [figure_pos [0] [1]])==1){empty_pos [0] =figure_pos [0] [0]; empty_pos [1] =figure_pos [0] [1]; temp =id_type_matrix [empty_pos [0]] [empty_pos [1]]; id_type_matrix [empty_pos [0]] [empty_pos [1]] =0; } else if(digitalRead(hes_pin_matrix [figure_pos [1] [0]] [figure_pos [1] [1]])==1){empty_pos [0] =figure_pos [1] [0]; empty_pos [1] =figure_pos [1] [1]; temp =id_type_matrix [empty_pos [0]] [empty_pos [1]]; id_type_matrix [empty_pos [0]] [empty_pos [1]] =0; } // ------------------------------------------- MOVINGPAWNまたはQUEEN -------------------------------------------------- -------------------------------------------------- if(temp ==1){if(empty_pos [0]!=-1){move_queen(); goto start; }} else if(temp ==2){if(empty_pos [0]!=-1){if(empty_pos [0] <2){digitalWrite(led_matrix [empty_pos [0] + 1] [empty_pos [1]] 、 高い); digitalWrite(led_matrix [empty_pos [0] + 2] [empty_pos [1]]、HIGH); } else if(empty_pos [0] ==2){digitalWrite(led_matrix [empty_pos [0] + 1] [empty_pos [1]]、HIGH); } それ以外; } delay(100);} figure_reading();} // ------------------------------------ ---------------------------------ループが開始します--------------- -------------------------------------------------- ------------------- void loop(){figure_reading();} 

回路図

回路図は少し複雑ですが、アイデアは明確でなければなりません。フリッツィング(ちなみに強くお勧めします)を使用したのは初めてでしたが、おそらく接続をより正確に描くことができたでしょう。とにかく、私は回路図の中のすべてを書き留めました。

注:Fritzingのデータベース内のコンポーネントの中から、RDIFリーダーの正確なモデルを見つけることができませんでした。私が使用したモデルは125KhzRFIDモジュール-UARTです。このモジュールをArduinoで設定する方法については、Youtubeでチュートリアルを見つけることができます。 4x4demo_q0nvG3T3nS.fzz

製造プロセス

  1. プロトタイプへのオード
  2. 電子インク
  3. Raspouletteプロトタイプ
  4. RFIDとは何ですか?
  5. プロトタイプ射出成形金型と生産射出成形金型
  6. 電子皮膚は痛みに反応します
  7. PCBプロトタイプ製造会社の選び方
  8. 重要なプロトタイプ PCB 定義:パート 2
  9. プロトタイピングとは?
  10. 電動ポンプの紹介
  11. 電子点火システムの働きを理解する