現在は博士課程でサイエンス全般をやってます.主に研究の内容をブログにしてますが,日常のあれこれも書いてます. http://www.circuitstoday.com/microcontroller-invention-history [マイクロコントローラー]は長い間使用されており、複雑な機械から一般的な家電製品に至るまですべてに使用されています。 ただし、従来は、技術者や電気技術者などの正式な技術トレーニングを受けた人たちと作業することしかできませんでした。 Arduino の登場により、すべての開発者が電子アプリケーションの設計にアクセスしやすくなりました。 このチュートリアルでは、PythonでArduinoを使用して独自の電子プロジェクトを開発する方法を学びます。, 無料ボーナス: link:[5 Thoughts On Python Mastery]、Python開発者向けの無料コースで、Pythonのスキルを次のレベルに引き上げるのに必要なロードマップと考え方を示します。, Arduinoは、ハードウェアとソフトウェアで構成されるオープンソースのプラットフォームであり、インタラクティブエレクトロニクスプロジェクトの迅速な開発を可能にします。 Arduinoの出現は、さまざまな業界の専門家の注目を集めました。https://readwrite.com/2014/05/12/arduino-massimo-banzi-diy-electronics-hardware -hacking-builders/[貢献] Maker Movementの開始。, Maker Movementの人気の高まりとhttps://en.wikipedia.org/wiki/Internet_of_things[Internet of Things]の概念により、Arduinoは電子プロトタイピングとMVPの開発の主要なプラットフォームの1つになりました。, Arduinoは、C ++に似た独自のプログラミング言語を使用します。 ただし、ArduinoをPythonまたは別の高レベルプログラミング言語で使用することは可能です。 実際、Arduinoのようなプラットフォームは、特にセンサーやその他の物理デバイスとの統合を必要とするアプリケーションの場合、Pythonとうまく機能します。, 全体として、ArduinoとPythonは、開発者が電子機器設計に取り組むことを奨励する効果的な学習環境を促進できます。 既にhttps://realpython.com/learning-paths/python3-introduction/[Pythonの基本]を知っている場合は、Pythonを使用して制御することでArduinoを使い始めることができます。, Arduinoプラットフォームには、https://www.arduino.cc/en/Main/Products [hardware]とソフトウェア製品の両方が含まれています。 このチュートリアルでは、ArduinoハードウェアとPythonソフトウェアを使用して、基本的な回路だけでなく、デジタルおよびアナログの入出力について学習します。, 例を実行するには、*電子部品*を接続して回路を組み立てる必要があります。 これらのアイテムは通常、電子部品店または優れたArduinoスターターキットで見つけることができます。 あなたは必要になるでしょう:, コンポーネント1はhttps://store.arduino.cc/usa/arduino-uno-rev3[*Arduino Uno *]またはその他の互換性のあるボードです。 Arduinoは、多くのhttps://www.arduino.cc/en/main/boards[boards]とさまざまな目的のモジュールを含むプロジェクトであり、Arduino Unoはこれらの中で最も基本的なものです。 また、Arduinoファミリ全体の中で最も使用され、最も文書化されているボードです。したがって、エレクトロニクスを始めたばかりの開発者にとって最適な選択肢です。, 注意: Arduinoはオープンなハードウェアプラットフォームです。したがって、ここに示す例を実行するために使用できる互換性のあるボードを販売しているベンダーは他にもたくさんあります。 このチュートリアルでは、Arduino Unoの使用方法を学習します。, コンポーネント5と6は*抵抗*です。ほとんどの抵抗は、https://en.wikipedia.org/wiki/Electronic_color_code#Resistor_color-coding [color code]に従って色付きのストライプで識別されます。 一般に、最初の3色は抵抗の*値*を表し、4番目の色は*許容値*を表します。 470オームの抵抗の場合、最初の3色は黄色、紫、および茶色です。 10 KOhm抵抗の場合、最初の3色は茶色、黒、オレンジです。, コンポーネント7は*ブレッドボード*であり、これを使用して他のすべてのコンポーネントを接続し、回路を組み立てます。 ブレッドボードは必須ではありませんが、Arduinoでの作業を開始する場合は、ブレッドボードを入手することをお勧めします。, これらのハードウェアコンポーネントに加えて、いくつかのソフトウェアをインストールする必要があります。 このプラットフォームには、オンラインツールの中でも特にArduinoデバイスをプログラミングするための統合開発環境であるhttps://www.arduino.cc/en/Main/Software[Arduino IDE]が含まれています。, Arduinoは、ボードをほとんど難なくプログラムできるように設計されています。 一般に、次の手順に従います。, Arduino IDEをコンピューターにインストールするには、https://www.arduino.cc/en/Main/Software [Arduino Webサイト]からオペレーティングシステムに適切なバージョンをダウンロードします。 インストール手順については、ドキュメントを確認してください。, Windows を使用している場合は、Windowsインストーラーを使用して、WindowsでArduinoを使用するために必要なドライバーをダウンロードしてください。 詳細については、https://www.arduino.cc/en/guide/windows [Arduino documentation]を確認してください。, Linux を使用している場合、シリアルポートを使用してArduinoをプログラムするには、ユーザーをいくつかのグループに追加する必要があります。 このプロセスについては、https://www.arduino.cc/en/Guide/Linux [Linux用Arduinoインストールガイド]で説明されています。, macOS を使用している場合は、https://www.arduino.cc/en/Guide/MacOSX [OS X用Arduinoインストールガイド]に従ってArduino IDEをインストールできます。, *注:*このチュートリアルではArduino IDEを使用しますが、Arduinoにはhttps://create.arduino.cc/getting-started/plugin[web editor]も用意されており、ブラウザを使用してArduinoボードをプログラムできます。 。, Arduino IDEをインストールし、必要なすべてのコンポーネントを収集したので、Arduinoを使い始める準備ができました! 次に、「Hello、World!」をアップロードしますボードにプログラムします。, Arduino IDEには、Arduinoの基本を学ぶために使用できるいくつかの例*スケッチ*が付属しています。 スケッチ*は、ボードにアップロードできるプログラムに使用する用語です。 Arduino Unoにはディスプレイが接続されていないため、プログラムの物理的な出力を確認する方法が必要です。 *Blink サンプルスケッチを使用して、Arduinoボードの組み込みLEDを点滅させます。, 開始するには、USBケーブルを使用してArduinoボードをPCに接続し、Arduino IDEを起動します。 Blinkサンプルスケッチを開くには、File_メニューにアクセスし、_Examples _、 01.Basics_、最後に_Blink_を選択します。, 点滅のサンプルコードが新しいIDEウィンドウにロードされます。 ただし、スケッチをボードにアップロードする前に、ボードとその接続ポートを選択してIDEを構成する必要があります。, ボードを構成するには、_Tools_メニューにアクセスしてから_Board_にアクセスします。 Arduino Unoの場合、_Arduino/Genuino Uno_を選択する必要があります。, ボードを選択したら、適切なポートを設定する必要があります。 _Tools_メニューに再度アクセスし、今度は_Port_を選択します。, ポートの名前は、オペレーティングシステムによって異なる場合があります。 Windowsでは、ポートは + COM4 +、 + COM5 +、または同様の名前になります。 macOSまたはLinuxでは、 `/dev/ttyACM0 +`または `/dev/ttyUSB0 +`のようなものが表示される場合があります。 ポートの設定に問題がある場合は、https://www.arduino.cc/en/Guide/Troubleshooting [Arduinoトラブルシューティングページ]をご覧ください。, ボードとポートを構成したら、Arduinoにスケッチをアップロードする準備が整いました。 これを行うには、IDEツールバーの[アップロード]ボタンを押すだけです。, _Upload_を押すと、IDEがスケッチをコンパイルし、ボードにアップロードします。 エラーを確認したい場合は、_Upload_の前に_Verify_を押すと、スケッチのみがコンパイルされます。, USBケーブルは、プログラムのアップロードとArduinoボードの電源供給の両方にシリアル接続を提供します。 アップロード中、ボード上のLEDが点滅します。 数秒後、アップロードされたプログラムが実行され、1秒ごとにLEDライトが点滅します:, アップロードが完了すると、USBケーブルがArduinoボードに電力を供給し続けます。 プログラムは、Arduinoマイクロコントローラーのフラッシュメモリに保存されます。 バッテリーまたはその他の外部https://www.technobyte.org/2016/07/power-up-the-arduino-uno/[電源]を使用して、USBケーブルなしでアプリケーションを実行することもできます。, 前のセクションでは、Arduinoボードに既に存在するLEDを使用しました。 ただし、ほとんどの実用的なプロジェクトでは、外部コンポーネントをボードに接続する必要があります。 これらの接続を行うために、Arduinoには異なるタイプのいくつかの*ピン*があります。, これらの接続は一般に*ピン*と呼ばれますが、実際のピンではないことがわかります。 むしろ、ピンは、ジャンパー線を接続できるソケットの穴です。 上の図では、ピンのさまざまなグループを見ることができます。, *オレンジ色の長方形:*これらは、入力または出力として使用できる13個の*デジタルピン*です。 これらは、2つの異なるレベルのデジタル信号でのみ動作することを意図しています。, *緑色の長方形:*これらはアナログ入力として使用できる6つの*アナログピン*です。 それらは、0Vから5Vの間の任意の電圧で動作することを意図しています。, *青い長方形:*これらは5つの*電源ピン*です。 主に外部コンポーネントに電力を供給するために使用されます。, 外部コンポーネントの使用を開始するには、外部LEDを接続してBlinkサンプルスケッチを実行します。 内蔵LEDは*デジタルピン#13 *に接続されています。 そのため、外部LEDをそのピンに接続して、点滅するかどうかを確認しましょう。 (標準LEDは、https://realpython.com/arduino-python/#arduino-hardware [以前]にリストされているコンポーネントの1つです。), Arduinoボードに何かを接続する前に、コンピューターから切断することをお勧めします。 USBケーブルを外すと、LEDをボードに接続できます。, https://files.realpython.com/media/blink.18009615ed53.png [], この図は、デジタルピンが現在あなたに向いているボードを示していることに注意してください。, 電子回路プロジェクトでは通常、いくつかのアイデアをテストし、新しいコンポーネントを追加して調整を行います。 ただし、特に回路が大きい場合は、コンポーネントを直接接続するのは難しい場合があります。, プロトタイピングを容易にするために、https://en.wikipedia.org/wiki/Breadboard [ breadboard ]を使用してコンポーネントを接続できます。 これは、ジャンパー線を使用してコンポーネントを簡単に接続できるように、特定の方法で接続されたいくつかの穴があるデバイスです。, 色付きの線を見ると、どの穴が相互接続されているかがわかります。 ブレッドボードの側面にある穴を使用して、回路に電力を供給します。, 次に、赤線と青線の他の穴を使用するだけで、コンポーネントを電源またはグランドに簡単に接続できます。 ブレッドボードの中央の穴は、色で示されているようにつながっています。 これらを使用して、回路のコンポーネント間を接続します。 これらの2つの内部セクションは小さなくぼみによって分離されており、その上に集積回路(IC)を接続できます。, ブレッドボードを使用して、Blinkのサンプルスケッチで使用する回路を組み立てることができます。, https://files.realpython.com/media/blink_2.0a1b1975b7da.png [], この回路では、LEDは極性に応じて接続する必要があります。接続しないと機能しません。 LEDの正の端子は*アノード*と呼ばれ、一般に長い方です。 負の端子は*カソード*と呼ばれ、短くなっています。 復元されたコンポーネントを使用している場合は、LED自体の平らな面を探して端子を特定することもできます。 これは、マイナス端子の位置を示します。, LEDをArduinoピンに接続する場合、その電流を制限し、LEDの早すぎる焼損を防ぐために、常に抵抗器が必要です。 ここでは、470オームの抵抗を使用してこれを行います。 接続をたどって、回路が同じであることを確認できます。, 詳細については、https://www.youtube.com/watch?v = 6WReFkfrUIk [ブレッドボードの使用方法]をご覧ください。, 接続が完了したら、ArduinoをPCに接続し直してBlinkスケッチを再実行します。, 両方のLEDはデジタルピン13に接続されているため、スケッチの実行中は点滅します。, 前のセクションで、BlinkスケッチをArduinoボードにアップロードしました。 ArduinoスケッチはC ++に似た言語で書かれており、_Upload_を押すとコンパイルされ、マイクロコントローラーのフラッシュメモリに記録されます。 別の言語を使用してArduinoマイクロコントローラーを直接プログラムできますが、簡単な作業ではありません。, ただし、ArduinoをPythonまたは他の言語で使用するには、いくつかのアプローチがあります。 1つのアイデアは、PCでメインプログラムを実行し、シリアル接続を使用してUSBケーブルを介してArduinoと通信することです。 スケッチは、入力を読み取り、PCに情報を送信し、PCから更新を取得してArduino出力を更新する役割を果たします。, PCからArduinoを制御するには、PCとArduinoの間の通信用のプロトコルを設計する必要があります。 たとえば、次のようなメッセージを含むプロトコルを検討できます。, * SET PIN 11 LOW:* Arduinoに出力ピンの状態を設定するよう指示するために使用, プロトコルを定義したら、Arduinoスケッチを作成してメッセージをPCに送信し、プロトコルに従ってピンの状態を更新できます。 PCでは、設計したプロトコルに基づいて、シリアル接続を介してArduinoを制御するプログラムを作成できます。 このために、Pythonやhttps://pythonhosted.org/pyserial/[PySerial]ライブラリなど、好みの言語とライブラリを使用できます。, 幸いなことに、これをすべて行う標準プロトコルがあります! Firmataはその1つです。 このプロトコルは、デジタルおよびアナログ入力を読み取り、デジタルおよびアナログ出力に情報を送信できるようにするシリアル通信形式を確立します。, Arduino IDEには、Firmataプロトコルを使用してPythonでArduinoを駆動する既製のスケッチが含まれています。 PC側では、Pythonを含むいくつかの言語でのプロトコルの実装があります。 Firmataの使用を開始するには、Firmataを使用して「Hello、World!」を実装しましょうプログラム。, Pythonプログラムを記述してArduinoを駆動する前に、Firmataスケッチをアップロードして、そのプロトコルを使用してボードを制御できるようにする必要があります。 スケッチは、Arduino IDEの組み込みサンプルで利用できます。 開くには、File_メニュー、_Examples _、 Firmata_、最後に_StandardFirmata_の順にアクセスします。, スケッチが新しいIDEウィンドウにロードされます。 Arduinoにアップロードするには、以前と同じ手順を実行できます。, アップロードが完了すると、Arduinoでのアクティビティに気付かないでしょう。 それを制御するには、シリアル接続を介してボードと通信できるプログラムが必要です。 PythonでFirmataプロトコルを使用するには、https://github.com/tino/pyFirmata [pyFirmata]パッケージが必要です。これはhttps://realpython.com/what-is-pip/[でインストールできます。 + pip +]:, インストールが完了したら、PythonとFirmataを使用して同等のBlinkアプリケーションを実行できます。, このプログラムがhttps://github.com/tino/pyFirmata#usage[works]の方法です。 `+ pyfirmata `をインポートし、それを使用してArduinoボードとのシリアル接続を確立します。これは4行目の ` board `オブジェクトで表されます。 また、引数を ` pyfirmata.Arduino()+`に渡すことにより、この行でポートを設定します。 Arduino IDEを使用してポートを見つけることができます。, `+ board.digital `は、Arduinoのデジタルピンを表す要素を持つリストです。 これらの要素にはメソッド ` read()`と ` write()+`があり、これらはピンの状態を読み書きします。 ほとんどの組み込みデバイスプログラムと同様に、このプログラムは主に無限ループで構成されています。, PythonでArduinoを制御する方法の基本がわかったので、いくつかのアプリケーションを使用して、入力と出力を操作します。, *デジタル入力*には、2つの可能な値しかありません。 回路では、これらの値はそれぞれ異なる電圧で表されます。 次の表は、標準のArduino Unoボードのデジタル入力表現を示しています。, LEDを制御するには、*プッシュボタン*を使用して、Arduinoにデジタル入力値を送信します。 ボタンは、リリースされたときにボードに0Vを、押されたときにボードに5Vを送信する必要があります。 以下の図は、ボタンをArduinoボードに接続する方法を示しています。, https://files.realpython.com/media/digital_input.5691a8f1d4fe.png [], 以前と同様に、LEDがデジタルピン13でArduinoに接続されていることに気付くかもしれません。 デジタルピン10はデジタル入力として使用されます。 プッシュボタンを接続するには、この回路でhttps://playground.arduino.cc/CommonTopics/PullUpDownResistor/[pull down]として機能する10 KOhm抵抗を使用する必要があります。 *プルダウン*抵抗により、ボタンが放されたときにデジタル入力が0Vになります。, ボタンを放すと、ボタン上の2本のワイヤ間の接続が開きます。 抵抗には電流が流れないため、ピン10は単にグランド(GND)に接続します。 デジタル入力は0Vを取得し、これは 0 (または low )状態を表します。 ボタンを押すと、抵抗とデジタル入力の両方に5Vが印加されます。 抵抗に電流が流れ、デジタル入力は5Vになります。これは、 1 (または high )状態を表します。, https://files.realpython.com/media/digital_input_2.a46059238b65.png [], 回路を組み立てたら、PC上でプログラムを実行して、Firmataを使用して制御する必要があります。 このプログラムは、プッシュボタンの状態に基づいてLEDをオンにします。, * 1行目と2行目は `+ pyfirmata `と ` time +`をインポートします。, *行4 *は、 `+ pyfirmata.Arduino()+`を使用してArduinoボードとの接続を設定します。, *行6 *は、回路の入力のステータスを読み取るために使用されるイテレータを割り当てます。, * 7行目:イテレータを開始し、メインコードと並行してループを実行し続けます。 ループは、 `+ board.iterate()+`を実行して、Arduinoボードから取得した入力値を更新します。, *行9 *は、ピン10を `+ pyfirmata.INPUT +`でデジタル入力として設定します。 デフォルトの構成ではデジタルピンを出力として使用するため、これが必要です。, *行11 *は無限の `+ while `ループを開始します。 このループは入力ピンのステータスを読み取り、それを「 sw +」に保存し、この値を使用してピン13の値を変更することでLEDをオンまたはオフにします。, *行17 *は、「+ while +」ループの反復間で0.1秒待機します。 これは厳密に必要というわけではありませんが、CPUの過負荷を回避するための良い方法です。CPUの過負荷は、ループに待機コマンドがないときに100%の負荷に達します。, `+ pyfirmata +`は、入力ピンと出力ピンを扱うためのよりコンパクトな構文も提供します。 これは、複数のピンを使用している場合に適したオプションです。 以前のプログラムを書き換えて、よりコンパクトな構文にすることができます。, このバージョンでは、 `+ board.get_pin()`を使用して2つのオブジェクトを作成します。 「 digital_input 」はデジタル入力状態を表し、「 led +」はLED状態を表します。 このメソッドを実行するときは、コロンで区切られた3つの要素で構成される文字列引数を渡す必要があります。, ピンの番号 *

Arduinoセンサーとスイッチを高レベルアプリと統合する.

.

Pic スイッチ チャタリング 4, 1987年 国立大学 偏差値 10, ビックカメラ フィルム 貼り付け 25, 蠍座 A型男性 浮気 10, 米とぎボール 藤井器物 製作所 16, X570 Phantom Gaming 4 Sli 4, My Hair Is Bad 化粧 Mp3 4, Quimat オシロスコープ 使い方 17, Right Now 過去形 6, Internet Explorer では このフィードを表示 できません 4, 包丁柄 交換 横浜 5, Vista Lesson8 日本語訳 6, Shogi Ai Powered By Abematv 4, Lenovo G560 Windows10 無線lan 18, Gas 二次元配列 削除 8, ゴミ箱 25l どのくらい 50, Toeic 練習問題 Pdf 4, ゼット の フル オーダー グローブ 5, スライム 作り方 ふわふわ 4, ストーリー 非表示にされた 友達 4, シンイ あらすじ 15 5, スズキ Ags オイル交換不要 23, Ge Predix 撤退 18, Vba すご 技 5, Of Patience 意味 8, Z会 Asteria 休校 5, エスティマ バック カメラ 分解 7, Mi Fit データエクスポート 11, 都市ガス Kg M3 換算 27, 川島なお美 癌 ステージ 15, 少年野球 冬 服装 28, ネスレ キャンペーン 春 5, バイク マフラー 長さ 車検 4, シャーペン 持ち方 親指 13, 太陽の末裔 Dvd 日本語吹き替え 11, 旧車 バイクレストア 日記 5, グッドドクター 韓国 キャスト 子役 5, インスタ フォロワー エクスポート 5, Jabra Speak810 Ms Uc 違い 5, 鬼 滅 の刃 プラ板 作り方 4, マインクラフト コマンド ヘリスイッチ 26, アミューズ 社長 死亡 26, ジムニー Ja22 ルーフキャリア 4, Ff14 冒険者小隊 Id 経験値 22, タイヤ ロードノイズ 空気圧 5, Linux Mint ディスク容量 8, ツアーad Iz 難しい 17, 二郎 ニンニク抜き まずい 7, Dell Tb16 レビュー 7, ハリーポッター 死の秘宝 無料ホームシアター 6, パチンコ 潜伏 2020 6,

Write a comment