スパイビデオTrakr IIIのハッキング:Legos、Snap Circuits、スパイビデオTrakrからグラバーボットを作成する:21ステップ

スパイビデオTrakr IIIのハッキング:Legos、Snap Circuits、スパイビデオTrakrからグラバーボットを作成する:21ステップ

目次:

Anonim

このインストラクタブルで、私はLegos、Snap Circuits、そしてSpy Video Trakrを使ってリモートコントロールグラバーボットを作成する方法を説明します。 Trakr用のC言語コンパイラをダウンロードしてインストールする方法を説明します。次に、簡単なプログラムをコンパイルしてTrakrにインストールしてから、この簡単なプログラムを実行する方法を説明します。それからTrakrを開く方法、Trakrの回路基板上のGPIO接続にジャンパーピンを取り付ける方法を説明します。ジャンパーピンを取り付けた状態で、trakrの9ボルト電源に接続する方法と、Snap CircuitsとLegoモーターに接続するための接続ケーブルを作成する方法を紹介します。 LegoグラバーアームをTrakrに取り付ける必要があるので、Legos製のペイロードデッキを取り付ける方法を紹介します。最後に、リモート制御グラバーボットを操作するためにTrakrにコンパイルしてインストールできるC言語コードを提供します。

Spy Video Trakrは、マイクとカラービデオカメラ、スピーカー、暗視用の近赤外LED、オーディオ/ビデオを記録するためのSDメモリカードスロット、およびダウンロード可能なユーザーデザインを保存するための8MBのオンボードメモリを備えたリモートコントロールロボットです。プログラム。リモートコントロールユニットには、ロボットを駆動するためのコントロールレバー、スピーカー、カラービデオディスプレイがあり、マイクで拾った音声を聞いたり、カメラから送信されたビデオを表示したりできます。ユーザーが設計したプログラムの機能。

Toy Challengeコンテストで、「指導者、スナップサーキット、およびスパイビデオTrakrからグラバーボットを作成する」というこの説明可能なものに投票してください。

私はこのInstructableをToy Challengeコンテストに入れるために特別に作成しました。 Spy Video Trakrのハッキングについて投稿した数多くのInstructablesから明らかなように、私は最近おもちゃのハッキングに興味を持つようになりました。

www.instructables.com/member/KRA5H/

私は他のTrakrの所有者が彼らのTrakrsのために彼ら自身の新しいハックを思いつくように鼓舞することを願ってこれらのハックを投稿しました(そして彼らが彼らのハックについてInstuctableを投稿して私もやれるように)。

Parrot AR Droneをハッキングすることに非常に興味があります。あいにく、私はARドローンもiPadもiPhoneも購入する余裕がありません - ドローンのリモコンとして使用するためにiPodさえも購入できません。 AR Droneをハッキングしようとする機会を得ることができるように、私はToy Challengeコンテストの最優秀賞を獲得したいと思っています。

用品:

ステップ1:Trakr用のC言語コンパイラをダウンロードしてインストールする

コンパイラとは「世界にはたった10種類の人々しかいない。バイナリーを理解する人々とそうでない人々とがある」と言っているこっけいなTシャツを見たことがありますか。ヒステリックに笑うのではなく自分の頭をかいているのに気づいたら、バイナリを理解できません。一方、コンピュータはバイナリしか理解できません。 1と0オンとオフ。

私は頭の中でバイナリコードや機械語を使える人たちの話を聞いたことがありますが、私たちの残りの1人は1と0以外の何もないコンピュータプログラムを書くのに苦労するでしょう。代わりに、C言語のような高級言語を使ってソフトウェアを作成します。

あなたは今まで外国に行ったことがあり、その言語を知らなかったことがありますか?あなたはあなたが言うことを地元の人が理解できる言語に翻訳する翻訳者を雇うことができます。それがコンパイラがすることです。コンピュータはC言語を理解できないので、コンパイラはC言語で書いたソフトウェアをマシンコード、つまりコンピュータが理解できる1と0に変換します。

Trakr用のプログラムを作成し、ソフトウェアをTrakrが理解できる機械語にコンパイルできるように、C言語コンパイラをダウンロードしてインストールする必要があります。 C言語コンパイラは、かなり完成度の高いソフトウェア開発キット(SDK)に含まれており、Wild Planetの人々はこれを「Primer」と呼んでいます。ですから、Primerをダウンロードして次のリンクをクリックして見つけやすい場所に保存してください。

www.spygear.net/help/files/TRAKR_APP_PRIMER_V1.2.zip

ステップ2:Trakr用C言語コンパイラをダウンロードしてインストールする(続き)

ハードドライブ(通常はC:ドライブ)のルートディレクトリにC: trakrという名前の新しいフォルダを作成します。次に、TrakrのWebサイトからダウンロードしたTrakr Primerのzipファイルを開き、Trakr PrimerのzipファイルからすべてのファイルとフォルダをC: trakrフォルダにコピーします。

ステップ3:Trakr用C言語コンパイラをダウンロードしてインストールする(続き)

(スクリーンショットはWild Planetの好意による)

次に、Primerのコンパイラとツールへのパスを含めるように環境変数を更新する必要があります。環境変数がわからなくても、心配しないでください。単にTrakrプログラムをコンパイルするために必要なコンパイラとツールの場所をコンピュータに指示しているだけです。

Windowsのテキストベースのインターフェイスであるコマンドプロンプトを開きます。 スタート - > プログラム - > アクセサリ - > コマンドプロンプトの順に選択します。 ">"の後にカーソルが点滅し、テキストベースのコマンドを入力できます。コマンドの入力が終わったら、キーボードのEnterキーを押してコマンドを実行します。コマンドプロンプトで、次のコマンドを入力します。

cd trakr

セットアップ

cdの内部

ステップ4:Trakr用C言語コンパイラをダウンロードしてインストールする(続き)

(スクリーンショットはWild Planetの好意による)

コマンドプロンプトで「make」と入力するとコンパイラが実行されるため、実行するメイクファイルがあるフォルダに移動するようにしてください。その後、コンパイラはその「makefile」内の指示に従って、「app.c」ファイル(ソースコードを含むテキストファイル)をTRAKRプログラムに変換します。

コンパイラは現在のフォルダで "app.c"ファイルを探すだけなので、常にあなたのソースコードにapp.cという名前を付けます。あなたのプログラムを意味のある名前で別々のフォルダに保存してください。これは様々な "app.c"ファイルを整理するのに役立ちます。スクリーンショットに示すように、C: Trakr Internalsフォルダで "make clean"を実行します。プロンプトを返す前に、削除しているすべてのファイルを報告します。次に、コマンドプロンプトで「make」と入力すると、コンパイラは「makefile」を使用してプログラムのすべての部分(多くのライブラリ、イメージ、およびコードで指定されたファイルを含む)を.binファイルに組み立てて書き込みます。 TRAKRハードウェア

「C: Trakr Internals>」プロンプトで次のように入力します。

きれいにする

作る

Trakr用に新しくコンパイルしたプログラムまたはアプリは "Test.bin"と呼ばれ、ファイルをTrakrにコピーする必要があります。 Trakrの電源がオフになっていることを確認し、Trakrに付属の黄色いUSBケーブルを使用してTrakrをコンピューターに接続します。 Test.binをTrakrフォルダ内のAPPSフォルダにコピーします。 Trakrをコンピュータから取り外し、Trakrの電源を入れます。 Trakrリモコンの電源を入れ、ホームボタンをクリックして、メニューからテストを選択します。それはあなたのTrakrがすることができるすべての様々な機能(モーターテスト、スクリーン機能など)をテストするほんの少しのアプリです。

手順5:Trakr回路基板にヘッダーピンを取り付ける

(写真提供:CPTハンス)

このセクションでは、Trakrの回路基板の汎用入出力(GPIO)接続のどこにヘッダピンを取り付けるかを説明します。以下が必要になります。

1 40ピンヘッダ。 Sparkfunの部品番号PRT-00116($ 1.50)

1グルーのワイヤー接着剤。オタクだと思う(3.99ドル)。

ワイヤーカッター。 GPIO接続は9本しかないので、ヘッダーから9本のピンを切り取り、残りを他のプロジェクト用に保存することをお勧めします。

プラスドライバー、サイズ1(ファスナーサイズ2〜4に適合)。

ワイヤー接着剤を適用するための歯磨き粉

ステップ6:Trakrサーキットボードにヘッダーピンを取り付ける(続き)

(CPTハンスの写真集)

Trakrからバックカバーを取り外します。

ステップ7:Trakrサーキットボードにヘッダーピンを取り付ける(続き)

(写真提供:CPTハンス)

アンテナを折りたたんでからTrakrを裏返し、Trakrケースを固定しているネジで固定できるようにします。プラスドライバを使用して、図の丸で囲まれているネジを外します。星印の付いたネジは他のネジより小さいので、Trakrを組み立て直すときは同じ穴に戻すのを忘れないでください。

ステップ8:Trakrサーキットボードにヘッダピンを取り付ける(続き)

(写真提供:CPTハンス)

ネジを外したら、Trakrの上部カバーを慎重に持ち上げます。回路基板に接続されているカバーからのワイヤーがあり、そこに "スパイギア"と書かれているというエンブレムがあります。 Trakrをもう一度組み立てたときに元に戻すのを忘れないでください。

ステップ9:

(写真提供:CPTハンス)

これらは、カバーから回路基板に接続されているワイヤです。ワイヤ用のコネクタはモジュール式ですが、Trakrをより堅牢にするために、コネクタ同士が接着されています。それは迷惑なほど強い接着剤です。私は両方のアルコールとマニキュアの除去剤をこすってみましたが、どちらも接着剤を溶解することができませんでした。それで私は糊を切るためにポケットナイフを使わなければなりませんでした。

マイクコネクタでは、接着剤をすべて切り取ったと思いましたが、誤ってコネクタ全体を回路基板から引き抜き、ピンが基板から突き出たままになっていました。露出したピンに接続されているものを再接続するのは簡単でした、しかし、マイクロフォンコネクタがプラスとマイナスの側面を持っているので、私は回路基板の元の向きにそれを再接続することを忘れなければなりませんでした。

ステップ10:Trakrサーキットボードにヘッダーピンを取り付ける(続き)

(写真提供:CPTハンス)

サーキットボードには2セットの接続があります。小さい方のセットはJTAG(Joint Test Action Group)接続で、「Jack 4」というラベルが付いています。今のところそれらを無視してください(まだ何を使うべきかわからない)。

Jack3は9本のヘッダーピンを挿入する場所です。 GPIO接続にはGPCOからGPC7のラベルが付いています。このハックにはGPC)とGPC1を使用します。ヘッダーピンがGPIOの穴にきちんとぴったりと収まるので、しばらくの間それらをはんだ付けしなくても構いませんが、最終的にいくつかのハックを試みた後にGPIOの穴が摩耗し、ヘッダーピンへの接続が壊れます。

歯磨き粉を使用して、ワイヤー接着剤を回路基板のGPIO穴に塗布します。ワイヤの接着剤でGPIOの穴の間がショートしないように注意して、ヘッダピンをボードに接着するのに十分なものだけを使用します(「はんだブリッジ」と同等)。

ステップ11:スナップ回路ジャンパー線9ボルトバッテリーパックタップ

グラバーアーム用のLegoモーターには9ボルトが必要です。私は9ボルトをSnap Circuits H-Bridgeブロックに接続しようとしているので、ハックのこの部分は以下を必要とするでしょう:

2つの赤いスナップ回路ジャンパー線C&S販売部品番号6SC J1(各0.85ドル)

2つの赤いスナップ回路ジャンパー線C&S販売部品番号6SC J2(各0.85ドル)

スナップローバー用モータ制御IC Part#6SC U8 $ 19.95

ワイヤーカッター

ワイヤーストリッパー

シュリンクチューブまたは電気テープ

赤いジャンパー線を半分に切って、ワイヤーの片方から約4分の1インチの絶縁を取り除きます。ワイヤーのもう半分を保存します。

黒いジャンパー線を半分に切って、ワイヤーの片方から1/4インチ離れたところにむき出しにします。ワイヤーのもう半分を保存します。

黒いスナップ回路ジャンパー線の半分をTrakrの回路基板のアースまたはマイナスのはんだ付け箇所にはんだ付けまたはワイヤー接着できます。それはバッテリーパックからの黒いワイヤーがTrakrの回路基板にはんだ付けされるところです。

赤いスナップ回路のジャンパー線を、Trakrの回路基板上の9ボルトまたはプラスのはんだ付け箇所にはんだ付けまたはワイヤ接着できます。それはバッテリーパックからの赤いワイヤーがTrakrの回路基板にはんだ付けされるところです。

ステップ12:レゴペイロードデッキ

これは私がLego Technic Beamsから作ったペイロードデッキです。

私は、レゴのクロスアクスルがTrakrに付属のプラスチック製ペイロードデッキの取り付け穴にぴったり収まることを発見しました。

Lego Technicの梁の穴は非常に汎用的で、さまざまな種類の外部機器を取り付けることができます。

ステップ13:ヘッダーピンコネクタ

次に、ワイヤーをヘッダーピンに接続する方法が必要です。私は古いコンピュータからLEDを入手しました。 LEDはハードディスクドライブインジケータLEDです。例として、LEDをヘッダーピンGPC0とGPC1に接続しました。

ステップ14:変換ケーブルを作る

次に、Snap Circuits Jumper Wire変換ケーブルへのヘッダピンコネクタを作りました(写真の左側)。私はLEDからワイヤーを切り取り、そして各ワイヤーから約1/4インチの絶縁体を取り除きました。私は9ボルトのTrakrバッテリーパックのタップから残っていた赤と黒のスナップCicuitジャンパー線の半分から約1/4インチの絶縁体を取り除き、ワイヤーを一緒にねじり、ワイヤーをそれらを接着し、そして短絡を防ぐためにシュリンクチューブで覆った露出したワイヤから。

Snap Circuits変換ケーブルへのLego Technic Motorコネクタ(写真の右側)を作るために、私は赤と黒のSnap Circuitsジャンパー線の2番目のセットを半分に切り、それぞれから約1/4インチの絶縁体を取り除きました。私はLego Technic Motorコネクタを切断し、コネクタワイヤを約2センチメートルに半分に分割し、各ワイヤから約1/4インチの絶縁体を取り除きました。ワイヤーを撚り合わせて(黒と赤を1本ずつ)ワイヤーを接着し、露出したワイヤーからの短絡を防ぐためにシュリンクチューブで覆いました。

収縮チューブがない場合は、電気テープを使用することができます。

ステップ15:スナップ回路モーター制御IC(Hブリッジ)

これは単純化されたHブリッジです。中央のモーターは、4つのスイッチ(S1、S2、S3、およびS4)によってTrakrの9ボルトの電源とアースに接続されています。 4つのスイッチがすべてオフになっていると、モーターには電力が供給されず、モーターは回転しません。スイッチをペアでオンにすることができます。S1とS4、またはS3とS2を使用して、Trakrの9ボルトバッテリからモータを介してTrakrの負極またはアースに電流を流すことができます。

ステップ16:スナップ回路モーター制御IC(Hブリッジ)続き

スイッチS1とS4を閉じると、モータに電流が流れて一方向に回転します。

スイッチS3とS2を閉じると、モータに電流が流れ、反対方向に回転します。

Hブリッジはとてもシンプルな回路です。残念ながらTrakrからモーターを駆動するために手動スイッチを使用することは実用的ではないでしょう。いくつかの会社はモーターを一方向に駆動するために「ピンをハイに設定すること」とも呼ばれる特定のピンに単に電力を加えることによって使いやすいH-ブリッジ集積回路(IC)を製造しています。そのピンへの電力を切断して別のピンに電力を印加すると、モーターは反対方向に駆動されます。 HブリッジIC内部の回路は多少複雑であるため、ほとんどの人は回路自体を構築するのではなくHブリッジICを使用することを選択します。

ステップ17:スナップ回路モーター制御IC(Hブリッジ)続き

これはスナップ回路モーター制御IC、またはHブリッジです。図の上部に、Motor Controlブロックの電子回路図を見ることができます。左下にあなたはブロックの絵を見ることができます。下中央はブロックのピン配置を示しています。そして右下に各ピンの機能の説明があります。

次のステップでは、TrakrをモーターコントロールブロックとLegoグラバーアームのLegoモーターに接続する方法を説明します。

私が使用したLegoグラバーアームは、Dave Johnsonによる 『Robot Invasion』という本からのものですが、ここではオリジナルのLego Mindstorms(NXTではない)テクニックパーツを使用した別のLegoグラバーアームの詳細な説明へのリンクがあります。

pille.iwr.uni-heidelberg.de/~mindstorms/data/GrabberArm.pdf

ステップ18:レゴグラバーアームを接続する

1. Trakrの回路基板上のTrakrの9ボルト(正)ハンダポイントにワイヤ接着/はんだ付けされている赤いスナップ回路ジャンパワイヤの半分をSnap Circuitsモーター制御ICの+スナップ(正スナップ)に接続します。

2. Trakrの回路基板上のTrakrのアース(マイナス)はんだ点にワイヤーで接着/はんだ付けされている黒いSnap Circuitsジャンパー線の半分をSnap Circuitsモーター制御ICの - スナップ(マイナススナップ)に接続します。

ステップ19:レゴグラバーアームを接続する(続き)

3. LegoモーターをSnap Circuits変換ケーブルにLegoモーターに接続します。

4.レゴモーターから、赤いスナップ回路ジャンパー線をスナップ回路モーター制御ICのL +スナップに接続します。

5. Legoモーターから、黒いSnap Circuitsジャンパー線をSnap Circuitsモーター制御ICのL-スナップに接続します。

6. Trakrの回路基板のGPC0ピンとGPC1ピンにSnap Circuits Conversionケーブルのヘッダピンを差し込みます。

7.ヘッダピンコネクタから、赤いスナップ回路ジャンパワイヤの半分をLFスナップスナップ回路モータ制御ICに接続します。

8.ヘッダーピンコネクタから、黒いスナップ回路ジャンパワイヤの半分をLBスナップスナップ回路モータ制御ICに接続します。

ステップ20:レゴグラバーアームを取り付ける

それではLegoペイロードデッキをTrakrに追加してください。

ステップ21:ソースコード

最後に、LegoグラバーアームをLegoペイロードデッキに取り付けます。

これがコードです:

////////////////////////////////////////////

// Spy Video TRAKRのTrakrモーター制御

//ボタンAが押されたかどうかを確認するためのスキャン

// TRAKRリモコンでGPC0をハイに設定

//およびGPC1をローにして電流をLFピンに送る

//スナップ回路モーター制御ICがモーターを前方に切り回す

//

//ボタンBを押すと、GPC0をローに設定します。

//およびGPC1をハイにして電流をLFピンに送る

//スナップ回路モーター制御ICモーター逆転

///////////////////////////////////////////

#include "svt.h" //公式APIを含める

#include "JAPI.h" // "Secret sauce" APIを含める

#define GPC0(1 << 0)//ピンGPC0のビットマスク= 00000001

#define GPC1(1 << 1)//ピンGPC1のビットマスク= 00000010

#define GPC2(1 << 2)//ピンGPC2のビットマスク= 00000100

#define GPC3(1 << 3)//ピンGPC3のビットマスク= 00001000

#define GPC4(1 << 4)//ピンGPC4のビットマスク= 00010000

#define GPC5(1 << 5)//ピンGPC5のビットマスク= 00100000

#define GPC6(1 << 6)//ピンGPC6のビットマスク= 01000000

#define GPC7(1 << 7)//ピンGPC7のビットマスク= 10000000

int keyState; // "keystate"を整数として定義します

void Start()

{

JAPI_SetIoOutputMode(GPC0 + GPC1); // GPC0ピンとGPC1ピンの出力モードを設定する

}

bool Run()

{

keyState = GetRemoteKeys(); // TRAKRリモコンキーが押された

//キーステートに割り当てます

if(keyState> 0)

{// keystateが0より大きい場合

if(keyState&KEY_INPUT1)

{//ボタンAが押された(モーターが前進)

JAPI_SetIoHigh(GPC0); // GPC0ピンをハイ(3.3v)に設定

その他{

JAPI_SetIoLow(GPC0); // GPC0ピンをオフにする

}

if(keyState&KEY_INPUT2)

{//ボタンBが押されました(モーター逆転)

JAPI_SetIoHigh(GPC1); // GPC1ピンをハイに設定(3.3v)

その他{

JAPI_SetIoLow(GPC1); //ピンGPC1をオフにする

}

if(keyState&KEY_HOME)

{//ホームボタンが押された場合

falseを返します。 //これでループは終了します

}

}

trueを返します。 //ループはfalseになるまで繰り返す

}

void End()

{//プログラム終了 - 両方のピンをオフにする

JAPI_SetIoLow(GPC0 + GPC1);

}

これがMakeファイルです。

#TRAKR Toy用のメークファイル

#Trakrプロジェクト

TRACKR_PATH = C:/トラッカー

PROGRAM_NAME = trakrmotorcontrol

PRETTY_NAME = trakrmotorcontrol

OUTPUT_PATH =./中間

OUTPUT_NAME = $(OUTPUT_PATH)/ $(PROGRAM_NAME).elf

INTERNALS_PATH =../内部

SOURCES = app.c

S_OBJECTS = $(OUTPUT_PATH)/app.o

OBJECTS = $(S_OBJECTS)$(INTERNALS_PATH)/trakr.a

SHELL = sh

CC = arm-elf-gcc

AS = arm-elf-as

BIN = arm-elf-ld

LD = arm-elf-ld

TOPMEMORY = 0xFFE7C000

CFLAGS = -O0 -I../内部/ Include -I../内部-Wall -gstabs +

TARGET_FLAG = -mcpu = arm926ejs -mapcs-32 -mlittle-endian -specs = specs.semi

LDFLAGS = -T../内部/WJ_APP_8M.ld -Wl、 - defsym -Wl、__ stack_base = $(TOPMEMORY)-Wl、-Map -Wl、$(ベース名$ @)map -nostartfiles -static

all:prebuild $(OUTPUT_NAME)postbuild

$(OUTPUT_NAME):$(OBJECTS)

@echo「リンクしています…」

@echo "ファイル$ @を作成しています…"

@ $(CC)-u _start -o $ @ $(INTERNALS_PATH)/trakr_start.a $(オブジェクト)$(TARGET_FLAG)$(LDFLAGS)

$(OUTPUT_PATH)/app.o:app.cメイクファイル

@echo "$ <をコンパイル中"

@ $(CC)-c -o "$ @" "$ <" $(TARGET_FLAG)$(CFLAGS)

.PHONY:prebuildをクリーンにします

クリーン:

$(RM)-f $(PROGRAM_NAME).bin

$(RM)-f "$(PRETTY_NAME).bin"

$(RM)-f $(OUTPUT_PATH)/app.o

$(RM)-f $(OUTPUT_NAME)

$(RM)-f $(MKDEPFILE)

ポストビルド:

arm-elf-objcopy -Oバイナリ$(OUTPUT_NAME) "$(PRETTY_NAME).bin"

@if -d "E:/";それから

cp "$(PRETTY_NAME).bin" e:/ APPS /;

fi

事前作成:

#メイクファイルの終わり

上記のmakeファイルを使用して上記のコードをコンパイルすると、 "trakrmotorcontrol.bin"というTrakr Appファイルが作成され、そのファイルをTrakrにコピーする必要があります。 Trakrの電源がオフになっていることを確認し、Trakrに付属の黄色いUSBケーブルを使用してTrakrをコンピューターに接続します。 Trakrフォルダの中のAPPSフォルダにtrakrmotorcontrol.binをコピーします。 Trakrをコンピュータから取り外し、Trakrの電源を入れます。 Trakrリモコンの電源を入れ、ホームボタンをクリックして、メニューからtrakrmotorcontrolを選択します。

これが、Legoグラバーアームを使ったTrakrのビデオです。

player.vimeo.com/video/24143672

Hack A DayによるBrian Benchoffの言葉を借りれば、「おもちゃが山積みになってしまうのは悪いことではない」。

hackaday.com/2011/11/03/bomb-disposal-robot-with-lego-gripper/

このインストラクタブルで、私はLegos、Snap Circuits、そしてSpy Video Trakrを使ってリモートコントロールグラバーボットを作成する方法を説明します。 Trakr用のC言語コンパイラをダウンロードしてインストールする方法を説明します。簡単なプログラムをコンパイルしてTrakrにインストールしてからこの簡単なプログラムを実行する方法を説明しました。それから、Trakrを開く方法、Trakrの回路基板上のGPIO接続にジャンパーピンを取り付ける方法を示しました。ジャンパーピンを取り付けた状態で、trakrの9ボルト電源に接続し、Snap CircuitsとLegoモーターに接続するための接続ケーブルを作る方法を説明しました。レゴ製のペイロードデッキをレゴグラバーアームに取り付ける方法を説明しました。最後に私はあなたがリモートコントロールグラバーボットを操作するためにTrakrにコンパイルしてインストールすることができるC言語コードをあなたに提供しました。ハッピーハッキング!