
Dalam artikel saya sebelumnya, saya berbicara tentang bagaimana membantu orang lumpuh berkomunikasi dengan dunia luar: mengomunikasikan keinginan mereka, menulis surat, menjelajahi Internet hanya menggunakan mata mereka dan perangkat yang melacak pandangan Anda (pelacak mata). Dalam hal ini, secara fisik, seseorang masih tetap dibatasi oleh dunia komputer dan tempat tidur.
Di sini saya akan berbicara tentang cara paling sederhana (menurut saya) untuk mengubah sesuatu di dunia luar sendiri: nyalakan lampu atau karangan bunga di pohon Tahun Baru, kendalikan kendaraan semua medan pada kontrol radio, buat kereta dorong bermotor bergerak ke arah yang benar.
Isi
PendahuluanKomponen yang DiperlukanHubungkan Arduino ke komputerSkema Kontrol StopkontakSirkuit kontrol motorPendahuluan
Selain perangkat pelacakan tatapan mata dan perangkat lunak bebas untuknya, dijelaskan di sini dalam artikel
ini , kita memerlukan sesuatu yang menghubungkan komputer ke objek eksternal.
Terlepas dari penjualan berbagai perangkat yang dapat dikontrol dari komputer, opsi paling sederhana dan termurah bagi saya adalah menggunakan dua bagian: papan Arduino dan papan multi-relay.
Jika Anda belum pernah menemukan Arduino, tetap tidak menyerah membaca, di masa depan Anda akan melihat bahwa dalam konteks ini cukup mudah untuk bekerja dengannya, bukan tanpa alasan bahwa ada banyak desainer anak-anak yang berbasis di Arduino untuk dijual.
Pada saat yang sama, jika Anda tidak terbiasa dengan keamanan listrik dan tidak pernah melakukan pemasangan kabel listrik di rumah, jangan mencoba mengulangi sirkuit yang menggunakan koneksi ke outlet!
Yang perlu Anda ketahui tentang Arduino: ini adalah perangkat kecil yang dapat dicolokkan ke port USB komputer, setelah itu dapat menghidupkan / mematikan sinyal listrik pada kontaknya sesuai dengan instruksi yang diterima.
Sinyal cukup berdaya rendah, sehingga untuk mengontrol sesuatu yang lebih kuat (lampu listrik, misalnya), kami menempatkan unit relai, yang, sebagai respons terhadap sinyal dari Arduino, menutup dan membuka kontak kontrol perangkat eksternal. Selain itu, relay mengisolasi sirkuit listrik komputer Arduino + dari sirkuit listrik perangkat yang dikelola.
Jadi, dasar dari rangkaian kontrol untuk outlet listrik dan motor, yang akan dijelaskan nanti, adalah sebagai berikut: dua bagian yang dihubungkan oleh kabel satu sama lain, dihubungkan oleh kabel USB ke komputer dan kabel ke apa yang ingin kita kontrol:

Di dunia nyata, akan terlihat seperti ini:

Kami mengirim perintah dari komputer, Arduino salah satu kontaknya menghidupkan / mematikan relai, yang merupakan sakelar dari perangkat apa pun atau tombol terpisah pada perangkat tersebut.
Komponen yang Diperlukan
Kami akan membutuhkannya (dalam tanda kurung adalah harga 2018 di toko lokal. Mereka yang dapat membeli di Cina dapat menghemat banyak uang, tetapi kehilangan waktu):
1) Papan Arduino UNO dengan kabel USB (dimungkinkan aftermarket, dengan CH340 murah dan bukan FTDI mahal) (450 rubel)
2) Papan dengan empat relay yang beroperasi pada tegangan 5 volt dan mampu mengendalikan perangkat dengan tegangan 220 volt. (450 rubel). Masih ada papan yang bekerja pada 12 Volts, jangan mencampurnya!
3) Banyak kabel untuk menghubungkan dua papan. Dalam kasus saya, kabel dengan soket di satu sisi dan pin di sisi lain diperlukan, karena blok relai memiliki kontak pin, dan Arduino memiliki soket. Lihatlah konektor pada papan Anda saat membeli kabel (150 rubel).

Hubungkan Arduino ke komputer
Pertama, instal perangkat lunak pemrograman Arduino dari
www.arduino.cc :
Pada halaman
https://www.arduino.cc/en/Main/Software, klik "Windows Installer":

Klik "Unduh Saja":

Unduh dan jalankan penginstal:

Kami menyetujui segalanya:




Saat program diinstal, hubungkan papan Arduino dan komputer dengan kabel USB.
Lampu pada papan Arduino menyala, dan di manajer perangkat Anda akan melihat bahwa port baru telah muncul, dan telah diberi nomor tertentu, misalnya, COM3:

Mari kita ubah angkanya ke COM9, karena di masa depan semuanya akan terikat secara khusus dengan COM9. Untuk melakukan ini, klik kanan padanya, panggil menu konteks dan pilih "properti" di dalamnya:

Pada tab "parameter port" klik tombol "lanjut":

Dan akhirnya, pilih "COM9" sebagai nomor port COM.

Tutup semua jendela yang terbuka dengan tombol "OK", kemudian lepaskan dan masukkan kabel USB untuk memverifikasi bahwa Arduino akan terus terhubung melalui port COM9 jika dimasukkan ke port USB yang sama dari komputer:

Sekarang panggil dan konfigurasikan program Arduino yang baru saja diinstal dari situs:

Di menu "Tools", atur papan "Arduino UNO" dan port "COM9":

Sekarang semuanya siap untuk mengumpulkan skema dan menghirup kehidupan ke dalamnya.
Skema Kontrol Stopkontak
Jika Anda tidak terbiasa dengan keamanan listrik dan tidak pernah melakukan pengkabelan di rumah, jangan mencoba mengulangi diagram ini! Rangkaian ini menggunakan tegangan yang mengancam jiwa!Sekali lagi, kendalikan pertanyaan:
- Apakah Anda tahu cara membedakan kawat dengan fase dari kawat dengan nol di soket?
- Apakah Anda tahu cara membunyikan kabel dan memastikan tidak ada korsleting setelah mencolokkan?
Jika Anda tidak pasti menjawab pertanyaan-pertanyaan ini, mintalah orang yang lebih berpengalaman untuk menyusun sirkuit.
Sekarang to the point.
Ini berfungsi seperti ini:
Diagram koneksi soket terlihat seperti ini:

Kami menyediakan nol langsung ke soket, dan fase melalui relay. Jika Anda melakukan yang sebaliknya, itu akan berhasil, tetapi akan ada bahaya sengatan listrik dari perangkat MATI MALFUNGSIONAL. Artinya, ambil untuk TV rusak yang dimatikan, dan itu akan mengejutkan Anda.
Jika rumah memiliki tanah pelindung, maka gunakan outlet tanah.
Berikutnya adalah desain referensi saya. Di dalamnya, saya membuat kesalahan dengan warna kabel: warna kabel netral berubah coklat dan fase biru. Perhatikan ini.
Kami mengambil sepotong papan dengan ukuran yang sesuai untuk memasangnya (dari kiri ke kanan): Arduino, blok relai, empat soket, braket untuk menekan kabel ke papan.

Kami memotong kelebihan dan menggunakan pahat untuk membuat alur untuk kabel sehingga mereka bebas masuk ke dalam soket.

Kami mengacaukan papan Arduino dan blok relai dengan sekrup ke papan, meletakkan mesin cuci plastik.

Jika mesin cuci tidak tersedia, Anda dapat memotong pena:

Siapkan kabel: potong sesuai panjang yang diinginkan dan lepaskan dari isolasi. Dianjurkan untuk memberi mereka timah dengan solder di tempat kontak dengan soket dan relay.

Tekan kabel ke papan dengan braket sehingga tidak bisa ditarik.

Kami menghubungkan kabel dan mengacaukan soket. Kami menyebutnya rantai.


Kami menghubungkan papan Arduino ke unit relai dengan bundel kabel sesuai dengan diagram di atas.

Kami menutupi papan dengan casing pelindung dari bahan non-konduktif.
Ini harus dilakukan di sini, karena voltase yang mengancam jiwa cocok untuk blok relai! Dalam kasus ekstrem, setidaknya bungkus kontak listrik relai.
Saya menggunakan wadah untuk produk-produk yang terbuat dari plastik keras sebagai casing, melampirkannya dengan sekrup:

Ingatlah untuk membuat lubang untuk kabel USB.

Sambungkan perangkat ke komputer, tetapi
jangan colokkan ke stopkontak .
Kami meluncurkan program "Arduino" dan menyalin teks program ini di sana:
Kemudian klik tombol unduh program di Arduino (lihat gambar di bawah). Jika semuanya berjalan tanpa kesalahan, maka kita melihat tulisan "Unduh selesai".

Periksa apakah perangkat kami menjalankan perintah. Untuk melakukan ini, hubungi monitor port:

Sekarang kita akan mengetikkan angka
1 dan tekan Enter atau tombol "Kirim":

Klik karakteristik relai akan terdengar dan kontak pada soket pertama akan terhubung ke kabel fase. Periksa ini dengan tester. Kemudian tekan nomor 0 dan relai akan memutuskan kontak.
Melihat teks program, Anda dapat melihat apa yang akan terjadi jika kita mengetikkan angka lain:
3,2 - hidupkan, matikan outlet kedua
5,4 - hidupkan, matikan outlet ketiga
7.6 - hidupkan, matikan outlet keempat
Periksa dengan tester koneksi dari outlet ini. Setelah memeriksa, Anda dapat menghubungkan kabel ke tegangan di jaringan dan mulai menghidupkan / mematikan perangkat nyata.
Tugas kita selanjutnya adalah menghidupkan dan mematikan peralatan dengan cepat. Untuk melakukan ini, kami mengkonfigurasi program
bkb yang dijelaskan di sini dalam artikel
ini (VERSI TERAKHIR PROGRAM DIPERLUKAN !!!) .
Misalkan kita ingin menghidupkan dan mematikan lampu dan karangan bunga pohon Natal.
Dalam program Paint standar, kami menggambar empat gambar 200x200 dalam format
BMP :

Kami juga akan membuat empat file batch:
c.cmd, d.cmd, e.cmd, f.cmdMereka akan berisi perintah untuk mengirim karakter 1,0,3,2 ke port COM9. Dan kita ingat bahwa mereka menghidupkan dan mematikan soket pertama dan kedua. Penting bahwa tidak ada garis kosong di antara dua baris dalam file ini!
c.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 1 > com9:
d.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 0 > com9:
e.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 3 > com9:
f.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 2 > com9:
Kami menimpa
file .bmp dan
.cmd yang dibuat di direktori
grid program
bkb .
Setelah memulai program
bkb dalam mode tabel, baris kelima baru dengan gambar kami akan muncul:

Ketika kita memegang pandangan kita pada gambar, tindakan yang sesuai diluncurkan.
PERHATIAN! Pertama kali setelah memulai program, tindakan tidak bekerja. Semua waktu berikutnya - berfungsi. Ini disebabkan oleh fakta bahwa selama inisialisasi pertama port, sinyal pada garis DTR berubah, yang menyebabkan Arduino melakukan reboot, yang berlangsung sekitar tiga detik.
Mereka mengatakan bahwa ini dapat diselesaikan dengan besi solder, tetapi saya tidak berani terlibat dalam pekerjaan perhiasan seperti itu. Jadi untuk saat ini, ingatlah bahwa pertama kali Anda harus menghidupkan dua kali.
KomentarAnda mungkin sudah mengerti bahwa dalam file .cmd Anda dapat memanggil program eksternal apa pun. Jika Anda memiliki perangkat apa pun yang dapat dikontrol dari baris perintah, Anda sendiri dapat menjalankan perintah tersebut dengan mengaitkan tindakan yang diperlukan dengan gambar di tabel.
Sirkuit kontrol motor
Teman saya memutakhirkan skuter gyro dan menggantinya dengan poros belakang kereta bayi. Manajemen dilakukan dengan remote melalui papan Arduino.

Kami memutuskan untuk mencoba memberi anak kesempatan untuk mengendalikan kereta dorong dengan tampilan sendiri. Untuk melakukan ini, mode kontrol
kursi roda ditambahkan ke
program bkb .

Setelah memulai dalam mode ini, panah muncul di layar, tampilan yang menyebabkan program mengirim karakter kontrol ke port COM9, yang kemudian ditafsirkan oleh kereta dorong untuk bergerak maju / mundur, belok kiri / kanan dan berhenti.
Sementara kereta dorong sedang diselesaikan, saya memutuskan untuk menggunakan program yang sama untuk remote control model tangki yang dilacak. Ini juga merupakan hal yang sangat berguna. Pertama, anak menerima keterampilan yang berguna untuk mengendalikan kereta dorong. Kedua, ini hanya permainan yang mengasyikkan.

Setiap trek tangki dikontrol oleh tuas yang dapat digerakkan ke depan atau ke belakang. Saat menggerakkan tuas ke depan, dia menekan tombol, memaksa motor berputar ke depan. Saat menggerakkan tuas ke belakang, ia menekan tombol, yang membuat motor berputar ke arah yang berlawanan. Tidak dimungkinkan untuk menekan dua tombol secara bersamaan - maju dan mundur tidak mungkin.
Unit relai terhubung ke tombol-tombol remote control sesuai dengan diagram di bawah ini. Sirkuit tidak memungkinkan pengaktifan tombol "motor maju" dan "motor mundur" secara bersamaan. Satu relai menghidupkan / mematikan motor, dan yang kedua memilih arah maju atau mundur.
Temukan pada panel panel kontrol di mana tombol-tombol terhubung dan terhubung, sesuai dengan diagram di atas.
Harap perhatikan bahwa tidak seperti sirkuit sebelumnya, Arduino mengontrol blok relai dengan pin 6 hingga 9.

Saya menghubungkan blok relai ke remote control melalui konektor sehingga remote control dapat dengan mudah diputuskan dan digunakan secara terpisah:

Program yang perlu diunduh Arduino menerima perintah yang sama dari komputer yang digunakan untuk mengontrol kereta dorong bermotor:
Maju
B-kembali
L-kiri
B-benar
S-stop
Teks program diberikan di bawah ini.
Jika koneksi dengan komputer terputus (tidak ada karakter yang tiba dalam 0,3 detik, maka Arduino mematikan motor). Situasi ini dapat dimodelkan dengan menutup mata Anda sambil mengendalikan mata Anda. Aitreker tidak akan dapat menentukan arah tampilan dan sinyal tidak akan dikirim. Motor akan berhenti.
Saya melengkapi model tangki dengan kamera video, yang biasanya disebut nilai tukar, atau FPV (First Person View), yang mentransmisikan sinyal analog pada frekuensi sekitar 5,8 GHz. Saya mengambil salah satu kamera termurah, juga dilengkapi dengan pemancar dan antena: AKK BA-3. Harganya 1050 rubel. Kamera dengan pemancar sangat kecil sehingga pas di tangan sosok Lego:

Yang perlu dilakukan agar kamera berfungsi adalah menghubungkannya ke daya (dari 3,2 hingga 5,5 Volts). Kemudian dengan satu tombol pilih rentang, frekuensi dan kekuatan pemancar.
Kamera memanas secara signifikan, jadi saya sarankan pengaturan daya minimum (25 miliwatt). Selain itu, saya menghubungkannya ke baterai tangki dengan tegangan 6 volt, yang melebihi nilai yang diizinkan. Karena itu, saya tidak tahu sampai berapa lama. Saya sarankan Anda menggunakan stabilizer tegangan untuk memberi daya pada kamera.
Saat memasang kamera, saya menempelkan satu elemen konstruktor Lego ke tangki, dan elemen lainnya sudah terpasang dengan koneksi sederhana. Ini membuatnya mudah untuk menghapus dan menarik kembali kamera. Juga, ketika menabrak rintangan, kamera dapat dengan mudah dilipat, yang akan menyelamatkannya dari kerusakan.

Untuk menerima sinyal video dari kamera, saya menggunakan penerima Eachine ROTG01. Dia mengambil bukan baru untuk 1800 rubel. Itu hanya sebuah kotak dengan antena yang terhubung ke port USB komputer dan terlihat sebagai kamera USB. Artinya, kami meluncurkan aplikasi Kamera di Windows dan melihat apa yang diterima penerima. Bahkan di awal, Anda perlu menahan satu-satunya tombol pada receiver sehingga memindai eter dan menemukan frekuensi di mana kamera kami mentransmisikan sinyal.
Secara umum, kita membutuhkan tiga port USB di komputer:
- untuk pelacak IT
- untuk Arduino, mengendalikan panel kontrol tangki
- untuk penerima video

Kami memulai output gambar dari kamera, misalnya, program "Kamera". Kami meluncurkan program
bkb dan memilih mode kontrol untuk kereta dorong bermotor.
Apa yang dapat terjadi selanjutnya ditunjukkan dalam video:
Dapat dilihat bahwa kecepatan gerakan, dan terutama kecepatan belokan, terlalu besar. Jadi, jika Anda memilih model yang dikendalikan radio, pilih yang paling lambat. Ekskavator atau apalah.
Dan mengapa tidak mengambil "robot mata-mata" yang sudah jadi?
Saya jatuh ke tangan salah satunya, HappyCow 777-325.

Saya senang: dia memiliki segalanya, dan kendali jarak jauh, dan transmisi video, dan naik cukup lambat. Namun, ada satu fitur - hanya dikontrol melalui aplikasi di Android atau iOS. Nah, kita akan menyelesaikan ini melalui remote control Android, misalnya, menggunakan
scrcpy .
Tetapi ternyata selain kekurangan yang dapat diperbaiki (sudut pandang sempit kamera), mesin memiliki satu diperbaiki. Video yang dikirim melalui Wi-Fi mengalami penundaan yang mengerikan.
Artinya, robot ini telah menabrak sesuatu untuk waktu yang lama, dan Anda semua menekan gas, berpikir bahwa itu belum mencapai hambatan.
Untuk seorang anak yang belajar mengendalikan mesin dari jarak jauh, ini, menurut saya, tidak dapat diterima.
Jadi robot mendapat pengunduran diri. Meskipun saya akan meminjam sasis darinya.
Kesimpulan
Saya berharap Anda semua sukses dalam mengulang dan mengembangkan solusi teknis yang dijelaskan.