Kategori: Litar mikropengawal
Bilangan pandangan: 32016
Komen pada artikel: 0

Sensor yang paling popular untuk Arduino

 

Sensor digunakan dalam pelbagai rangkaian dan projek. Tiada automasi boleh dilakukan tanpa mereka. Kami berminat dengan mereka kerana projek telah dibuat untuk memudahkan reka bentuk dan mempopulerkan elektronik Arduino. Ini adalah papan selesai dengan mikrokontroler dan semua yang anda perlukan untuk bekerja dengannya dan program itu. Dalam artikel ini, kita akan mempertimbangkan sensor untuk Arduino, tetapi mereka juga boleh digunakan dengan mikrokontroler lain.

Sensor yang paling popular untuk Arduino

Apakah sensor?

Sensor adalah mata, telinga dan deria lain mikropengawal atau peranti kawalan lain. Mereka dibezakan dengan sifat isyarat dan dengan tujuan.

Dengan sifat isyarat dibahagikan kepada:

  • Analog;

  • Digital

Dan untuk tujuan itu, sensor adalah untuk mengukur:

  • Suhu;

  • Tekanan;

  • Kelembapan

  • Keasidan;

  • Penerangan

  • Tahap air atau bahan lain;

  • Getaran

  • Dan komponen khusus lain.

Jika kita bercakap mengenai Arduino, maka, apabila menerima maklumat daripada sensor, kita memproses isyarat digital, atau mengukur voltan daripada output analog modul. Seperti yang telah disebutkan, sensor adalah digital dan analog. Sesetengah modul untuk Arduino mempunyai kedua-dua output digital dan analog, yang menyatukan mereka.

Oleh peranti mereka

  • Resistive

  • Induktif

  • Kapasitif;

  • Piezoelektrik;

  • Photocells dan jenis lain.



Sensor cahaya atau cahaya

Cara paling mudah untuk menentukan kecerahan sesuatu - menggunakan photoresistor, photodiode atau phototransistor. Anda boleh menyambungkan salah satu pilihan yang disenaraikan ke Arduino atau membeli papan khas - sensor cahaya.

Sensor cahaya

Apakah faedah penyelesaian solusinya? Pertama, untuk menentukan perubahan pencahayaan satu fotosel tidak mencukupi, anda juga memerlukan perintang yang tetap atau tuning, mungkin ia komparator, untuk mengerjakan operasi yes / no. Kedua, papan litar cetakan buatan kilang akan lebih dipercayai daripada pemasangan berengsel atau papan kelompok, atau cara lain yang digunakan amatur.

Sensor cahaya

Pada aliexpress atau di kedai dalam talian lain, ia boleh didapati atas permintaan "PHOTOSENSITIVE-SENSOR" atau hanya "sensor cahaya".

Modul ini mempunyai tiga output:

  • Pemakanan;

  • Bumi

  • Output digital dari komparator.

Atau versi empat pin:

  • Pemakanan;

  • Bumi

  • Output digital dari komparator;

  • Analog

Jadi pada papan yang diletakkan perintang penalaan untuk menyesuaikan masa komparator boleh menghasilkan isyarat digital.

Contoh penggunaan:

  • Sensor cahaya untuk geganti foto;

  • Penggera (dipasangkan dengan pemancar);

  • Kaunter objek yang menyeberang rasuk cahaya, dll.

Sulit untuk mencapai nilai yang tepat, kerana meter cahaya yang betul diperlukan untuk penyelarasan yang betul dengan pencahayaan. Photoresistor lebih sesuai untuk menentukan nilai abstrak seperti "gelap atau cahaya."

Sebagai tambahan kepada lembaga yang dijual, anda boleh menemui cukup menarik Modul GY-302. Ini adalah sensor cahaya berdasarkan litar bersepadu BH-1750. Ciri-cirinya ialah ia adalah modul digital, ia mempunyai kapasiti 16 bit, berkomunikasi dengan mikrokontroler melalui bas i2c. 16 bit membolehkan anda mengukur pencahayaan dari 1 hingga 65356 Lux (Lx).

Sensor cahaya ambien berdasarkan litar bersepadu BH-1750

Berikut adalah gambarajah sambungannya. Anda mungkin mendapati bahawa SDA dan SCL disambungkan ke pin analog mikropengawal.

Rajah sambungan penderia cahaya

Ini disebabkan oleh bus I2C yang dilaksanakan pada pin arduino ini, yang dapat dilihat dengan melihat gambar berikut. Oleh itu, jangan tertipu oleh fakta ini; sensor adalah digital.

Gambarajah modul GY-302

Kelebihan sensor digital ialah anda tidak perlu menyemak nilai setiap contoh, menyusun jadual untuk menterjemahkan nilai yang diukur ke dalam skala sebenar dan sebagainya.Dalam kebanyakan kes, bagi penderia digital, cukup untuk menyambungkan perpustakaan sedia ada dan membaca nilai-nilai yang diubah menjadi unit sebenar.

Lakaran contoh untuk GY-302 (BH-1750):

Contoh lakaran untuk GY-302

Bagaimana lakaran kerja?

Pada mulanya, kami memberitahu program yang perlu kita sambungkan perpustakaan Wire.h, yang bertanggungjawab untuk komunikasi melalui talian I2C, dan BH1750. Selebihnya tindakan yang dijelaskan dengan baik dalam komen, dan sebagai hasilnya, setiap 100ms kita membaca nilai dari sensor di Lux.

Ciri-ciri GY-302 BH1750:

  • Komunikasi mikrokontroler I2C

  • Tindak balas spektrum yang serupa dengan sensitiviti mata

  • Kesilapan akibat radiasi inframerah diminimumkan

  • Julat Mengukur 0-65535 Lux

  • Bekalan voltan: 3-5 V

  • Penggunaan semasa dan fungsi tidur yang rendah

  • Penapisan hingar cahaya 50/60 Hz

  • Jumlah maksimum sensor pada 1 bus I2C adalah 2 keping.

  • Tiada penentukuran diperlukan

  • Penggunaan semasa - 120 μA

  • Dalam mod tidur - 0.01 μA

  • Panjang gelombang yang diukur - 560 nm

  • Dalam mod resolusi tinggi - 1 Lux

  • Dalam mod resolusi rendah - 4 Lux

  • ADC - 16 bit

Masa diambil untuk pengukuran:

  • Dalam mod resolusi tinggi - 120 ms

  • Dalam mod resolusi rendah - 16 ms


Sensor halangan

Saya memilih sensor ini sebagai yang berikutnya untuk dipertimbangkan, kerana salah satu pilihannya berfungsi berdasarkan fotodiod atau phototransistor, yang sama pada prinsipnya kepada photoresistor yang dibincangkan di bahagian sebelumnya.

Sensor halangan

Namanya adalah "sensor halangan optik." Elemen fungsional utama adalah photodiode dan LED memancarkan dan menerima dalam spektrum IR (oleh itu, tidak dapat dilihat dengan mata manusia, serta perhimpunan ambang dipasang, sebagai contoh, pada komparator dengan pengatur sensitiviti. Menggunakannya, jarak di mana sensor dicetuskan disesuaikan, dengan cara digital.

Contoh rajah sambungan:

Contoh sambungan

Satu contoh program pemprosesan isyarat dari sensor.

Satu contoh program pemprosesan isyarat dari sensor

Di sini, jika output dari sensor adalah "1", yang bermaksud "terdapat halangan", LED pada papan Arduino atau disambungkan ke pin ke-13 (perkara yang sama) akan menyala. Paling sering digunakan dalam robotik dan penggera.

Menggunakan sensor

Sensor jarak

Salinan yang terdahulu terdiri daripada penerima, - fotodiod, dan pemancar, - LED. Sensor jarak ultrasonik juga terdiri daripada penerima dan pemancar gelombang ultrasonik. Namanya HC SR04.

Sensor jarak

Ciri-ciri HC SR04:

  • Voltan pembekalan 5V

  • Parameter operasi daya t oka - 15 mA

  • Arus aktif <2 mA

  • Melihat sudut - 15 °

  • Sentuh Resolusi - 0.3 cm

  • Sudut mengukur - 30 °

  • Lebar Pulse - 10-6 s

  • Julat pengukuran: 2-400 cm.

Kesilapan muncul disebabkan oleh:

  • suhu dan kelembapan - boleh dikurangkan dengan mengukur suhu dengan DHT-11 atau DHT-22, sebagai contoh, dan memasukkan pekali untuk membetulkan pengukuran.

  • jarak ke objek;

  • lokasi objek relatif terhadap sensor (menurut rajah radiasi) boleh diimbangi dengan memasang HC SR04 pada servo untuk mengubah arah dan membuat penyesuaian yang tepat.

  • kualiti prestasi elemen modul sensor.

Corak sinaran:

Corak radiasi

Lembaga mempunyai empat output:

  • VCC - kuasa;

  • Trig - isyarat input;

  • Echo - isyarat output;

  • GND adalah dawai biasa.

Leads Sensor HC SR04

Bagaimana cara memproses pembacaan?

1. Kami menghantar nadi dengan tempoh 10 μs ke input TRIG;

2. Di dalam modul, denyut nadi ditukar kepada satu pek 8 denyutan yang mengikuti satu sama lain dengan kekerapan 40 kHz dan dihantar melalui pemancar;

3. Impuls yang tercermin dari halangan yang tiba di penerima dan output kepada ECHO;

4. Tempoh nadi yang diterima daripada output ECHO hendaklah dibahagikan dengan 58.2 untuk mendapatkan jarak dalam sentimeter dan dengan 148 jika anda perlu menukar kepada inci.

Contoh kod:

Kod sampel

Ukur suhu

Cara termudah untuk mengukur suhu menggunakan mikrokontroler ialah gunakan thermocouple atau thermistor. Thermocouples digunakan untuk mengukur suhu tinggi, untuk mengukur dalaman dan luaran - yang saya akan bercakap tentang sedikit di bawah akan dilakukan, tetapi untuk sekarang, mari kita lihat termokopel.

Sensor suhu

Setiap jenis termokopel mempunyai pendekatan sendiri untuk bekerja dengan mikrokontroler. Sebagai contoh, terdapat termokopel K-jenis, atau kerana ia juga dipanggil - chromel-alumel, dengan pelbagai suhu yang diukur dari -200 hingga +1400 darjah Celcius dengan sensitiviti 41 mV / darjah Celcius. Dan untuknya terdapat penukar khas berdasarkan IC max6675, ia mempunyai fungsi untuk mengimbangi suhu persimpangan sejuk dan sebagainya.

Modul untuk mengukur suhu

Anda boleh bekerja dengan modul ini menggunakan perpustakaan nama yang sama untuk Arduino. Dalam gambar di bawah ini anda dapat melihat contoh kod program untuk kes ini.

Kod sampel

Kemudian berikut dipaparkan pada monitor port siri.

Pemantau pelabuhan bersiri

Tetapi ada juga sensor suhu digital DS12B20, ia boleh dipanggil klasik, kerana ia telah digunakan selama bertahun-tahun dalam projek amatur, dan lama sebelum penampilan Arduino.

Sensor suhu digital DS12B20

Litar bersepadu digital peranti dalaman ini ditunjukkan dalam gambar di bawah:

Peranti microcircuit dalaman

Rajah rajah sambungan:

Gambarajah sambungan papan

Ciri Utama dan Maklumat DS18b20:

  • Kesalahan kurang daripada 0.5 ° C (dalam julat suhu dari -10 ° C hingga + 85 ° C).

  • Tiada penentukuran diperlukan

  • Julat pengukuran - dari -55 C hingga + 125˚

  • VCC, bekalan voltan 3.3-5V.

  • resolusi sehingga 0.0625º, yang ditetapkan oleh perisian;

  • Resolusi - 12 bit

  • Setiap contoh diberi kod bersiri unik. Ini diperlukan untuk menggunakan beberapa bahagian dalam satu projek dengan mudah

  • Interface Komunikasi - 1-Wire

  • Tidak diperlukan tegasan

  • Jumlah maksimum sensor pada satu baris adalah 127 keping.

  • Mod kuasa palsu - dalam kes ini, sensor dikuasakan terus dari talian komunikasi. Pada masa yang sama, pengukuran suhu yang lebih tinggi daripada 100C tidak dijamin

Di bawah ini anda melihat carta penukaran kod perduaan dari DS18b20 ke suhu dalam darjah Celsius.

Jadual penukaran untuk kod binari dari DS18b20 ke suhu dalam darjah Celsius

Program contoh untuk membaca nilai suhu.

Program contoh untuk membaca nilai suhu

Sensor tekanan atmosfera

Barometer elektronik dipasang berdasarkan sensor tekanan atmosfera. Pilihan berikut digunakan secara meluas:

  • BMP180;

  • BMP280;

  • BME280.

Sensor tekanan atmosfera

Sekiranya kedua-dua keadaan terdahulu adalah serupa dengan satu sama lain, maka Sensor BME280 - Ini adalah stesen cuaca kecil. 3 sensor dibina di dalamnya:

  • Suhu;

  • Tekanan;

  • Kelembapan.

Ciri teknikalnya:

  • Dimensi 2.5 x 2.5 x 0.93 mm;

  • Logam LGA-perumahan, dilengkapi dengan 8 output;

  • Bekalan voltan 1.7 - 3.6V;

  • Ketersediaan antaramuka I2C dan SPI;

  • Sejajar dengan penggunaan semasa 0.1 μA.

Contoh-contoh ini adalah Barometer MEMS. MEMS bermaksud mikroelektrik mekanikal. Ini adalah mikrostruktur mekanikal yang menggunakan fenomena kapasitif dan prinsip-prinsip lain untuk kerjanya. Di bawah ini anda melihat contoh sensor sedemikian dalam konteks.

Contoh sensor sensor

Contoh rajah sambungan:

Contoh sambungan

Dan contoh kod program:

Kod sampel

Logik program adalah mudah:

1. Memanggil bacaan subrutin (fungsi) dari sensor.

2. Meminta bacaan sensor suhu yang terintegrasi dalam barometer.

3. Kami sedang menunggu masa untuk menilai sensor suhu;

4. Bacalah hasil pengukuran suhu;

5. Minta nilai tekanan;

6. Kami sedang menunggu masa pengukuran tekanan;

7. Baca nilai tekanan;

8. Kembalikan nilai tekanan dari fungsi.

Fakta yang menarik ialah terdapat empat pilihan untuk membaca nilai-nilai, mereka dinyatakan sebagai argumen dalam fungsi startPressure, tanda kedua ialah dari 0 hingga 3, di mana 0 adalah anggaran kasar, dan 3 adalah anggaran yang tepat.


Sensor pergerakan

Sensor gerakan yang paling biasa untuk Arduino adalah Modul Sensor IR HC SR501. Ciri modul ini ialah ia mempunyai pelarasan jarak tindak balas dan masa kelewatan isyarat output selepas operasi.

Sensor pergerakan

Ciri Modul:

1. Bekalan voltan 4.5 - 20 V.

2. Aliran semasa ≈ 50 μA;

3. Voltan isyarat output (tahap logik): 3.3 V;

4. Rentang suhu operasi - dari -15 ° C hingga 70 ° C;

5. dimensi: 32 * 24 mm;

6. Bidang pandangan - 110 °;

7. Jarak operasi maksimum - dari 3 hingga 7 m (laras); Di atas 30 ° C, jarak ini mungkin berkurangan.

Rajah rajah:

Gambar rajah sambungan sensor

Bagaimana untuk bekerja dengannya yang kami pertimbangkan dalam artikel yang diterbitkan lebih awal: Skim gerakan gerakan, prinsip kerja dan gambar rajah pendawaian mereka


Sensor paras air

Direka untuk menunjukkan tahap bendalir.

Sensor paras air

Ciri-ciri

1. Bekalan voltan 3-5V

2. Penggunaan semasa> 20 mA

3. Analog

4. Dimensi zon pengukuran 40x16 mm

5. Kelembapan yang dibenarkan 10% - 90%

Contoh kod:

Kod sampel

Nilai output adalah dari 0 (dalam keadaan kering) hingga 685 (ia mungkin berbeza sebenarnya bergantung kepada kekonduksian air). Jangan lupa tentang elektrolisis, apabila mengukur tahap garam atau air keras, ia akan menghancurkan.


Sensor kebocoran

Modul ini terdiri daripada dua bahagian - sensor itu sendiri dan komparator, boleh dibina pada LM393, LM293 atau LM193.

Sensor kebocoran

Terima kasih kepada komparator, isyarat analog ditukarkan kepada digital.

Rajah rajah:

Gambar pendawaian sensor kebocoran

Papan Pinout:

  • VCC - kuasa, mesti sepadan dengan kuasa papan Apduino, dalam kebanyakan kes ia adalah 5V;

  • GND - wayar biasa;

  • AO - isyarat analog;

  • DO adalah isyarat digital.

Terdapat perintang penalaan pada papan komparator, ia menetapkan kepekaan sensor. Ia boleh bertindak sebagai isyarat hujan atau sesuatu yang bocor, dan apabila dipasangkan dengan kren seperti itu, ia boleh berfungsi sebagai perlindungan terhadap kebocoran saluran paip di apartmen:

Ketuk perlindungan kebocoran

Video menunjukkan bagaimana ia berfungsi:


Sensor kelembapan

Biasa digunakan dalam projek penyiraman automatik, untuk menentukan kelembapan tanah, dan yang sebelumnya terdiri daripada elektrod dan papan dengan komparator.

Sensor kelembapan

Ia boleh berfungsi dalam mod analog dan digital. Satu contoh rajah sambungan untuk sistem pengairan automatik dengan kren berasaskan enjin:

Gambarajah sambungan sensor kelembapan ke Arduino

Dan contoh kod program untuk memproses isyarat digital dari sensor kelembapan:

Contoh kod untuk memproses isyarat digital daripada sensor kelembapan
Suhu Digital dan Sensor Kelembapan AM2302

Kesimpulannya

Kami memeriksa sensor yang popular, tetapi ada juga yang lain. Ini adalah pelbagai sensor getaran, gyroscopes, accelerometers, sensor radiasi dan banyak lagi.

Matlamat artikel ini adalah untuk mengumpulkan di satu tempat pelbagai elemen yang mungkin berguna kepada jurutera elektronik pemula untuk melaksanakan projek mereka. Sekiranya anda berminat dengan sensor tertentu - tulis dalam komen dan kami akan mempertimbangkannya dengan lebih terperinci.

Untuk kemudahan anda, kami telah mengumpulkan untuk anda meja dengan anggaran kos dan senarai sensor yang popular untuk Arduino, dalam susunan di mana mereka telah dipertimbangkan dalam artikel:Sensor untuk Arduino

Harga diambil dari kedai dalam talian di Rusia atau Ukraine. Di China, mereka kos 2 kali atau lebih murah.

Lihat juga di i.electricianexp.com:

  • Mengukur suhu dan kelembapan pada Arduino - pilihan kaedah
  • Menyambung sensor analog ke Arduino, membaca sensor
  • Apakah perbezaan antara sensor analog dan digital
  • Bagaimana sensor talian diatur dan berfungsi
  • Skim sensor gerakan dan prinsip kerja mereka, gambar pendawaian

  •