Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

nRF24L01+ dengan ATtiny85 3 Pin

Komponen dan persediaan

nRF24L01+
× 2
ATtiny85
× 1
Arduino UNO
× 1
Kapasitor Keramik - 10nF
× 1
Resistor Film Karbon - 22kΩ
× 1
Switching Diode - 1n4148
× 1
Sumber Daya - 3v3
× 1
nRF24L01+ Adaptor Soket
Opsional
× 1

Tentang proyek ini

Ini akan menjadi kelanjutan dari proyek saya sebelumnya Pemrograman ATtiny85 dengan Arduino Uno. Sekarang dengan ATtiny85 yang lebih murah, saya mencari cara yang lebih murah untuk mengirimkan data sensor. Yang membawa saya ke nRF24L01+ transceiver RF yang murah dan berdaya rendah. Ini tampaknya menjadi solusi yang lebih baik bagi saya. Tapi ada satu masalah, keterbatasan jumlah pin di ATtiny85. Saya tidak dapat menghubungkan keduanya nRF24L01+ dan sensor di dalamnya. Jadi saya mencari solusi dan menemukan "kontrol nrf24l01+ dengan 3 pin ATtiny85". Di sini saya membahas bagaimana saya mengimplementasikannya.


Modul

Akan ada dua modul di sini pemancar dan penerima. Pemancarnya adalah ATtiny85 yang mengirim beberapa data dan penerimanya adalah Arduino Uno yang menerima data melalui nRF25L01+. Saya menggunakan perpustakaan RF24 (http://tmrh20.github.io/RF24/). Ikuti instruksi yang diberikan di sana dan tambahkan ke Arduino IDE sebelum memulai dengan ini. Saya tidak akan menjelaskan banyak tentang RF24 karena ada dokumentasi yang sangat bagus tentangnya.


Pemancar

Pemancar mengirimkan nomor yang bertambah setiap detik. ATtiny85 akan mengirim data melalui nRF24L01+ hanya menggunakan 3 pin. Saya mengikuti petunjuk yang diberikan oleh Ralph Doncaster tentang penerapannya.

Komponen yang dibutuhkan adalah

  • ATtiny85
  • nRF24L01+
  • Kapasitor Keramik - 10nF
  • Resistor Film Karbon - 22kΩ
  • Switching Diode - 1n4148

Unggah kode di bawah ini ke ATtiny85 (lihat proyek saya sebelumnya Pemrograman ATtiny85 dengan Arduino Uno jika Anda ingin tahu caranya)

pengirim.ino

Hubungkan komponen seperti yang ditunjukkan di bawah ini

Saat sumber daya tersambung, pemancar akan mulai mengirimkan urutan nomor setiap 1 detik.

Penerima

Penerima menerima data yang dikirim oleh pemancar dan data yang diterima dapat dilihat di Serial Monitor.

Komponen yang dibutuhkan adalah

  • Arduino Uno
  • nRF24L01+
  • nRF24L01+ Adaptor Soket (Opsional)

Unggah kode di bawah ini ke Uno

penerima.ino

Hubungkan komponen seperti yang ditunjukkan di bawah ini


Jika ini tidak jelas, rujuk file fritzing yang dilampirkan dengan proyek ini. Harap dicatat bahwa Vcc harus selalu 3v3. Di beberapa klon Arduino Uno, daya 3v3 mungkin tidak memiliki arus yang cukup yang menyebabkan nRF24L01+ tidak berfungsi. Salah satu dari metode di bawah ini disarankan untuk menyelesaikan ini

  1. Gunakan catu daya 3v3 terpisah
  2. Tambahkan kapasitor 10uF antara Vcc dan Gnd di modul itu sendiri.
  3. Gunakan  Adaptor Soket nRF24L01+


Dengan pemancar dan penerima siap sekarang saatnya untuk menguji. Pastikan power supply ke transmitter dalam keadaan ON. Hubungkan Arduino Uno ke PC dan buka serial monitor di arduino ide. Ini harus berfungsi seperti di bawah ini

Menjadikannya Permanen

Dengan sedikit pengetahuan saya dalam menyolder, saya membuatnya permanen menggunakan perfboard.

Ini adalah modul yang lebih sederhana untuk mendemonstrasikan bagaimana nRF24L01+ dan bagaimana kita dapat menggunakan hanya 3 pin ATtiny85 untuk menghubungkannya sehingga pin lainnya tersedia untuk membaca data sensor. Masukan/Saran dipersilahkan.

Kode

  • Pemancar
  • Penerima
PemancarC/C++
#define CE_PIN 3#define CSN_PIN 3 //Karena kami menggunakan konfigurasi 3 pin, kami akan menggunakan pin yang sama untuk CE dan CSN#termasuk radio "RF24.h"RF24(CE_PIN, CSN_PIN);alamat byte[11] ="SimpleNode";muatan panjang yang tidak ditandatangani =0;pengaturan batal() { radio.begin(); // Jalankan radio radio.setAutoAck(1); // Pastikan autoACK diaktifkan radio.setRetries(15,15); // Penundaan maksimum antara percobaan ulang &jumlah percobaan ulang radio.openWritingPipe(alamat); // Tulis ke alamat perangkat 'SimpleNode'}void loop(void){ payload++; radio.write( &payload, sizeof(unsigned long) ); //Kirim data ke 'Receiver' setiap detik delay(1000);}
PenerimaC/C++
#define CE_PIN 7#define CSN_PIN 8#include #include "RF24.h"radio RF24(CE_PIN, CSN_PIN);byte address[11] ="SimpleNode";unsigned long payload =0;void setup() { Serial.begin(115200); radio.mulai(); // Jalankan radio radio.setAutoAck(1); // Pastikan autoACK diaktifkan radio.setRetries(15,15); // Penundaan maksimum antara percobaan ulang &jumlah percobaan ulang radio.openReadingPipe(1, alamat); // Tulis ke alamat perangkat 'SimpleNode' radio.startListening();}void loop(void){ radio.stopListening(); radio.startListening(); radio.read( &payload, sizeof(unsigned long) ); if(payload !=0){ Serial.print("Mendapat Payload "); Serial.println(muatan); } delay(1000);}

Skema

nRF24L01%2B(Dengan%20Socket)%20Attiny85.fzz nRF24L01%2B%20Arduino%20Uno.fzz

Proses manufaktur

  1. Sirkuit Dengan Sakelar
  2. Rolling Pin
  3. Baca suhu dengan DS18B20 | Raspberry Pi 2
  4. Mengukur suhu dengan RASPBERRY PI
  5. Memantau Suhu Dengan Raspberry Pi
  6. Postur Pal dengan Walabot
  7. Pengenalan Digit AI dengan PiCamera
  8. Memulai TJBot
  9. Membangun segway dengan Raspberry Pi
  10. GoPiGo v2 dengan Windows IoT