Arduino vs Mikroprosesor vs Mikrokontroler

11

Apa perbedaan antara Arduino, mikroprosesor, dan mikrokontroler? Saya mencoba menentukan apa yang terbaik untuk mengoperasikan layar sentuh resistif yang murah.

Martin Marino
sumber

Jawaban:

21

Mikroprosesor:

biasanya ditemukan di PC desktop atau laptop dan berisi CPU dan antarmuka memori eksternal ditambah berbagai bus I / O untuk terhubung ke dunia luar seperti SPI, I2C, UART, USB, LCD dan lainnya. Mikroprosesor juga akan memiliki kristal eksternal untuk menyediakan jam.

Kebanyakan mikroprosesor tidak memiliki memori read-only pada chip; sebaliknya ada chip eksternal pada motherboard tempat kode booting awal berada. Pada PC berbasis Intel, ini disebut Basic Input / Output System (BIOS) dan juga berisi rutin I / O selain kode boot awal. Kode boot dimulai dengan melakukan Power-On Self Test (POST) dan kemudian melihat untuk melihat di mana memuat tahap berikutnya dari kode boot - dari hard drive, CD (atau di masa lalu) floppy disk. Boot tingkat kedua ini kemudian memuat sistem operasi. (Bahkan mungkin ada tiga level kode booting di beberapa sistem.)

Beberapa mikroprosesor (biasanya yang ditargetkan untuk ponsel pintar dan tablet, yang memiliki opsi boot terbatas) memiliki sedikit memori read-only yang berisi kode boot awal.

Saya merujuk kode boot sebagai hanya-baca; sebenarnya pada beberapa sistem, dapat diperbarui. Namun ini cukup berisiko; jika terjadi kesalahan sistem mungkin tidak lagi booting.

Tidak seperti mikrokontroler, yang menjalankan program mereka dari memori hanya-baca, setelah boot up mikroprosesor memuat program mereka ke dalam RAM eksternal dan menjalankannya dari sana.

Mikrokontroler:

di sisi lain adalah IC chip tunggal mandiri yang berisi CPU, memori read-only untuk menyimpan program, RAM untuk menyimpan variabel yang digunakan dalam pelaksanaan program, dan berbagai bus I / O untuk terhubung ke dunia luar seperti seperti SPI, I2C, UART dan lainnya. Dengan sendirinya, ia tidak dapat menjalankan program apa pun tanpa diprogram melalui antarmuka eksternal ke PC. Mikrokontroler juga mungkin memerlukan kristal eksternal untuk menyediakan jam, namun beberapa memiliki jam internal.

Beberapa mikrokontroler (seperti PIC32 Microchip) memiliki dua bagian memori flash; satu untuk memegang kode inisialisasi (boot), dan satu lagi untuk menyimpan aplikasi. Ini membuatnya lebih mudah untuk memperbarui kode aplikasi di tempat.

Untuk tujuan Anda, Anda ingin menggunakan mikrokontroler, bukan mikroprosesor. Untuk menggunakan mikrokontroler, Anda harus mendesain papan Anda sendiri, atau membeli semacam papan pengembangan.

Arduino:

adalah papan seperti itu, dan berisi mikrokontroler, tipikal AVR 8-bit seperti ATmega8, ATmega168, ATmega328, ATmega1280, dan ATmega2560, ditambah catu daya, kristal, dan header perempuan untuk berinteraksi dengan berbagai papan periferal.

Papan periferal ini disebut pelindung , dan dirancang untuk menumpuk di atas satu sama lain (ada pin laki-laki di bagian bawah papan untuk terhubung ke Arduino itu sendiri atau perisai lain, dan header perempuan di atas untuk menerima pin laki-laki dari sebuah perisai ditumpuk di atasnya).

Perisai contoh adalah papan kontrol motor, papan I / O umum, papan relai, papan Ethernet, dan LCD, biasanya dengan layar sentuh. Namun saya tidak tahu adanya layar sentuh resistif yang akan digunakan hanya untuk deteksi (tanpa LCD).

Selain perangkat keras yang dijelaskan di atas, Arduino juga hadir dengan IDE (Integrated Development Environment) lintas platform yang ditulis dalam Java. Itu dirancang untuk memperkenalkan pemrograman kepada seniman dan pemula lainnya, seperti bahasa BASIC lakukan 50 tahun yang lalu. Program untuk Arduino disebut sketsa .

Program Arduino ditulis dalam C atau C ++, namun banyak detail yang disembunyikan dari pengguna: hanya dua fungsi (dipanggil oleh sistem) yang perlu didefinisikan untuk membuat program yang terus-menerus loop (yang biasanya untuk program embedded)

setup(): a function run once at startup that performs initialization
loop(): a function called repeatedly until the board powers off

IDE dilengkapi dengan pustaka perangkat lunak yang disebut "Wiring" yang dapat digunakan untuk operasi input / output yang umum.

tcrosley
sumber
Saya tidak lagi mendesain perangkat keras, setelah 25 tahun melakukannya, tetapi saya tidak mengetahui adanya prosesor untuk komputer desktop yang berisi memori hanya baca, apalagi memori seperti itu yang dapat mem-boot komputer.
Rob
@Rob Anda benar bahwa semua PC desktop yang saya ketahui menggunakan chip boot eksternal. Tetapi arsitektur OMAP3 TI adalah contoh mikroprosesor dengan ROM boot internal. Dari uraian di sini sedang mem-boot Linux, baris pertama berbunyi, "Saat menyalakan perangkat OMAP3 mulai mem-boot dari Boot ROM internal. Kode ini diperbaiki selama proses pembuatan dan tidak dapat diubah. Boot ROM membaca pin konfigurasi boot (SW4 pada OMAP3 EVM) yang memberi tahu Boot ROM di mana mencari bootloader eksternal pertama. " Saya telah memperbarui jawaban saya.
tcrosley
10

Arduino

Arduino adalah PCB yang berisi mikrokontroler Atmel AVR dan biasanya menyediakan satu set konektor dalam pola standar. Mikrokontroler biasanya diprogram dengan program "bootloader" yang memungkinkan program (disebut "sketsa") untuk dimuat ke dalam mikrokontroler melalui koneksi serial TTY (atau serial virtual melalui koneksi USB) dari PC.

Mikroprosesor

Mikroprosesor adalah IC yang hanya berisi unit pemrosesan pusat (CPU). IC tidak mengandung RAM, ROM atau periferal lainnya. IC mungkin berisi memori cache tetapi tidak dirancang untuk dapat digunakan tanpa memori eksternal.

Mikroprosesor tidak dapat menyimpan program secara internal dan karena itu biasanya memuat perangkat lunak saat dihidupkan, ini biasanya melibatkan proses "boot" multi-tahap yang rumit di mana "firmware" dimuat dari ROM eksternal dan akhirnya sistem operasi dimuat dari media penyimpanan lain (mis. Hard disk ).

Biasanya ditemukan di komputer pribadi.

Mikrokontroler

Mikrokontroler adalah IC yang berisi CPU serta sejumlah atau RAM, ROM, dan periferal lainnya. Mikrokontroler dapat berfungsi tanpa memori atau penyimpanan eksternal.

Biasanya, mikrokontroler diprogram sebelum disolder ke PCB atau diprogram menggunakan konektor In-System-Programming (ISP atau ICSP) melalui perangkat "programmer" khusus yang terpasang pada komputer pribadi.

Mikrokontroler yang tipikal jauh lebih sederhana dan lebih lambat daripada mikroprosesor biasa tapi saya percaya perbedaannya sebagian besar adalah skala dan aplikasi.

Ini ditemukan, misalnya, dalam peralatan sederhana seperti mesin cuci dasar.

RedGrittyBrick
sumber
2

"Arduino" adalah lingkungan pengembangan perangkat lunak dan salah satu dari beberapa papan mikrokontroler tempat lingkungan perangkat lunak dapat dikembangkan. Sebagian besar papan menggunakan mikrokontroler Atmel AVR.

Peter Bennett
sumber
2

Arduino adalah platform berbasis mikrokontroler (ATMEGA 328 untuk UNO). Secara umum Micro-controller lebih cocok daripada mikroprosesor untuk apa pun yang memerlukan penginderaan input. Itu karena pengendali mikro seperti ATMEGA 328 memiliki analog ke digital konverter (ADC) untuk merasakan tegangan dan juga memiliki output PWM serta I / Os digital.

Dengan Arduino Anda juga memiliki sistem Dev Arduino yang lebih mudah diprogram untuk pemula dan memiliki komunitas yang baik untuk dukungan dan perpustakaan.

Layar sentuh resistif berperilaku seperti potensiometer; satu untuk x dan satu untuk y. Jadi Anda bisa memasukkannya ke input analog Arduino. Lihat di sini untuk detailnya .

Pilihan lain adalah mengonversi ke SPI atau I2C dengan sesuatu seperti ini , dan membaca dengan Arduino.

Either way saya pikir Arduino adalah pilihan yang bagus.

akellyirl
sumber
@tcrosley atau anggota lama lainnya .. ada saran untuk kontributor baru seperti saya untuk menghindari down-vote seperti ini? Jawaban saya akurat, menjawab pertanyaan dan memberikan detail tambahan untuk antarmuka ke layar sentuh resistif. Ada lagi yang harus dimasukkan?
akellyirl
3
Jangan menganggap pemungutan suara terlalu serius. Saya pikir kalimat pertama Anda sedikit tidak akurat. Arduino lebih seperti platform yang terdiri dari perangkat keras dan perangkat lunak. Dan papan Arduino bukan pengontrol mikro tetapi papan yang dirancang di sekitar pengontrol mikro.
Rev1.0
1
Seperti yang dikatakan Rev1.0: "Arduino adalah mikrokontroler" tidak benar. Arduino adalah SBC (Single Board Computer).
flup
1

Arduino terdiri dari mikrokontroler (ATmega328 pada versi UNO). Jadi Arduino adalah PCB dengan pin mikrokontroler yang dipisahkan dengan baik, poweruply, kristal dan FTDI untuk koneksi USB dengan firmware on-board sehingga Anda dapat dengan mudah memprogramnya dengan IDE sendiri. Berikut adalah daftar tentang komponen arduino: http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-uno-faq

Kimliv
sumber