Daftar Isi:
- Langkah 1: Perangkat Lunak
- Langkah 2: Perangkat Keras
- Langkah 3: Uji Perangkat
- Langkah 4: Lampiran: ATtiny85
Video: Perangkat Budak/Klien Generik Arduino 1-kawat (Sensor): 4 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:54
Silakan baca Pendahuluan dan Langkah 2 dari instruksi saya tentang cara membangun Tampilan 1-kawat Arduino (144 Karakter) untuk mendapatkan informasi lebih lanjut tentang situasi dan perpustakaan yang tersedia. Seperti yang dijelaskan di sana kita akan menggunakan perpustakaan OneWire-Hub (Emulator perangkat budak OneWire) oleh orgua (perhatikan ada garpu lain di sekitar) untuk membangun perangkat 1-kawat generik (misalnya sensor) menggunakan Arduino.
Langkah 1: Perangkat Lunak
Yang paling penting adalah membuat perangkat yang pada dasarnya dapat mengembalikan segala jenis nilai dengan cara yang sederhana. Artinya perangkat lunak standar dapat digunakan untuk membaca semua nilai secara langsung (tidak diperlukan percakapan atau manipulasi biner). Untuk itu kita membutuhkan perangkat 1-kawat default yang sangat sederhana yang dapat mengembalikan float dan didukung secara luas. Satu-satunya pilihan yang saya tahu adalah Termometer DS18B20 (Monitor Baterai DS2438 juga menarik dan berguna tetapi cukup rumit dan dengan demikian lambat di antara kekurangan lainnya). Pustaka OneWire-Hub berisi contoh yang disebut DS18B20_asInterface yang melakukan persis seperti yang kita butuhkan. Ini menciptakan sekelompok DS18B20 yang masing-masing mewakili satu nilai float yang ingin kita kembalikan dari sensor kita. Pembatasan di sini adalah resolusi dan nilainya harus dalam kisaran -55, 0 … 125, 0. Itu dapat dengan mudah dicapai - dalam kasus terburuk adalah penskalaan ulang - dan sebenarnya lebih baik daripada nilai yang dapat diwakili oleh mis. nilai DS2438 (1,5 hingga 10V). Atau rentang nilai yang lebih besar dapat diatur dengan menggunakan:
setTemperatureRaw(static_cast(nilai * 16.0f));
tetapi membaca dan memproses nilai-nilai ini mungkin tidak didukung oleh semua perangkat lunak karena di luar spesifikasi.
Yang harus Anda perhatikan adalah bahwa awalnya jumlah maksimum budak dibatasi hingga 8 tetapi dapat diubah di "OneWireHub_config.h" dengan meningkatkan HUB_SLAVE_LIMIT hingga 32. Anda juga harus memastikan untuk mengadopsi ONEWIRE_TIME_MSG_HIGH_TIMEOUT jika diperlukan oleh Anda Jaringan 1-kawat (misalnya x10), seperti yang dijelaskan pada Langkah 2 Tampilan 1-kawat Arduino (144 Karakter). Dan untuk menggunakan Versi IDE >= 1.8.3 untuk mengkompilasi dan mengunggah kode ke Arduino Anda.
Berikut sebagai contoh kode perangkat yang saya buat baru-baru ini. Karena saya berasumsi Anda tidak menggunakan kombinasi sensor yang sama seperti yang saya lakukan, saya tidak akan membahas lebih jauh di sini, periksa kode dan ajukan pertanyaan jika Anda memerlukan bantuan.
Langkah 2: Perangkat Keras
Pada dasarnya apa pun yang dapat Anda sambungkan ke Arduino dapat digunakan sebagai sensor pilihan Anda. Satu-satunya batasan adalah bahwa membaca sensor harus secepat mungkin agar memiliki banyak waktu tersisa untuk komunikasi 1-kawat berlangsung (berikan Langkah 2 dari instruksi saya tentang Tampilan 1-kawat Arduino (144 Karakter) secara berurutan untuk mendapatkan contoh).
Contoh perangkat keras yang mungkin dapat berupa stasiun cuaca seperti misalnya:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Sebagai tambahan atau alih-alih Anda mungkin ingin menggunakan Arduino itu sendiri sebagai sensor Anda. Anda dapat membaca lebih lanjut tentang itu di instruksi saya tentang Fitur Arduino yang Kurang Diketahui - nilai yang mungkin adalah tegangan sumber dan suhu internal.
Berikut sebagai contoh gambar perangkat yang saya buat baru-baru ini. Karena saya berasumsi Anda tidak menggunakan kombinasi sensor yang sama seperti yang saya lakukan, saya tidak akan membahas lebih jauh di sini, periksa kode dan ajukan pertanyaan jika Anda memerlukan bantuan.
Langkah 3: Uji Perangkat
Hubungkan ke jaringan Anda dan periksa perangkat lunak Anda untuk semua ID ROM yang ada dan nilai yang dikembalikan sebagai suhu.
Langkah 4: Lampiran: ATtiny85
Perangkat tunggal (pembatasan memori) juga dapat dilakukan pada ATtiny85. Ini memerlukan beberapa langkah karena kami memprogram ATtiny85 menggunakan Arduino Uno sebagai ISP dengan bantuan Arduino IDE:
-
Tautan
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- gunakan Arduino IDE >=1.8.3
-
instal opsi ATtiny ke IDE
- File > Preferensi > URL Manajer Papan Tambahan:
- Alat > Papan: ??? > Pengurus Dewan…
- cari: "kecil" dan instal
-
unggah sketsa ISP ke Uno
File > Contoh > ArduinoISP > ArduinoISP
-
masukkan ATtiny85 ke soket pemrograman (zero-force) dan sambungkan:
- Arduino Pin MOSI D11 ke ATtiny Pin 5
- Arduino Pin MISO D12 ke ATtiny Pin 6
- Pin Arduino SCK D13 ke Pin ATtiny 7
- Arduino Pin Reset D10 ke ATtiny Pin 1
- Arduino Pin GND ke ATtiny Pin 4
- Arduino Pin VCC ke ATtiny Pin 8
- (>=10uF cap pada pin RESET Arduino Uno mungkin diperlukan)
-
pilih ATtiny85 (lihat gambar):
- Papan: "ATtiny25/45/85"
- Timer 1 Jam: "CPU"
- B. O. D.: "B. O. D. Dinonaktifkan"
- LTO (1.6.11 + saja): "Dinonaktifkan"
- Chip: "ATtiny85"
- Jam: "8 MHz (internal)" (kompatibel dengan ATtiny85 dan ATtiny84)
- Jam: "16 MHz (PLL)" (pengaturan alternatif hanya untuk ATtiny85)
- Pelabuhan: ???
-
pilih Pemrogram:
Alat > Programmer: "Arduino sebagai ISP" (BUKAN "ArduinoISP"!)
-
mengatur pengaturan sekering (jam, dll.):
Alat > Bakar Bootloader
- unggah kode ini (LED kesalahan programmer harus dimatikan, jika tidak, atur ulang)
-
Tata Letak Pin ATtinyX5 (ATtiny85):
- Pin 1: PB5 (RST)
- Pin 2: PB3 (A3) - terhubung secara opsional melalui 220ohm ke 1<-TX
- Pin 3: PB4 (A2) - terhubung ke DATA 1-kawat
- Pin 4: GND - terhubung ke GND
- Pin 5: PB0 (PWM) - terhubung ke sensor I2C SDA
- Pin 6: PB1 (PWM) - terhubung ke LED dengan 4.7k ke GND
- Pin 7: PB2 (A1) - terhubung ke sensor I2C SCL
- Pin 8: VCC - terhubung ke 5V
Bekerja dengan ATTiny85 membutuhkan sedikit lebih banyak pekerjaan karena Anda perlu mendapatkan pustaka tambahan untuk komunikasi I2C (adafruit/TinyWireM) dan keluaran serial (TinyDebugSerial). Selain itu karena memorinya sangat terbatas, Anda mungkin ingin banyak bekerja dengan #define mis. untuk menghapus debug serial. Dalam contoh Anda dapat melihat semua ini disatukan.
Untuk pengujian langkah pertama adalah memeriksa apakah LED berkedip dengan frekuensi yang benar, 0,5Hz. Kemudian hubungkan ke bus 1wire dan periksa perangkat baru.
Direkomendasikan:
Cara Mengunduh Perangkat Lunak Gratis Sebagai Mahasiswa ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: 24 Langkah
Cara Mengunduh Perangkat Lunak Gratis Sebagai Pelajar ISU (Microsoft, Adobe, dan Perangkat Lunak Keamanan: Untuk Adobe: lanjutkan ke langkah 1.Untuk Microsoft: lanjutkan ke langkah 8.Untuk Keamanan: lanjutkan ke langkah 12.Untuk Azure: lanjutkan ke langkah 16
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: 11 Langkah
Arduino Memulai Dengan Perangkat Keras dan Perangkat Lunak & Tutorial Arduino: Saat ini, Pembuat, Pengembang lebih memilih Arduino untuk pengembangan prototipe proyek yang cepat. Arduino adalah platform elektronik sumber terbuka berdasarkan perangkat keras dan perangkat lunak yang mudah digunakan. Arduino memiliki komunitas pengguna yang sangat baik. Papan Arduino d
[Home IoT] Perangkat Klien ESP8266 MQTT: 7 Langkah
[Home IoT] Perangkat Klien ESP8266 MQTT: Sangat menarik bahwa menggunakan MCU berkemampuan WiFi murah dengan protokol MQTT untuk mengontrol perangkat seperti pengumpan air otomatis untuk kucing saya. Ada blog saya untuk informasi lebih detail (https://regishsu.blogspot.com/2019/07/home-iot-esp…Spe
IOT123 - BUDAK PROTOTIP BATA I2C: 3 Langkah
IOT123 - I2C BATA PROTOTYPING SLAVE: Saat mengembangkan ASSIMILATE ACTOR terbaru (KY-019 RELAY), papan dev generik dilemparkan bersama untuk menyelamatkan saya beberapa pekerjaan ekstra di meja saya. Ini memiliki pinout standar I2C IOT123 BRICK, tetapi memungkinkan koneksi khusus ke sensor dari ATT
Flash Pemicu Budak: 4 Langkah (dengan Gambar)
Slave Trigger Flash: Dalam instruksi ini saya akan menjelaskan cara membuat flas pemicu slave (optik) nyata dengan komponen minimum. Ada banyak desain kompleks yang dapat Anda temukan di internet, desain ini sangat sederhana dan berfungsi dengan baik di lingkungan terang dan remang-remang