Selamat hari untuk semua! Dalam artikel ini saya ingin memberitahu bagaimana menggunakannya Arduino, satu set LED dan sensor ultrasonik, anda boleh memasang peranti yang menentukan jarak dari pemerhati ke objek, dengan kata lain, pencari jarak jauh. Dan mari mari!
Apa yang kita perlukan:
Plain kotak. Ia adalah wajar untuk menjadi saiz kecil, kerana ia akan mengandungi hanya satu mikrokontroler.
Menggunakan transducer ultrasonik HC-SR04 kita boleh menentukan jarak.
Penunjuk empat angka kita perlu mengeluarkan nilai yang diperolehi.
Tetapkan LED mana-mana warna (saya menggunakan hijau, kerana mereka lebih cerah), resistor pada 220 ohm wayar atau jumper juga papan roti.
Supaya komponen peranti kami dipasang dengan selamat, saya akan menyolder mereka.
Untuk ini kita perlukan besi pematerian, fluks, solderjuga papan untuk pematerian.
Dan tentu saja, tanpa Arduino kita tidak boleh buat! (Anda boleh memilih mana-mana pengawal mikro, saya memilih Arduino Leonardo atau Iskra Neo yang bersamaan)
Daripada alat yang kita perlukan besi pematerian, seperti yang saya katakan di atas, pisau dan selipar.
Sekarang mari kita mula memasang peranti itu.
Langkah # 1
Untuk memulakan, menggunakan papan selancar, kami akan memasang prototaip peranti masa hadapan kami. Ia akan kelihatan seperti ini ..
Jangan bimbang! Tidak ada yang mengerikan dalam kawat wayar ini!
Sensor HC-SR04 mempunyai empat pin: tambah, tolak (yang kita melekat pada 5V dan GND pengawal), Trig dan Echo (kita memasukkan pin Arduino ke 12 dan 11)
Penunjuk empat digit mempunyai 3 wayar: kuasa, tanah dan isyarat. Yang terakhir disambungkan kepada 9 pin Arduino.
Kami menyambung tiga LED kepada 6, 5 dan 4 kenalan pengawal secara siri dengan perintang. Jangan lupa tentang kekutuban. Aliran semasa dari kaki yang lebih panjang menjadi lebih pendek.
Hanya itu, apabila kami memasang peranti kami pada papan roti, memuatkan lakaran (ia akan menjadi di akhir artikel) dan pastikan semuanya berfungsi, berasa bebas untuk memulakan pematerian.
Nombor langkah 2
Pertama, solder sensor ultrasonik ke papan roti. Saya menggunakan saiz papan kecil yang kecil, kerana bilangan elemen tidak melebihi 7.
Selepas itu, dengan bantuan nippers, menggigit kaki (saya memohon maaf untuk tautologi), menjadikannya lebih pendek supaya mereka tidak mengganggu dan kelihatan lebih cantik!
Selepas itu, pateri empat wayar melawan kenalan sensor.
Juga jangan lupa tentang nippers!
Langkah # 3
Sensor itu sudah ada, ia tetap menjadi solder tiga LED bersama-sama dengan perintang.
Sebaliknya, ia kelihatan seperti ini:
Langkah # 4
Di sisi kotak, potong lubang bulat untuk makanan.
Pada tudung, anda perlu memotong rongga pada saiz (sedikit lebih kecil panjang) dari papan roti anda, dan juga lubang gerudi untuk skru.
Sekarang, jika kita mengetatkan papan roti kosong tanpa unsur-unsur di atasnya (saya lakukan hanya untuk demonstrasi ..), kita mendapat sesuatu seperti yang berikut:
Langkah # 5
Jadi, untuk menjadikannya lebih mudah, saya mencadangkan terlebih dahulu menyambung wayar ke arduino, dan kemudian kemudian skru papan roti ke penutup kotak. Juga, jangan lupa tentang penunjuk kami, yang saya letakkan di atas susun atur.
Segala-galanya pada pemasangan peranti ini selesai!
Ia hanya untuk memuat turun seterusnya lakaran dan nikmati mainan!
#include
#include
NewPing sonar (12.11, 400);
int a, j, b;
unsigned long t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
batal persediaan ()
{
untuk (int i = 4; i & lt; 7; i ++)
{
pinMode (i, OUTPUT);
}
paparkan jelas (9);
untuk (int i = 4; i & lt; 7; i ++)
{
digitalWrite (i, 0);
}
}
kekosongan gelung ()
{
j = 7;
untuk (int i = 0; i100) nada (2,70);
digitalWrite (j, masiv [i]);
sementara (millis () & lt; = t + b)
{
kelewatan (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
t = millis ();
jika (j == 4) j = 7;
jika (i == 8)
{
digitalWrite (4.1);
sementara (millis () & lt; = (t + b) + (b * 2))
{
kelewatan (50);
a = sonar.ping_cm ();
displayInt (9, a);
b = a;
}
digitalWrite (4.0);
t = millis ();
}
}
Beberapa perkataan kod program. Terima kasih kepadanya, tiga LED kita akan berkelip seli satu demi satu, dan kelajuan kedipan mereka akan bergantung pada jarak ke objek, yang dikira oleh sensor ultrasonik. Tetapi untuk menjadikan LED berkelip, ia tidak sepenuhnya logik untuk menggunakan fungsi kelewatan (), kerana apabila ia digunakan, pengawal membeku dan tiada pengiraan dilakukan. Terdapat beberapa cara untuk menyelesaikan masalah ini. Khususnya, salah satunya ialah penggunaan fungsi millis (), yang mengembalikan nombor dalam milisaat dari saat pengawal berfungsi. Dan bagaimana kita melambatkan 100 milisaat bersyarat? Untuk melakukan ini, saya mencipta kitaran yang pada dasarnya kosong, keluar dari yang akan hanya selepas 100 milliseconds ini, dan kemudian program itu akan menghidupkan / mematikan LED.
Baiklah! Terima kasih kerana membaca artikel ini hingga akhir. Saya harap anda bukan sahaja menyukainya, tetapi juga mengilhami laut baru kraf dan penemuan!