Memulai dengan Arduino Due. Arduino Due: pinout, diagram koneksi dan pemrograman proyek Arduino due

Arduino Jatuh Tempo - mewakili keputusan yang lebih serius dibandingkan dengan . Ini adalah papan Arduino pertama yang berbasis pada inti 32-bit.

Karakteristik

  • Mikrokontroler: AT91SAM3X8E;
  • Frekuensi jam: 84MHz;
  • Ukuran bit: 32 bit
  • Tegangan suplai: 3.3V;
  • Tegangan masukan (disarankan): 7-12V;
  • Tegangan masukan (batas): 6-16 V;
  • Output digital I/0: 54 baris (12 di antaranya adalah PWM);
  • Input analog: 12 (ADC);
  • Keluaran analog: 2 (DAC);
  • Memori flash: 512 KB (semua memori tersedia untuk program);
  • Memori SRAM: 96 KB;
  • Arus maksimum pada pin I/0: 130 mA;
  • Arus maksimum pada pin 3.3V: 800 mA;
  • Arus maksimum pada pin 5V: 800 mA;
  • Panjang: 101,52mm;
  • Lebar: 53,3mm;
  • Berat: 36 gram;

Koneksi

Untuk terhubung ke komputer Anda memerlukan.

Nutrisi

Arduino Due dapat diberi daya dari USB, melalui, atau dari sumber daya eksternal: , yang konektornya (Ø 2,1 mm, terminal tengah positif) harus disambungkan ke konektor daya. Jika sumber daya eksternal baterai akumulator, maka perlu dihubungkan ke pin Vin dan GND. Jenis sumber listrik dipilih secara otomatis.

Lebih lanjut tentang papan

Arduino Due dibangun di atas mikrokontroler Atmel SAM3X8E ARM Cortex-M3 32-bit yang memiliki clock 84 MHz. Tidak seperti kebanyakan papan Arduino, Arduino Due beroperasi pada 3,3 V, memiliki 2 port I2C, satu port CAN, 2 output analog (DAC), 2 port microUSB dengan dukungan USB OTG - kemampuan untuk menghubungkan perangkat USB lain ke port USB. Kehadiran pengontrol DMA memungkinkan Anda membebaskan prosesor dari tugas-tugas intensif sumber daya. Di samping itu Tombol setel ulang Terdapat tombol Hapus (penghapusan on-board), menahannya selama beberapa detik, jika ada daya, akan menyebabkan penghapusan data secara perangkat keras dari memori Flash. Bootloader di-flash di pabrik ke dalam area memori yang dialokasikan khusus. Harap dicatat bahwa tegangan lebih besar dari 3.3V pada input apa pun dapat merusak papan.

Perangkat lunak

Unduh (unggah) program Arduino IDE untuk membuat, mengedit dan mengupload sketsa ke Arduino atau Genuino bisa dengan

Selamat tinggal!
Sudah cukup lama saya mengutak-atik segala macam pernak-pernik elektronik di waktu senggang. Saya mulai dengan pemrograman remaja dan megs di IAR, sampai saya menyadari bahwa dengan Arduino segalanya menjadi lebih sederhana. Dan baru-baru ini saya menemukan salinan Arduino DUE di banyak toko Cina dengan harga sedikit lebih mahal daripada Mega2560 yang terkenal.

Bagi yang belum tahu apa itu dan dimakan dengan apa

Arduino adalah kit desain elektronik dan platform pengembangan cepat yang nyaman perangkat elektronik untuk pemula dan profesional. Platform ini sangat populer di seluruh dunia karena kenyamanan dan kesederhanaan bahasa pemrogramannya, serta arsitektur terbuka dan kode programnya. Perangkat diprogram melalui USB tanpa menggunakan pemrogram.

Arduino memungkinkan komputer untuk melampaui dunia virtual ke dunia fisik dan berinteraksi dengannya. Perangkat berbasis Arduino dapat memperoleh informasi lingkungan melalui berbagai sensor, dan juga dapat mengontrol berbagai aktuator.

Mikrokontroler pada board diprogram menggunakan bahasa Arduino (berdasarkan bahasa Wiring) dan lingkungan pengembangan Arduino (berdasarkan lingkungan Pemrosesan). Proyek perangkat berbasis Arduino dapat berjalan secara mandiri atau berinteraksi dengan perangkat lunak di komputer (misalnya Flash, Processing, MaxMSP). Papan dapat dirakit sendiri oleh pengguna atau dibeli sebagai satu set. Perangkat lunak ini tersedia untuk diunduh gratis. Gambar skema asli (file CAD) tersedia untuk umum dan pengguna dapat menggunakannya sesuai keinginan.
© arduino.ru


Saya memulai perkenalan saya dengan Arduino dengan membeli analog Cina dari Mega2560. Awalnya saya bermain-main, menghubungkan display, sensor, servomotor, hingga suatu saat saya perlu membuat perangkat untuk bekerja yang membaca tegangan dari shunt arus dan termistor, mengubah semuanya menjadi bentuk normal dan menampilkannya di layar. Di sinilah Arduino berguna, dalam 5 menit sketsa ditulis, layar dihubungkan dan papan dipindahkan untuk bekerja. Tentu saja, itu keluar dari meriam menjadi burung pipit, tetapi pada saat itu yang paling banyak keputusan cepat. Kemudian saya memesan selusin ProMini seharga masing-masing 100 rubel dan ingin mentransfer sketsa itu ke salah satunya, tetapi seperti yang Anda tahu, tidak ada yang lebih permanen daripada sementara dan kemalasan saya tidak pernah mengizinkan saya melakukan ini. Di rumah, kami harus puas dengan papan seharga seratus rubel, untungnya, kecuali jumlah pin, memori, dan tidak adanya konverter USB-UART, semuanya tidak berbeda dengan papan mega.

Tetapi kesimpulannya tidak cukup, dan suatu hari, saat menjelajahi luasnya Banggood, saya menemukan Arduino DUE. Harganya sedikit lebih mahal dari Mega2560 dan saya langsung membelinya. Perbedaan utamanya dari Arduino lainnya adalah di dalamnya terdapat mikrokontroler ARM 32-bit berarsitektur Cortex-M3 yang beroperasi pada frekuensi 84 MHz.

Paket tiba dalam 27 hari, papan dibungkus beberapa lapis bubble wrap dan dikemas dalam paket kuning khas Cina.

Tampak depan:


Penyolderannya dilakukan dengan rapi, tetapi jika Anda perhatikan lebih dekat, Anda dapat melihat beberapa kekurangan kecil pada pencetakan silkscreen.
Seperti yang terlihat dari foto biaya ini memiliki dua konektor microUSB. Yang satu diperlukan untuk pemrograman, dan yang kedua papan dapat berkomunikasi dengan dunia luar: membaca flash drive, meniru keyboard, mouse (saya sendiri belum mengujinya). Ada juga tombol hapus yang rumit, menekannya akan menghapus flash mikrokontroler.

Tampak belakang:

Karakteristik teknis papan (diambil dari situs resmi):
Mikrokontroler: AT91SAM3X8E
Tegangan operasi: 3.3V
Tegangan masukan (disarankan): 7-12V
Tegangan masukan (batas): 6-20 V
Input/Output Digital: 54 (12 di antaranya menyediakan output PWM)
Input analog: 12
Output analog: 2 (DAC)
Hari libur umum D.C. pada semua input/output: 50 mA
Arus DC melalui pin 3.3V: 800 mA
Arus DC melalui pin 5V: 800 mA
Memori flash: Total 512 KB tersedia untuk aplikasi pengguna
RAM: 96 KB (dua bank: 64 KB dan 32 KB)
Frekuensi jam: 84 MHz

Semua antarmuka standar seperti SPI, 1Wire, UART hadir.
Anda dapat membaca lebih detailnya

Dan inilah MK yang lebih besar itu sendiri:

Mega ke-16 dengan kuarsa pada 16 MHz bertanggung jawab atas pemrogramannya:

Dan itu diatur oleh kuarsa eksternal:


Seperti yang disarankan oleh kawan Angrim, 84 MHz diperoleh dengan mengalikan 12 yang asli dengan 7.

Fitur pentingnya adalah, tidak seperti papan Arduino lainnya, Arduino Due beroperasi pada 3,3 V. Tegangan maksimum yang dapat ditahan oleh input/output adalah 3,3 V.
Pada prinsipnya, sebagian besar sensor dapat beroperasi pada tegangan 3,3 volt, tetapi beberapa pelindung tidak akan berfungsi.
Dalam hal lain, Anda selalu dapat membeli barang tambahan seperti ini: untungnya ada 5V di papan.

Untuk menulis sketsa dan mengunggahnya, Anda perlu mengunduh Arduino 1.5.8 BETA, dengan dukungan DUE. Namun, perlu dicatat bahwa tidak semua perpustakaan yang ditulis untuk Arduino versi lain berfungsi normal dengan DUE. Saya memiliki perpustakaan untuk bekerja dengan sensor BMP180, yang berfungsi baik dengan mega, tetapi menghasilkan data yang tidak realistis, jadi saya harus mengunduh perpustakaan dari Adafruit. Saya juga memperhatikan bahwa setelah daya diterapkan, MK tidak selalu mulai menjalankan program; terkadang Anda perlu menekan reset. Saya tidak tahu kesalahan siapa ini, IDE versi beta atau papan Cina.

Tes

Pertama, untuk mengeceknya, saya mengunggah sketsa yang menginterogasi sensor BMP180 dan menulis data darinya (tekanan dan suhu) ke flash drive.


Semuanya berfungsi, namun seperti yang saya tulis di atas, saya harus menggunakan perpustakaan Adafruit.

Hasil

Dan tentu saja mengapa tidak menggunakan DAC bawaan!
Untuk melakukannya, unggah contoh SimpleAudioPlayer, sambungkan flash drive dengan file waw test.waw yang dimuat, dan sambungkan output DAC0 beserta ground ke amplifier. Dalam kasus saya, amplifiernya adalah speaker portabel yang diterima sebagai promosi dari Pringles. Saya cukup mengikat kabelnya ke jack dengan dua resistor 10 kOhm. speaker langsung kelebihan beban.

Kami bersukacita atas musik dari pembicara!


Suaranya tentu saja biasa-biasa saja, lagipula, 12 bit sudah terasa, tapi untuk Arduino itu bahkan tidak buruk!
Sekarang kami berencana membeli layar berwarna dan memutar video di dalamnya.

Baiklah, langsung saja kita simak kelebihan dan kekurangan arduino ini
Kelebihan:
- Biaya rendah
- Pengontrol 32 bit dan frekuensi 84 MHz.
- Ketersediaan DAC 12 bit 1Msps
- ADC 12 bit
- USB sendiri

Minus:
- Tegangan pengoperasian 3,3V (tidak kompatibel dengan beberapa pelindung/perangkat)
- Ketidakcocokan dengan beberapa perpustakaan.
- Terkadang setelah menyalakan daya, Anda perlu menekan reset agar program dapat dimulai

Secara umum, saya menyukainya, mungkin di masa depan akan ada kusen lagi yang keluar, jika ada, saya akan memberi tahu Anda.

Terima kasih atas perhatian Anda!

Saya berencana membeli +60 Tambahkan ke Favorit Saya menyukai ulasannya +51 +107

Modul radio NRF24L01, OKI 120A2, Modul Kartu SD, Chip pengontrol motor, modem GSM GPRS M590E, Jam real time DS 3231/DS 1307, Mini 360 pada sirkuit LM2596, L293D, Sensor jarak infra merah, Jam real time, HC-SR501, unit catu daya Mini 360 pada sirkuit LM2596, pengontrol L298N, HC-SR501, GSM GPRS, modem GSM GPRS M590E, jam real-time DS 3231/DS 1307, Modul Wi-Fi ESP8266-12E, Modul Kartu, Catu daya, Mini 360, L293D, Catu daya Mini 360 pada sirkuit LM2596, Modul radio, remote control IR kendali jarak jauh, Remote control IR, Pelindung Ethernet, Sirkuit mikro pengontrol motor komutator, Sirkuit mikro pengontrol motor komutator, Remote control IR, Modul Kartu SD, Modul radio NRF24L01, Mesin OKI, L293D, motor stepper, Catu daya, L293D, Catu daya Mini 360 pada sirkuit LM2596, kartu memori SD, pelindung Ethernet, sensor gerak HC-SR501, modul Wi-Fi ESP8266-12E, motor stepper OKI 120A2, motor Stepper,

Arduino Due adalah papan mikrokontroler berbasis prosesor Atmel SAM3X8E ARM Cortex-M3. Ini adalah papan Arduino pertama yang berbasis mikrokontroler 32-bit dengan inti ARM.

Tidak seperti papan Arduino lainnya, Arduino Due beroperasi pada 3,3 V. Tegangan maksimum yang dapat ditangani I/Os adalah 3,3 V.



Papan Arduino Due

Karakteristik papan Arduino Due

Mikrokontroler

AT91SAM3X8E

Tegangan operasi

3.3V

7–12 V

Tegangan masukan (batas)

6–20 V

Masukan/keluaran digital

54 (12 di antaranya menyediakan keluaran PWM)

Masukan analog

Output analog

2 (DAC)

Arus DC melalui input/output

50mA

Arus konstan untuk keluaran 3.3V

800mA

Arus konstan untuk keluaran 5V

800mA

Memori kilat

512 KB

RAM

96 KB (dua bank: 64 KB dan 32 KB)

Frekuensi jam

84MHz

Informasi Umum

Arduino Due adalah perangkat berbasis mikroprosesor Atmel SAM3X8E ARM Cortex-M3 dan merupakan papan Arduino pertama yang berbasis mikrokontroler ARM 32-bit. Ini mencakup 54 pin digital (12 di antaranya dapat berfungsi sebagai output PWM), 12 input analog, 4 UART (transceiver serial perangkat keras), generator jam 84 MHz, USB dengan dukungan OTG, 2 DAC (konverter digital-ke-analog), 2 TWI, konektor daya, konektor SPI, konektor JTAG, tombol reset dan tombol hapus memori.

Perhatian: tidak seperti papan Arduino lainnya, tegangan operasi Arduino Due adalah 3.3V. Oleh karena itu, tegangan maksimum yang dapat ditahan terminalnya adalah 3,3V. Menerapkan tegangan yang lebih tinggi (misalnya, 5V) ke pin dapat menyebabkan kegagalan board.

Perangkat ini mencakup semua yang diperlukan untuk memastikan pengoperasian mikrokontroler; Untuk memulai, cukup suplai daya dari adaptor AC/DC atau baterai, atau sambungkan ke komputer Anda melalui kabel USB. Arduino Due kompatibel dengan semua papan ekspansi yang beroperasi pada 3.3V dan memenuhi persyaratan pinout 1.0:

  • Pin SDA dan SCL (TWI) terletak di dekat pin AREF.
  • Terdapat pin IOREF yang memungkinkan papan ekspansi menyesuaikan dengan tegangan operasi Arduino. Berkat ini, papan ekspansi dapat kompatibel dengan Arduino 3.3V (seperti Due) dan Arduino 5V berdasarkan mikrokontroler AVR.
  • Output gratis disediakan, disediakan untuk tujuan masa depan.

Manfaat menggunakan inti ARM

Dengan menggunakan inti ARM 32-bit, Arduino Due lebih unggul dalam banyak hal dibandingkan papan berbasis mikrokontroler 8-bit pada umumnya. Perbedaan yang paling signifikan adalah sebagai berikut:

  • Inti 32-bit memungkinkan Anda memproses data 4-byte hanya dalam satu siklus clock. (Untuk lebih jelasnya lihat).
  • Frekuensi jam - 84 MHz.
  • Volume memori akses acak SRAM berukuran 96 KB.
  • Jumlah memori flash untuk program adalah 512 KB.
  • Kehadiran pengontrol DMA yang memungkinkan Anda membebaskan prosesor pusat dari melakukan operasi memori yang menghabiskan banyak sumber daya.

Skema, desain asli dan pinout

Pinout: pinout SAM3X

Nutrisi

Arduino Due dapat diberi daya dari USB atau dari sumber daya eksternal - jenis sumber dipilih secara otomatis.

Adaptor jaringan AC/DC atau baterai/baterai dapat digunakan sebagai sumber daya eksternal (bukan USB). Steker adaptor (diameter - 2,1 mm, kontak pusat - positif) harus dimasukkan ke konektor daya yang sesuai di papan. Jika ditenagai oleh baterai/baterai, kabelnya harus dihubungkan ke pin Gnd dan Vin pada konektor POWER.

Tegangan catu daya eksternal dapat berkisar antara 6 hingga 20 V. Namun, penurunan tegangan suplai di bawah 7V menyebabkan penurunan tegangan pada pin 5V, yang dapat menyebabkan pengoperasian perangkat tidak stabil. Menggunakan tegangan lebih besar dari 12V dapat menyebabkan pengatur tegangan menjadi terlalu panas dan kegagalan papan. Oleh karena itu, disarankan untuk menggunakan sumber listrik dengan tegangan berkisar antara 7 hingga 12V.

Berikut ini adalah pin daya yang terletak di papan:

  • VIN. Tegangan disuplai ke Arduino langsung dari catu daya eksternal (tidak terkait dengan 5V dari USB atau tegangan lain yang diatur). Melalui pin ini Anda dapat menyuplai daya eksternal dan mengonsumsi arus saat perangkat diberi daya dari adaptor eksternal.
  • 5V. Pin menerima tegangan 5V dari penstabil tegangan di papan, terlepas dari bagaimana perangkat diberi daya: dari adaptor (7 - 12V), dari USB (5V) atau melalui pin VIN (7 - 12V). Tidak disarankan untuk memberi daya pada perangkat melalui pin 5V atau 3V3, karena dalam hal ini penstabil tegangan tidak digunakan, yang dapat menyebabkan kegagalan papan.
  • 3V3. 3.3V berasal dari pengatur tegangan di papan. Stabilizer ini juga memberikan daya pada mikrokontroler SAM3X. Arus maksimum yang diambil dari pin ini adalah 800 mA.
  • GND. Kesimpulan bumi.
  • IOREF. Pin ini memberikan informasi kepada papan ekspansi tentang tegangan operasi mikrokontroler Arduino. Tergantung pada tegangan yang dibaca dari pin IOREF, papan ekspansi dapat beralih ke catu daya yang sesuai atau menggunakan konverter level, yang memungkinkannya bekerja dengan perangkat 5V dan 3.3V.

Penyimpanan

Ukuran memori flash program mikrokontroler SAM3X adalah 512 KB (2 blok 256 KB). Perangkat diproduksi dengan bootloader firmware yang terletak di memori ROM terpisah. Memori SRAM yang tersedia adalah 96 KB, mewakili dua bank memori yang berdekatan masing-masing sebesar 64 KB dan 32 KB. Semua memori yang tersedia(Flash, RAM dan ROM) memiliki ruang alamat linier yang sama.

Tombol hapus yang terletak di papan memungkinkan Anda untuk menghapus memori Flash mikrokontroler SAM3X dan menghapus program yang sedang dimuat. Untuk melakukan ini, tekan dan tahan selama beberapa detik.

Masukan dan keluaran

  • Input/output digital: pin 0 - 53 Dengan menggunakan fungsi , dan , masing-masing dari 54 pin digital dapat bertindak sebagai input atau output. Tegangan operasi pin ini adalah 3.3V. Arus keluaran maksimum setiap pin berkisar antara 3 mA hingga 15 mA (tergantung pinnya), dan arus masukan maksimum berkisar antara 6 hingga 9 mA (tergantung pinnya). Semua pin digabungkan dengan resistor pull-up internal (dinonaktifkan secara default) sebesar 100 kOhm. Selain itu, beberapa pin dapat melakukan fungsi tambahan:
  • Antarmuka serial: pin 0 (RX) dan 1 (TX)
  • Seri 1: Pin 19 (RX) dan 18 (TX)
  • Seri 2: Pin 17 (RX) dan 16 (TX)
  • Seri 3: Pin 15 (RX) dan 14 (TX)

Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial (level tegangan TTL 3.3V). Pin 0 dan 1 dihubungkan ke pin yang sesuai pada chip ATmega16U2, yang bertindak sebagai konverter USB-UART.

  • PWM: pin 2 hingga 13

Fungsi analogWrite() dapat mengeluarkan nilai analog 8-bit sebagai sinyal PWM. Lebar PWM dapat diubah menggunakan fungsi analogWriteResolution().

  • Antarmuka SPI: pin SPI(Konektor ICSP pada papan Arduino)

Saat digunakan, pin ini dapat berkomunikasi melalui antarmuka SPI. Jalur SPI disalurkan ke konektor 6-pin di tengah papan, yang secara fisik kompatibel dengan Uno, Leonardo, dan Mega2560. Harap dicatat bahwa konektor SPI tidak dimaksudkan untuk pemrograman dalam sirkuit mikrokontroler SAM3X dan hanya dapat digunakan untuk berkomunikasi dengan perangkat SPI lainnya. Selain itu, Arduino Due SPI memiliki sejumlah kemampuan tambahan yang dapat digunakan dengan menggunakan metode khusus.

  • Antarmuka BISA: pin CANRX dan CANTX

Pin ini mendukung protokol komunikasi CAN saat ini implementasinya di Arduino API belum tersedia.

  • LED "L": pin 13

LED internal terhubung ke pin 13. Saat mengirimkan nilai HIGH, LED menyala, saat mengirim nilai LOW, LED mati. Selain itu, kecerahan LED dapat diatur, karena pin 13 dapat berfungsi sebagai output PWM.

  • Antarmuka TWI 1: pin 20 (SDA) dan 21 (SCL)
  • Antarmuka TWI 2: pin SDA1 dan SCL1

Menggunakan pin ini dapat berkomunikasi melalui antarmuka TWI.

  • Input analog: pin A0 - A11
  1. Arduino Due memiliki 12 input analog, yang masing-masing dapat mewakili tegangan analog sebagai angka 12-bit (nilai 4096). Lebar ADC yang berinteraksi dengan pin ini diatur ke 10 bit secara default (untuk kompatibilitas dengan papan Arduino lainnya). Anda dapat mengubah kedalaman bit ADC menggunakan fungsi AnalogReadResolution."Tegangan dalam kisaran 0 hingga 3,3V dapat diterapkan ke input analog Arduino Due. Jika tegangan lebih tinggi diterapkan, mikrokontroler SAM3X mungkin gagal. AnalogReference () fungsi di Arduino Due diabaikan.

Di papan, pin AREF dihubungkan ke pin tegangan referensi chip SAM3X melalui jembatan resistor. Untuk menggunakan pin AREF, Anda perlu melepas resistor BR1.

  • DAC1 dan DAC2

Output analog dari konverter digital-ke-analog 12-bit. Dengan menggunakan fungsi analogWrite(), 4096 level tegangan berbeda dapat dihasilkan. Pin ini dapat digunakan untuk membuat output audio, lihat perpustakaan Audio.

Pin lain di papan:

  • AREF

Tegangan referensi ADC. Digunakan oleh fungsi analogReference().

  • Mengatur ulang

Menekan level rendah (LOW) pada pin ini akan mereset mikrokontroler. Biasanya pin ini digunakan untuk mengoperasikan tombol reset pada kartu ekspansi.

Koneksi

Arduino Due menyediakan sejumlah opsi untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lain, serta dengan berbagai perangkat, seperti ponsel, tablet, kamera, dll. Mikrokontroler SAM3X memiliki satu UART perangkat keras dan tiga USART perangkat keras untuk mengimplementasikan antarmuka serial dengan level tegangan TTL 3,3V.

Port pemrograman USB di papan berinteraksi dengan chip ATmega16U2, yang bertindak sebagai konverter USB-UART, yang bila dihubungkan ke komputer, didefinisikan sebagai port COM virtual. (Untuk identifikasi yang benar pada sistem Windows, Anda memerlukan file .inf; pada sistem dengan OSX dan LINUX, board dikenali secara otomatis). Chip 16U2 terhubung ke transceiver UART perangkat keras mikrokontroler SAM3X. Untuk memprogram mikrokontroler melalui chip ATmega16U2 digunakan pin RX0 dan TX0. Paket perangkat lunak Arduino termasuk program khusus, yang memungkinkan Anda membaca dan mengirim data teks sederhana ke Arduino. Saat mentransmisikan data melalui chip konverter USB-UART selama koneksi USB ke komputer, LED RX dan TX di papan akan berkedip. (Ketika data serial dikirimkan melalui pin 0 dan 1, tanpa menggunakan konverter USB, LED ini tidak diaktifkan.)

Port USB standar di papan juga terhubung ke pengontrol SAM3X dan dirancang untuk transfer data serial (CDC) melalui USB. Port ini memungkinkan Arduino untuk berinteraksi dengan berbagai aplikasi di komputer (misalnya Serial Monitor, dll). Menggunakan port USB standar saat terhubung ke komputer memungkinkan Arduino Due berfungsi sebagai mouse atau keyboard USB. Untuk informasi lebih lanjut mengenai hal ini, lihat bantuan untuk perpustakaan Mouse dan Keyborad.

Port USB standar juga dapat bertindak sebagai host USB dan mendukung konektivitas perangkat periferal seperti mouse, keyboard atau smartphone. Untuk informasi selengkapnya tentang ini, lihat bantuan perpustakaan USBHost.

Mikrokontroler SAM3X juga mendukung antarmuka serial TWI dan SPI. DI DALAM perangkat lunak Arduino menyertakan perpustakaan Wire, yang membuatnya lebih mudah untuk bekerja dengan bus I2C; Lihat dokumentasi untuk lebih jelasnya. Untuk bekerja dengan antarmuka SPI, gunakan perpustakaan SPI.

Pemrograman

Proses memuat program ke dalam mikrokontroler SAM3X berbeda dengan proses flashing mikrokontroler AVR yang digunakan pada board Arduino lainnya. Keunikan SAM3X adalah untuk mem-flash-nya, Anda harus menghapus memori Flash pengontrol terlebih dahulu. Kebutuhan ini disebabkan oleh fakta bahwa proses memuat program dikendalikan oleh bootloader di ROM SAM3X, yang diluncurkan hanya jika program tersebut tidak ada di memori Flash mikrokontroler.

Dengan demikian, port USB mana pun dapat digunakan untuk mem-flash board. Namun, disarankan untuk menggunakan port USB untuk pemrograman (“Port Pemrograman” pada gambar) karena beberapa fitur dari proses pembersihan memori mikrokontroler:

  • Port Pemrograman: Untuk menggunakan port ini di Arduino IDE sebagai papan produksi, pilih "Arduino Due (Port Pemrograman)". Hubungkan Due ke komputer Anda dengan menghubungkan kabel USB ke port pemrograman (terletak paling dekat dengan port daya). Port pemrograman berinteraksi dengan chip 16U2, yang bertindak sebagai konverter USB-UART. Chip 16U2, pada gilirannya, terhubung ke UART pertama mikrokontroler SAM3X (pin RX0 dan TX0), dan juga mengontrol pin Reset dan Erase. Ketika port dibuka dan ditutup pada kecepatan 1200 baud, level aktif terbentuk pada pin Erase dan Reset, yang menyebabkan pembersihan memori mikrokontroler. Dengan demikian, apa yang disebut prosedur “pembersihan perangkat keras” dipicu sebelum berinteraksi dengan SAM3X UART. Metode ini lebih dapat diandalkan daripada “pembersihan perangkat lunak” saat menggunakan port USB standar, dan tetap berfungsi meskipun prosesor macet. Inilah mengapa disarankan untuk menggunakan port pemrograman untuk mem-flash firmware Arduino Due.
  • Port USB asli: Untuk menggunakan port ini di Arduino IDE sebagai papan kerja, pilih "Arduino Due (Port USB Naif)". Port USB standar terhubung langsung ke mikrokontroler SAM3X. Hubungkan Due ke komputer Anda dengan menghubungkan kabel USB ke konektor USB bawaan (terletak paling dekat dengan tombol reset). Membuka dan menutup port pada kecepatan 1200 baud akan memicu prosedur "pembersihan perangkat lunak", di mana memori flash dibersihkan, mikrokontroler di-boot ulang dan bootloader dimulai. Karena prosedur ini dilakukan secara eksklusif oleh program mikrokontroler SAM3X itu sendiri, jika program tersebut membeku, proses pembersihan mungkin tidak terjadi. Pada saat yang sama, membuka/menutup port standar dengan kecepatan berbeda tidak akan membantu me-reboot mikrokontroler.

Berbeda dengan board Arduino lainnya yang diprogram menggunakan avrdude, proses firmware Arduino Due dilakukan menggunakan program.

Sumber Firmware mikrokontroler ATmega16U2 tersedia di repositori Arduino. Anda dapat mem-flash mikrokontroler melalui konektor pemrograman dalam sirkuit ISP menggunakan pemrogram eksternal (dalam hal ini, bootloader DFU akan ditimpa).

Perlindungan kelebihan beban USB

Arduino Due memiliki sekering yang dapat disetel ulang yang melindungi port USB komputer Anda dari korsleting dan beban berlebih. Meskipun sebagian besar komputer memiliki perlindungannya sendiri, sekering ini memberikan lapisan perlindungan tambahan. Jika port USB menarik arus lebih dari 500 mA, sekring akan secara otomatis memutus sambungan hingga penyebabnya teratasi hubungan pendek atau kelebihan beban.

Karakteristik fisik dan kompatibilitas dengan kartu ekspansi

Panjang dan lebar maksimum papan sirkuit tercetak Arduino Due masing-masing berukuran 10,2 cm dan 5,4 cm, termasuk konektor USB dan daya yang menonjol dari papan. Tiga lubang pemasangan memungkinkan Anda memasang papan ke permukaan atau casing. Harap dicatat bahwa jarak antara pin digital 7 dan 8 bukan kelipatan dari pin tradisional 2,54 mm dan 4 mm.

Arduino Due dirancang agar kompatibel dengan sebagian besar papan ekspansi Uno, Diecimila, atau Duemilanove. Tata letak pin papan utama benar-benar setara: pin digital 0 - 13 (serta pin AREF dan GND yang berdekatan), input analog 0 - 5, konektor POWER dan konektor "ICSP" (SPI) - semua pin terletak di jarak yang sama relatif satu sama lain. Selain itu, jalur transceiver UART utama dihubungkan ke pin yang sama (0 dan 1). Perlu diketahui bahwa nomor pin I2C pada Arduino Due (20 dan 21) berbeda dengan pin Duemilanove/Diecimila (input analog 4 dan 5).

Informasi Umum

Arduino Due adalah perangkat berbasis mikroprosesor Atmel SAM3X8E ARM Cortex-M3 (lembar data). Ini adalah papan Arduino pertama yang berbasis mikrokontroler ARM 32-bit. Ini mencakup 54 pin digital (12 di antaranya dapat berfungsi sebagai output PWM), 12 input analog, 4 UART (transceiver serial perangkat keras), generator jam 84 MHz, USB dengan dukungan OTG, 2 DAC (konverter digital-ke-analog), 2 TWI, konektor daya, konektor SPI, konektor JTAG, tombol reset dan tombol hapus memori.

Perhatian: tidak seperti papan Arduino lainnya, tegangan operasi Arduino Due adalah 3.3V. Oleh karena itu, tegangan maksimum yang dapat ditahan terminalnya adalah 3,3V. Menerapkan tegangan yang lebih tinggi (misalnya, 5V) ke pin dapat menyebabkan kegagalan board.

Perangkat ini mencakup semua yang diperlukan untuk memastikan pengoperasian mikrokontroler; Untuk memulai, cukup suplai daya dari adaptor AC/DC atau baterai, atau sambungkan ke komputer Anda melalui kabel USB. Arduino Due kompatibel dengan semua papan ekspansi yang beroperasi pada 3.3V dan memenuhi persyaratan pinout 1.0:

  • Pin SDA dan SCL (TWI) terletak di dekat pin AREF.
  • Terdapat pin IOREF yang memungkinkan papan ekspansi menyesuaikan dengan tegangan operasi Arduino. Berkat ini, papan ekspansi dapat kompatibel dengan Arduino 3.3V (seperti Due) dan Arduino 5V berdasarkan mikrokontroler AVR.
  • Output gratis disediakan, disediakan untuk tujuan masa depan.

Manfaat menggunakan inti ARM

Dengan menggunakan inti ARM 32-bit, Arduino Due lebih unggul dalam banyak hal dibandingkan papan berbasis mikrokontroler 8-bit pada umumnya. Perbedaan yang paling signifikan adalah sebagai berikut:

  • Inti 32-bit memungkinkan Anda memproses data 4-byte hanya dalam satu siklus clock. (Lihat deskripsi tipe int untuk informasi lebih lanjut.)
  • Frekuensi jam - 84 MHz.
  • Kapasitas memori SRAM sebesar 96 KB.
  • Jumlah memori flash untuk program adalah 512 KB.
  • Kehadiran pengontrol DMA yang memungkinkan Anda membebaskan prosesor pusat dari melakukan operasi memori yang menghabiskan banyak sumber daya.

Skema, desain asli dan pinout

Karakteristik

Mikrokontroler AT91SAM3X8E
Tegangan operasi 3.3V
Tegangan suplai (disarankan) 7-12V
Tegangan suplai (batas) 6-16V
Keluaran digital 54 (12 di antaranya dapat berfungsi sebagai output PWM)
Masukan analog 12
Output analog 2 (DAC)
Total arus keluaran semua pin (maksimum) 130 mA
Arus keluaran pin maksimum 3.3V 800mA
Arus keluaran pin maksimum 5V 800mA
Memori kilat 512 KB sepenuhnya tersedia untuk program pengguna
SRAM 96 KB (dua bank memori: 64 KB dan 32 KB)
Frekuensi jam 84MHz

Nutrisi

Arduino Due dapat diberi daya dari USB atau dari sumber daya eksternal - jenis sumber dipilih secara otomatis.

Adaptor jaringan AC/DC atau baterai/baterai dapat digunakan sebagai sumber daya eksternal (bukan USB). Steker adaptor (diameter - 2,1 mm, kontak pusat - positif) harus dimasukkan ke konektor daya yang sesuai di papan. Jika ditenagai oleh baterai/baterai, kabelnya harus dihubungkan ke pin Gnd dan Vin pada konektor POWER.

Tegangan catu daya eksternal dapat berkisar antara 6 hingga 20 V. Namun, penurunan tegangan suplai di bawah 7V menyebabkan penurunan tegangan pada pin 5V, yang dapat menyebabkan pengoperasian perangkat tidak stabil. Menggunakan tegangan lebih besar dari 12V dapat menyebabkan pengatur tegangan menjadi terlalu panas dan kegagalan papan. Oleh karena itu, disarankan untuk menggunakan sumber listrik dengan tegangan berkisar antara 7 hingga 12V.

Berikut ini adalah pin daya yang terletak di papan:

  • VIN. Tegangan disuplai ke Arduino langsung dari catu daya eksternal (tidak terkait dengan 5V dari USB atau tegangan lain yang diatur). Melalui pin ini Anda dapat menyuplai daya eksternal dan mengonsumsi arus saat perangkat diberi daya dari adaptor eksternal.
  • 5V. Pin menerima tegangan 5V dari penstabil tegangan di papan, terlepas dari bagaimana perangkat diberi daya: dari adaptor (7 - 12V), dari USB (5V) atau melalui pin VIN (7 - 12V). Tidak disarankan untuk memberi daya pada perangkat melalui pin 5V atau 3V3, karena dalam hal ini penstabil tegangan tidak digunakan, yang dapat menyebabkan kegagalan papan.
  • 3V3. 3.3V berasal dari pengatur tegangan di papan. Stabilizer ini juga memberikan daya pada mikrokontroler SAM3X. Arus maksimum yang diambil dari pin ini adalah 800 mA.
  • GND. Kesimpulan bumi.
  • IOREF. Pin ini memberikan informasi kepada papan ekspansi tentang tegangan operasi mikrokontroler Arduino. Tergantung pada tegangan yang dibaca dari pin IOREF, papan ekspansi dapat beralih ke catu daya yang sesuai atau menggunakan konverter level, yang memungkinkannya bekerja dengan perangkat 5V dan 3.3V.

Penyimpanan

Ukuran memori flash program mikrokontroler SAM3X adalah 512 KB (2 blok 256 KB). Perangkat diproduksi dengan bootloader firmware yang terletak di memori ROM terpisah. Memori SRAM yang tersedia adalah 96 KB, mewakili dua bank memori yang berdekatan masing-masing sebesar 64 KB dan 32 KB. Semua memori yang tersedia (Flash, RAM, dan ROM) berbagi ruang alamat linier yang sama.

Tombol hapus yang terletak di papan memungkinkan Anda untuk menghapus memori Flash mikrokontroler SAM3X dan menghapus program yang sedang dimuat. Untuk melakukan ini, tekan dan tahan selama beberapa detik.

Masukan dan keluaran

  • Input/output digital: pin 0 - 53
  • Antarmuka SPI: pin SPI(Konektor ICSP pada papan Arduino)
  • Antarmuka BISA: pin CANRX dan CANTX

Pin ini mendukung protokol komunikasi CAN, tetapi saat ini belum ada implementasinya di Arduino API.

  • LED "L": pin 13

LED internal terhubung ke pin 13. Saat mengirimkan nilai HIGH, LED menyala, saat mengirim nilai LOW, LED mati. Selain itu, kecerahan LED dapat diatur, karena pin 13 dapat berfungsi sebagai output PWM.

  • Antarmuka TWI 1: pin 20 (SDA) dan 21 (SCL)
  • Antarmuka TWI 2: pin SDA1 dan SCL1

Pin lain di papan:

  • AREF

Tegangan referensi ADC. Digunakan oleh fungsi analogReference().

  • Mengatur ulang

Menekan level rendah (LOW) pada pin ini akan mereset mikrokontroler. Biasanya pin ini digunakan untuk mengoperasikan tombol reset pada kartu ekspansi.

Koneksi

Arduino Due menyediakan sejumlah opsi untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya, serta dengan berbagai perangkat seperti ponsel, tablet, kamera, dll. Mikrokontroler SAM3X memiliki satu UART perangkat keras dan tiga USART perangkat keras untuk mengimplementasikan antarmuka serial dengan level tegangan TTL 3,3V.

Port pemrograman USB di papan berinteraksi dengan chip ATmega16U2, yang bertindak sebagai konverter USB-UART, yang bila dihubungkan ke komputer, didefinisikan sebagai port COM virtual. (Untuk identifikasi yang benar pada sistem Windows, Anda memerlukan file .inf; pada sistem dengan OSX dan LINUX, board dikenali secara otomatis). Chip 16U2 terhubung ke transceiver UART perangkat keras mikrokontroler SAM3X. Untuk memprogram mikrokontroler melalui chip ATmega16U2 digunakan pin RX0 dan TX0. Paket perangkat lunak Arduino menyertakan program khusus yang memungkinkan Anda membaca dan mengirim data teks sederhana ke Arduino. Saat mentransmisikan data melalui chip konverter USB-UART selama koneksi USB ke komputer, LED RX dan TX di papan akan berkedip. (Ketika data serial dikirimkan melalui pin 0 dan 1, tanpa menggunakan konverter USB, LED ini tidak diaktifkan.)

Mikrokontroler SAM3X juga mendukung antarmuka serial TWI dan SPI. Perangkat lunak Arduino menyertakan perpustakaan Wire, yang membuatnya lebih mudah untuk bekerja dengan bus I2C; Lihat dokumentasi untuk lebih jelasnya. Untuk bekerja dengan antarmuka SPI, gunakan perpustakaan SPI.

Pemrograman

Proses memuat program ke dalam mikrokontroler SAM3X berbeda dengan proses flashing mikrokontroler AVR yang digunakan pada board Arduino lainnya. Keunikan SAM3X adalah untuk mem-flash-nya, Anda harus menghapus memori Flash pengontrol terlebih dahulu. Kebutuhan ini disebabkan oleh fakta bahwa proses memuat program dikendalikan oleh bootloader di ROM SAM3X, yang diluncurkan hanya jika program tersebut tidak ada di memori Flash mikrokontroler.

Dengan demikian, port USB mana pun dapat digunakan untuk mem-flash board. Namun, disarankan untuk menggunakan port USB untuk pemrograman (“Port Pemrograman” pada gambar) karena beberapa fitur dari proses pembersihan memori mikrokontroler:

  • Port Pemrograman: Untuk menggunakan port ini di Arduino IDE sebagai papan produksi, pilih "Arduino Due (Port Pemrograman)". Hubungkan Due ke komputer Anda dengan menghubungkan kabel USB ke port pemrograman (terletak paling dekat dengan port daya). Port pemrograman berinteraksi dengan chip 16U2, yang bertindak sebagai konverter USB-UART. Chip 16U2, pada gilirannya, terhubung ke UART pertama mikrokontroler SAM3X (pin RX0 dan TX0), dan juga mengontrol pin Reset dan Erase. Ketika port dibuka dan ditutup pada kecepatan 1200 baud, level aktif terbentuk pada pin Erase dan Reset, yang menyebabkan pembersihan memori mikrokontroler. Dengan demikian, apa yang disebut prosedur “pembersihan perangkat keras” dipicu sebelum berinteraksi dengan SAM3X UART. Metode ini lebih dapat diandalkan daripada “pembersihan perangkat lunak” saat menggunakan port USB standar, dan tetap berfungsi meskipun prosesor macet. Inilah mengapa disarankan untuk menggunakan port pemrograman untuk mem-flash firmware Arduino Due.
  • Port USB asli: Untuk menggunakan port ini di Arduino IDE sebagai papan kerja, pilih "Arduino Due (Port USB Naif)". Port USB standar terhubung langsung ke mikrokontroler SAM3X. Hubungkan Due ke komputer Anda dengan menghubungkan kabel USB ke konektor USB bawaan (terletak paling dekat dengan tombol reset). Membuka dan menutup port pada kecepatan 1200 baud akan memicu prosedur "pembersihan perangkat lunak", di mana memori flash dibersihkan, mikrokontroler di-boot ulang dan bootloader dimulai. Karena prosedur ini dilakukan secara eksklusif oleh program mikrokontroler SAM3X itu sendiri, jika program tersebut membeku, proses pembersihan mungkin tidak terjadi. Pada saat yang sama, membuka/menutup port standar dengan kecepatan berbeda tidak akan membantu me-reboot mikrokontroler.

Berbeda dengan board Arduino lainnya yang diprogram menggunakan avrdude, proses firmware Arduino Due dilakukan menggunakan program.

Kode sumber firmware mikrokontroler ATmega16U2 tersedia di repositori Arduino. Anda dapat mem-flash mikrokontroler melalui konektor pemrograman dalam sirkuit ISP menggunakan pemrogram eksternal (dalam hal ini, bootloader DFU akan ditimpa).

Perlindungan kelebihan beban USB

Arduino Due memiliki sekering yang dapat disetel ulang yang melindungi port USB komputer Anda dari korsleting dan beban berlebih. Meskipun sebagian besar komputer memiliki perlindungannya sendiri, sekering ini memberikan lapisan perlindungan tambahan. Jika port USB menarik arus lebih dari 500 mA, sekring akan secara otomatis memutus sambungan hingga penyebab korsleting atau kelebihan beban diperbaiki.

Karakteristik fisik dan kompatibilitas dengan kartu ekspansi

Panjang dan lebar maksimum PCB Arduino Due masing-masing adalah 10,2 cm dan 5,4 cm, termasuk konektor USB dan daya yang menonjol dari papan. Tiga lubang pemasangan memungkinkan Anda memasang papan ke permukaan atau casing. Harap dicatat bahwa jarak antara pin digital 7 dan 8 bukan kelipatan dari pin tradisional 2,54 mm dan 4 mm.

Arduino Due dirancang agar kompatibel dengan sebagian besar papan ekspansi Uno, Diecimila, atau Duemilanove. Tata letak pin papan utama benar-benar setara: pin digital 0 - 13 (serta pin AREF dan GND yang berdekatan), input analog 0 - 5, konektor POWER dan konektor "ICSP" (SPI) - semua pin terletak di jarak yang sama relatif satu sama lain. Selain itu, jalur transceiver UART utama dihubungkan ke pin yang sama (0 dan 1). Perlu diketahui bahwa nomor pin I2C pada Arduino Due (20 dan 21) berbeda dengan pin Duemilanove/Diecimila (input analog 4 dan 5).

Instruksi terperinci untuk bekerja dengan Arduino Due (dalam bahasa Inggris)

Arduino Due adalah papan mikrokontroler berdasarkan CPU Atmel SAM3X8E ARM Cortex-M3. Ini adalah papan Arduino pertama yang didasarkan pada mikrokontroler inti ARM 32-bit.

Di halaman ini... ()

Gunakan Arduino Due Anda di Arduino Web IDE

Semua papan Arduino, termasuk yang ini, berfungsi langsung di , tidak perlu menginstal apa pun.

Arduino Web Editor dihosting secara online, oleh karena itu akan selalu up-to-date dengan fitur-fitur terbaru dan dukungan untuk semua board. Ikuti ini untuk mulai membuat kode di browser dan mengunggah sketsa Anda ke papan Anda.

Gunakan Arduino Due Anda di Arduino Desktop IDE

Jika Anda ingin memprogram Arduino Due Anda saat offline, Anda perlu menginstal dan menambahkan Atmel SAMD Core ke dalamnya. Prosedur sederhana ini dilakukan dengan memilih Menu alat, Kemudian Papan dan terakhir Manajer Dewan, seperti yang didokumentasikan di halaman.
Pasang sisi mikro USB dari kabel USB ke jatuh tempo"S Pemrograman port (ini adalah port yang lebih dekat ke konektor daya DC). Untuk mengunggah sketsa, pilih Arduino Due (port Pemrograman) dari Alat > Papan menu di Arduino IDE, dan pilih port serial yang benar dari Alat > Port Serial menu.

Memasang inti Arduino Sam Boards

Jika Anda menggunakan Arduino IDE versi 1.6.2 atau lebih baru, Anda perlu menginstal inti yang mendukung Arduino Due. Silakan ikuti untuk menginstal inti baru.

Menginstal Driver untuk Jatuh Tempo

OSX
  • Tidak diperlukan instalasi driver di OSX. Tergantung pada versi OS yang Anda jalankan, Anda mungkin mendapatkan kotak dialog yang menanyakan apakah Anda ingin membuka “Network Preferences”. Klik tombol "Network Preferences...", lalu klik "Apply". akan muncul sebagai "Tidak Dikonfigurasi", tetapi masih berfungsi. Anda dapat keluar dari System Preferences.
Windows (diuji pada XP dan 7)
Linux
  • Tidak diperlukan instalasi driver untuk Linux.

Pilih papan dan port Anda

Proses pengunggahan di Arduino Due berfungsi sama seperti papan lain dari sudut pandang pengguna. Disarankan untuk menggunakan Pemrograman port untuk mengunggah sketsa, meskipun Anda dapat mengunggah sketsa di salah satu port USB.

pelabuhan ikuti langkah-langkah berikut:

  • Hubungkan papan Anda ke komputer dengan menyambungkan kabel USB ke Due's Pemrograman port (ini adalah port yang lebih dekat ke konektor daya DC).
  • Pada menu "Tools" pilih "Serial Port" dan pilih port serial Due
  • Di bawah menu "Tools > Boards" pilih "Arduino Due (Port Pemrograman)"

Buka sketsa pertama Anda

Semuanya sekarang siap untuk mengunggah sketsa pertama Anda. Buka File di Perangkat Lunak Arduino (IDE) dan buka pohon Contoh; Pilih 01.Dasar kemudian Berkedip

Sketsa ini hanya mem-flash LED bawaan yang terhubung ke pin Digital 13 dengan kecepatan satu detik untuk menghidupkan dan mematikan, namun sangat berguna untuk berlatih memuat sketsa ke dalam Perangkat Lunak Arduino (IDE) dan Mengunggah ke papan yang terhubung.

Unggah programnya

Tekan ikon putaran kedua dari kiri pada bilah atas Perangkat Lunak Arduino (IDE) atau tekan Ctrl+U atau pilih menunya Sketsa kemudian Mengunggah.

Pelajari lebih lanjut di IDE Desktop

Saat menggunakan Due sebagai host, ia akan menyediakan daya ke perangkat yang terpasang. Sangat disarankan untuk menggunakan konektor daya DC saat bertindak sebagai host.

Resolusi ADC dan PWM

Due memiliki kemampuan untuk mengubah resolusi baca dan tulis analog default (masing-masing 10-bit dan 8-bit). Ini dapat mendukung resolusi ADC dan PWM hingga 12-bit. Lihat halaman untuk informasi.

Fungsionalitas SPI yang diperluas

Due telah memperluas fungsionalitas pada bus SPI-nya, berguna untuk berkomunikasi dengan banyak perangkat yang berbicara dengan kecepatan berbeda. Lihat untuk lebih jelasnya.

Revisi terakhir2017/01/10 oleh SM

Teks panduan memulai Arduino dilisensikan di bawah Lisensi Creative Commons Attribution-ShareAlike 3.0. Contoh kode dalam panduan ini dilepaskan ke domain publik.