Cukup mudah untuk menggunakan chip Arduino mandiri. Satu hal yang rumit tentang chip yang digunakan untuk papan resmi adalah bahwa mereka digabungkan untuk menggunakan osilator eksternal yang lebih cepat (dan lebih akurat) yang dipasang di papan. Ini berlaku bahkan ketika Anda membeli chip yang longgar, karena sebagian besar dijual kembali dengan maksud dipasang di papan Arduino untuk menggantikan yang terbakar, dengan pengecualian mungkin yang dari Digikey.
Peringatan: Arduino dirancang sebagai papan prototyping, dan beberapa hal lebih baik daripada yang dilakukannya pada tugas ini. Anda mungkin ingin meninggalkan chip di papan Arduino sampai Anda selesai merancang dan menguji sirkuit Anda. Hanya dengan begitu Anda menghubungkannya secara langsung. Ini dapat digunakan di tempat jika Anda memiliki sirkuit jam di tempat, atau Anda dapat mengubah sekering (lihat nanti) dan memprogram ulang Arduino dengan adaptor ISP dan kecepatan clock 8mhz (PlatformIO memungkinkan Anda melakukan ini ( dan memungkinkan langsung impor sketsa Arduino) - periksa halaman dokumen mereka untuk plugin Atmel AVR, tetapi Anda juga dapat mencari sejumlah panduan tentang cara menambahkan file papan ke Arduino untuk meminta agar menggunakan opsi 8mhz untuk chip kosong)
Jika Anda melepas chip untuk digunakan di sirkuit yang berbeda, itu membutuhkan sirkuit clock yang ditambahkan kembali, atau untuk mengganti sekeringnya (saya akan membahasnya dalam satu menit). Ini juga akan sulit diprogram, karena beberapa alasan, jadi Anda ingin membeli sedikit perangkat keras yang cukup murah:
Memprogram chip mandiri: CPU Arduino tidak dirancang untuk berbicara dengan komputer. Anda membutuhkan perantara. Di Uno, ini dilakukan melalui chip Atmel kedua yang memiliki kemampuan USB, dan bootloader pada chip utama. Apa yang dilakukan, adalah bahwa ia menggunakan UART untuk mengunggah program sementara chip USB mengubah pesan PC menjadi sinyal UART. Karena bootloader agak menyebalkan ketika chip itu sendiri (karena UART pilih-pilih dan menginstalnya menetapkan chip untuk menggunakan jam eksternal sebagai hasilnya), Anda akan ingin membeli programmer ISP untuk Arduino (atau ikuti sketsa Arduino-sebagai-ISP dan instruksi untuk membuatnya sendiri, yang membutuhkan Arduino dengan chip yang hadir, jadi Anda akan memerlukan satu detik untuk diprogram).
Ini dapat memprogram ATMega 328 langsung melalui SPI, tanpa bootloader (ada banyak instruksi di Internet; cari "program telanjang ATMega 328P dengan USBAsp", misalnya). Ini membuatnya lebih mudah untuk mengubah dan men-debug program Anda di luar dari mengeluarkan chip dan kembali ke papan Arduino asli. Anda juga memerlukan satu untuk mengubah pengaturan jam jika Anda tidak ingin menggunakan kristal eksternal.
Jika Anda ingin men - debug chip, ada baiknya juga membeli adaptor FTDI atau konverter USB-ke-UART lainnya. Perhatikan bahwa tanpa bagian sirkuit reset papan (atau lagi, menambahkan Anda sendiri), ini masih tidak akan membiarkan Anda memprogram ATMega bahkan dengan bootloader. Untuk itu, sambungkan pin ground, RX, dan TX ke adaptor. Anda mungkin atau mungkin tidak ingin menghubungkan jalur VCC, tetapi disarankan untuk tidak melakukannya jika ada banyak hal yang terhubung ke chip dan / atau memiliki catu daya sendiri. Perhatikan bahwa RX dan TX perlu ditukar ketika Anda menghubungkannya; yaitu, RX ke TX dan TX ke RX - Anda ingin chip untuk RX (menerima) apa adaptor TX (mentransmisikan), dan sebaliknya.
Sirkuit clock tidak sulit untuk dibuat, tetapi membutuhkan beberapa komponen yang mungkin tidak Anda miliki. Jadi, untuk mengubah sumber jam , buka http://www.engbedded.com/fusecalc/ dan pilih ATMega 328P. Standarnya baik, tetapi Anda mungkin ingin mengaktifkan EEPROM keep-on-erase dan menonaktifkan clock divide-by-8 atau menyesuaikan pengaturan brownout. Jangan menyentuh yang lain (menonaktifkan reset atau SPI atau mengaktifkan DebugWire menghasilkan "kesenangan" yang membutuhkan pemrogram HV untuk memperbaikinya). Setelah selesai, rekatkan perintah yang disediakannya ke perintah AVRDude. Anda perlu mengubah opsi -c (-p sudah diatur ke ATMega 328P, tetapi akan gagal untuk non-P 328s - jangan beli itu), dan mungkin tambahkan opsi -P (untuk Port). Jangan hilangkan opsi huruf kecil -u, atau itu akan menolak untuk memperbarui sekering.
avrdude -p m328p -v -c usbasp -B 100 -u [add extras here: (-P <PORT>) <fuse set command here>]
Perhatikan bahwa jika Anda membeli USBASP (pastikan memiliki tiga set jumper!), Untuk semua itu mereka adalah programmer favorit saya, mereka mungkin tidak memiliki firmware yang diperbarui yang mendukung opsi -B (yang mungkin Anda perlukan). Itu berarti bahwa Anda perlu melampirkannya ke Arduino melalui port pemrograman enam-pin, dengan cara yang sama persis dengan yang Anda gunakan untuk memprogram bootloader Arduino, tetapi kemudian gunakan sketsa Arduino-as-ISP untuk memprogram yang baru firmware ke programmer (cari "perbarui firmware usbasp melalui arduino-as-isp")! Untuk referensi, itu biasanya berarti bahwa kabel menghadap jauh dari badan papan, dan Anda mungkin harus memprogram sketsa sebelumnyamenghubungkan kabel. Juga aktifkan jumper power-from-programmer pada USBASP (5V), dan "program mandiri". (lihat https://forum.arduino.cc/index.php?topic=560719.0 untuk lokasi power dan program jumper (JP2)).