回答:
通常、デスクトップPCまたはラップトップにあり、CPUと外部メモリインターフェイスに加えて、SPI、I2C、UART、USB、LCDなどの外界に接続するためのさまざまなI / Oバスが含まれています。マイクロプロセッサには、クロックを提供するための外部クリスタルもあります。
ほとんどのマイクロプロセッサには、チップに読み取り専用メモリがありません。代わりに、初期ブートコードが配置されているマザーボードに外部チップがあります。IntelベースのPCでは、これはBIOS(Basic Input / Output System)と呼ばれ、初期ブートコードに加えてI / Oルーチンも含まれています。ブートコードは、電源投入時の自己診断(POST)を実行することから始まり、次に、ハードドライブ、CD(または昔は)のフロッピーディスクから、ブートコードの次のステージをロードする場所を確認します。この2番目のレベルのブートは、オペレーティングシステムをロードします。(システムによっては、3レベルのブートコードが存在する場合もあります。)
一部のマイクロプロセッサ(通常、起動オプションが制限されているスマートフォンおよびタブレットを対象とするマイクロプロセッサ)には、初期起動コードを含む少量の読み取り専用メモリがあります。
ブートコードを読み取り専用と呼びます。実際には、一部のシステムでは更新できます。ただし、これはかなり危険です。問題が発生すると、システムが起動しなくなる可能性があります。
マイクロコントローラは、読み取り専用メモリからプログラムを実行するのとは異なり、起動後にマイクロプロセッサがプログラムを外部RAMにロードし、そこから実行します。
一方、スタンドアロンのシングルチップICは、CPU、プログラムを格納する読み取り専用メモリ、プログラムの実行に使用される変数を格納するRAM、および外部の世界に接続するためのさまざまなI / Oバスを含みますSPI、I2C、UARTなど。それ自体では、PCへの外部インターフェースを介してプログラムされていないと、プログラムを実行できません。マイクロコントローラは、クロックを提供するために外部クリスタルも必要とする場合がありますが、一部には内部クロックがあります。
一部のマイクロコントローラ(MicrochipのPIC32など)には、フラッシュメモリの2つのセクションがあります。1つは初期化(ブート)コードを保持し、もう1つはアプリケーションを格納します。これにより、アプリケーションコードをインプレースで簡単に更新できます。
あなたの目的のためには、マイクロプロセッサではなくマイクロコントローラを使用したいと思うでしょう。マイクロコントローラを使用するには、独自のボードを設計するか、何らかの開発ボードを購入する必要があります。
このようなボードであり、ATmega8、ATmega168、ATmega328、ATmega1280、ATmega2560などの典型的な8ビットAVRと、さまざまな周辺ボードとのインターフェースとなる電源、水晶、およびメスヘッダーを含むマイクロコントローラーが含まれています。
これらの周辺ボードはシールドと呼ばれ、互いに積み重ねられるように設計されています(ボードの下部には、Arduino自体または別のシールドに接続するためのオスのピンがあり、上部にはメスのヘッダーがあり、その上に積み重ねられたシールド)。
シールドの例は、モーターコントロールボード、一般的なI / Oボード、リレーボード、イーサネットボード、およびLCDで、通常はタッチスクリーンを備えています。しかし、検出のためだけに使用される抵抗性タッチスクリーン(LCDなし)については知りません。
上記のハードウェアに加えて、Arduinoには、Javaで記述されたクロスプラットフォーム統合開発環境(IDE)も付属しています。BASIC言語が50年前に行ったように、アーティストや他の初心者にプログラミングを紹介するように設計されました。Arduino用のプログラムはスケッチと呼ばれています。
ArduinoプログラムはCまたはC ++で記述されていますが、詳細の多くはユーザーから隠されています:継続的にループするプログラム(通常は組み込みプログラム用)を作成するために定義する必要があるのは2つの関数(システムによって呼び出される)だけです
setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off
IDEには、「配線」と呼ばれるソフトウェアライブラリが付属しており、一般的な入出力操作に使用できます。
Arduinoは、Atmel AVRマイクロコントローラーを含むPCBであり、通常、標準パターンで一連のコネクターを提供します。通常、マイクロコントローラーは「ブートローダー」プログラムで事前にプログラムされており、PCからTTYシリアル接続(またはUSB経由の仮想シリアル)を介してプログラム(「スケッチ」と呼ばれます)をマイクロコントローラーにロードできます。
マイクロプロセッサは、中央処理装置(CPU)のみを含むICです。ICにはRAM、ROM、その他の周辺機器は含まれていません。ICにはキャッシュメモリが含まれている場合がありますが、外部メモリがなくても使用できるようには設計されていません。
マイクロプロセッサはプログラムを内部に格納できないため、通常は電源を入れたときにソフトウェアをロードします。これには通常、「ファームウェア」が外部ROMからロードされ、最終的にオペレーティングシステムが他のストレージメディア(ハードディスクなど)からロードされる、複雑なマルチステージの「ブート」プロセスが含まれます。 )。
これは通常、パソコンにあります。
マイクロコントローラーは、CPUと、RAM、ROM、その他の周辺機器を含むICです。マイクロコントローラは、外部メモリやストレージがなくても機能します。
通常、マイクロコントローラーは、PCBにはんだ付けされる前にプログラムされるか、パーソナルコンピューターに接続された特別な「プログラマー」デバイスを介してシステム内プログラミング(ISPまたはICSP)コネクターを使用してプログラム可能です。
典型的なマイクロコントローラーは、典型的なマイクロプロセッサーよりもはるかに単純で低速ですが、違いは主に規模とアプリケーションの1つであると思います。
それは、例えば、基本的な洗濯機のような単純な器具に見られる。
Arduinoはマイクロコントローラーベースのプラットフォームです(UNOの場合はATMEGA 328)。一般に、マイクロコントローラは、マイクロプロセッサよりも入力の検出を必要とするあらゆるものに適しています。これは、ATMEGA 328などのマイクロコントローラーが電圧を検出するためのアナログ-デジタルコンバーター(ADC)を備え、PWM出力とデジタルI / Oも備えているためです。
Arduinoを使用すると、初心者向けのプログラミングが簡単で、サポートやライブラリーのための優れたコミュニティーを持つArduino Devシステムも利用できます。
抵抗膜方式のタッチスクリーンは電位差計のように動作します。1つはx用、もう1つはy用です。したがって、それらをArduinoアナログ入力に入れることができます。詳細はこちらをご覧ください。
別のオプションは、このようなものでSPIまたはI2Cに変換し、Arduinoで読み取ることです。
どちらにしても、Arduinoが良い選択だと思います。