Daftar Isi:

Fitur Arduino Kurang Dikenal: 9 Langkah
Fitur Arduino Kurang Dikenal: 9 Langkah

Video: Fitur Arduino Kurang Dikenal: 9 Langkah

Video: Fitur Arduino Kurang Dikenal: 9 Langkah
Video: Basic Sensor Arduino yang Kalian Wajib Tau - Shield Arduino 9 in 1 2024, November
Anonim
Fitur Arduino yang Kurang Diketahui
Fitur Arduino yang Kurang Diketahui

Ini lebih merupakan daftar fitur yang tidak sering disebutkan dari platform Arduino yang biasanya digunakan (misalnya Uno, Nano). Daftar ini harus bertindak sebagai referensi kapan pun Anda perlu mencari fitur-fitur itu dan menyebarkan berita.

Lihat kode untuk melihat contoh semua fitur tersebut saat saya menggunakannya di beberapa proyek saya di sini dengan instruksi (mis. Arduino 1-wire Display (144 Chars)). Langkah-langkah berikut menjelaskan satu fitur masing-masing.

Langkah 1: Tegangan Pasokan

Arduino dapat mengukur tegangan suplainya sendiri secara tidak langsung. Dengan mengukur referensi internal dengan tegangan suplai sebagai referensi batas atas, Anda bisa mendapatkan rasio antara referensi internal dan tegangan suplai (tegangan suplai bertindak sebagai batas atas untuk pembacaan analog/ADC). Seperti yang Anda ketahui nilai pasti dari referensi tegangan internal, Anda kemudian dapat menghitung tegangan suplai.

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

  • Voltmeter Arduino Rahasia – Mengukur Tegangan Baterai:
  • Bisakah Arduino mengukur Vin-nya sendiri?:

Langkah 2: Suhu Internal

Beberapa Arduino dilengkapi dengan sensor suhu internal dan karenanya dapat mengukur suhu internal (semikoduktor).

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

Sensor Suhu Internal:

Bisakah Arduino mengukur Vin-nya sendiri?:

Langkah 3: Analog Comparator (Interrupt)

Arduino dapat mengatur komparator analog antara pin A0 dan A1. Jadi satu memberikan level tegangan dan yang lain diperiksa untuk persilangan tegangan ini. Interupsi dinaikkan tergantung pada apakah persimpangan itu naik atau turun (atau keduanya). Interupsi kemudian dapat ditangkap oleh perangkat lunak dan bertindak sesuai.

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

Interupsi Komparator Analog:

Langkah 4: Kontra

Tentu saja AVR memiliki beberapa penghitung yang disertakan. Biasanya mereka digunakan untuk mengatur timer dari berbagai frekuensi dan meningkatkan interupsi sesuai kebutuhan. Penggunaan lain yang mungkin sangat kuno adalah menggunakannya hanya sebagai penghitung tanpa sihir tambahan, baca saja nilainya saat Anda membutuhkannya (jajak pendapat). Penggunaan intressing ini bisa untuk tombol de-bounce mis. Berikan contoh posting ini: Contoh AVR Penghitung T1

Langkah 5: Konstanta yang telah ditentukan sebelumnya

Ada beberapa variabel yang telah ditentukan sebelumnya yang dapat digunakan untuk menambahkan versi dan info kompilasi ke proyek Anda.

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

Serial.println(_DATE_); // tanggal kompilasi

Serial.println(_TIME_); // waktu kompilasi

String stringSatu = String(ARDUINO, DEC);

Serial.println(stringSatu); // versi ide arduino

Serial.println(_VERSION_); // versi gcc

Serial.println(_FILE_); // file dikompilasi

cuplikan kode ini akan menampilkan data tersebut ke konsol serial.

Langkah 6: Pertahankan Variabel dalam RAM Melalui Reset

Sudah diketahui bahwa Arduino Uno (ATmega328) memiliki EEPROM internal yang memungkinkan Anda untuk mempertahankan nilai dan pengaturan selama power-off dan mengembalikannya pada power-up berikutnya. Fakta yang tidak begitu diketahui mungkin bahwa sebenarnya mungkin untuk mempertahankan nilai selama reset bahkan dalam RAM - namun nilainya hilang selama siklus daya - dengan sintaks:

unsigned long variable_that_is_preserved _attribute_ ((section (".noinit")));

Ini memungkinkan Anda misalnya untuk menghitung jumlah RESET dan dengan menggunakan EEPROM juga jumlah power-up.

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

  • Pertahankan Variabel di Ram melalui Reset:
  • Perpustakaan EEPROM:

Langkah 7: Akses Sinyal Jam

Arduino dan AVR lainnya (seperti ATtiny) memiliki jam internal yang memungkinkan Anda menjalankannya tanpa menggunakan osilator kristal eksternal. Selanjutnya pada saat yang sama mereka juga dapat menghubungkan sinyal ini ke luar dengan meletakkannya di pin (misalnya PB4). Bagian yang sulit di sini adalah Anda perlu mengubah bit sekering chip untuk mengaktifkan fitur itu dan mengubah bit sekering selalu menanggung risiko merusak chip.

Anda harus mengaktifkan sekering CKOUT dan cara termudah untuk melakukannya adalah dengan mengikuti instruksi tentang Cara Mengubah Bit Sekering AVR Atmega328p - Mikrokontroler 8bit Menggunakan Arduino.

Untuk detail yang tepat tentang cara melakukan ini termasuk kode contoh, lihat:

  • Menyetel osilator internal ATtiny:
  • Cara Mengganti Bit Fuse AVR Atmega328p - Mikrokontroler 8bit Menggunakan Arduino:

Langkah 8: Struktur Internal Port ATmega328P

Mengetahui struktur internal port ATmega328P memungkinkan kami melampaui batas penggunaan standar. Berikan bagian tentang Pengukur Kapasitansi untuk Rentang 20 pF hingga 1000 nF untuk detail lebih lanjut dan skema rangkaian internal.

Contoh sederhananya adalah menggunakan tombol dengan port digital yang tidak memerlukan resistor apa pun karena penggunaan resistor pull-up internal seperti yang ditunjukkan oleh Contoh Serial Input Pullup atau Tombol Arduino Tanpa Resistor yang dapat diinstruksikan.

Lebih maju adalah penggunaan pengetahuan ini seperti yang disebutkan untuk mengukur kapasitor sekecil 20 pF dan lebih jauh lagi tanpa kabel tambahan! Untuk mencapai kinerja itu, contoh ini menggunakan impedansi internal/input, resistor pull-up internal, dan kapasitor nyasar. Bandingkan dengan Tutorial CapacitanceMeter Arduino yang tidak bisa lebih rendah dari beberapa nF.

Langkah 9: LED On-Board (builtin) Sebagai Photodetector

Banyak papan Arduino memiliki LED on-board atau built-in yang dapat dikontrol dari kode, mis. papan Uno atau Nano pada pin 13. Dengan menambahkan satu kabel tunggal dari pin ini ke pin input analog (misalnya A0) kita juga dapat menggunakan LED ini sebagai fotodetektor. Ini dapat digunakan dalam berbagai cara yang berbeda seperti; digunakan untuk mengukur penerangan lingkungan, menggunakan LED sebagai tombol, menggunakan LED untuk komunikasi dua arah (PJON AnalogSampling), dll.

Direkomendasikan: