FLProg + nooLite
, , β . , , FLProg . .Sekarang sedikit latar belakang. Salah satu pengguna program beralih ke perusahaan Nootechnika dengan proposal untuk membuat blok pengguna (pada waktu itu program sudah memiliki kesempatan seperti itu) untuk bekerja dengan peralatan yang mereka hasilkan melalui program FLProg. Kepala perusahaan berjalan dengan cara yang berbeda. Dia menghubungi saya dan menawarkan untuk memberi saya contoh produknya untuk diintegrasikan ke dalam program. Setelah mempelajari proposal itu, saya setuju, karena situs itu memiliki perpustakaan untuk bekerja dengan modul pemancar, ada deskripsi yang baik tersedia, dan saya tidak melihat masalah. Bingkisan itu tiba dengan sangat cepat (yang aneh untuk pos Rusia), bahkan dengan mempertimbangkan persimpangan perbatasan.Apa yang terjadi:Modul pemancar MT1132
Modul
MT1132 dirancang untuk mengontrol blok daya sistem nooLite dari platform Arduino, mikrokontroler, atau PC. Secara struktural, modul ini dibuat dalam bentuk papan sirkuit tercetak di mana pengontrol kontrol dan pemancar berada. Modul ini dikendalikan melalui antarmuka UART serial. Modul menerima perintah kontrol yang diterima melalui UART dan mentransfernya ke unit daya melalui pemancar radio bawaan.Unit daya SD111-180
pengontrol LED RGB yang dikendalikan radio (unit daya) nooLite SD111-180 dirancang untuk mengontrol strip LED 12 V. Strip LED dapat berupa tri-warna (RGB) atau satu-warna.Blok daya SU111-300
Unit daya SU111-300 adalah sakelar radio universal yang dirancang untuk penerangan hidup / mati jarak jauh dengan kemampuan untuk menyesuaikan kecerahan untuk sumber cahaya yang dapat dimmable (lampu pijar, lampu LED dimmable). Unit ini dapat beroperasi dalam dua mode: relai dan peredupan, tergantung pada jenis beban yang diharapkan. Dalam mode relai, SU111 300 mampu menangani semua jenis beban.Informasi lebih lanjut tentang perangkat ini dapat ditemukan di situs web produsen.Blok dibuat berkualitas sangat tinggi. Saya menduga bahwa perusahaan beroperasi atas dasar beberapa perusahaan Soviet, dan pada zaman Soviet, peralatan bagus diproduksi di Belarus. Meski mungkin aku salah.Implementasi asli dari sistem untuk beralih pada pengikatan blok daya. Untuk mengaktifkan mode ini, perlu untuk mengompres rumah pada titik tertentu, dan saklar mikro di dalam akan beroperasi. Tetapi dalam instruksi tempat ini ditampilkan dengan sangat jelas, jadi saya pertama kali.Dimasukkannya pertama pemancar membuat hal yang sama sedikit gugup. Ketika daya diterapkan, tidak ada yang menyala di papan tulis, meskipun ada LED di papan tulis. Saya terbiasa memiliki indikator daya di semua perangkat. Pada pemancar ini tidak. Pada awalnya saya bahkan memutuskan bahwa papan tidak berfungsi, dan memanjat tester untuk mengukur tegangan. Tapi semuanya tampak beres. Kemudian saya mengunduh perpustakaan dari situs, dan mulai mencoba contoh. LED berkedip saat mengirim perintah. Dalam hal ini, ada kehalusan. Dia tidak berkedip saat menerima data di UART, tetapi saat mengirim perintah di udara. Fitur ini juga membuat saya gugup. Sudah selama pengembangan kompiler, perintah untuk blok daya tiba-tiba berhenti lewat, dan LED berhenti berkedip. Meskipun saya jelas melihat bahwa paket untuk UART pergi. Saya memutuskan bahwa saya masih membakarnya. Ternyata kesalahan dalam kode, dan checksum,yang ada dalam paket, saya telah salah perhitungan. Dengan demikian, pemancar tidak menerima paket ini dan tidak mengirim perintah. Setelah memperbaiki kode, semuanya bekerja dengan baik.Sekarang tentang perpustakaan, yang ada di situs web produsen. Saya awalnya berencana untuk menggunakannya. Tetapi memilih dengan dia, saya menyadari bahwa dia tidak cocok untuk saya. Pertama, itu tidak mendukung bekerja dengan pengontrol Lena LED (SD111-180). Kedua, dia tidak tahu bagaimana mengontrol mode peredupan untuk unit daya (SU111 300). Dan akhirnya, itu dipaku ke SoftwareSerial. Ini tidak selalu baik. Namun, dalam beberapa kasus, untuk menghemat sumber daya, lebih baik menggunakan perangkat keras UART. Oleh karena itu, saya harus mengembangkan kode sendiri (memata-matai implementasi perpustakaan).Dalam semua hal lainnya, peralatan ini meninggalkan kesan yang sangat baik. Ini bekerja secara stabil, ada banyak kemungkinan, kualitasnya berada pada level yang sangat tinggi. Dengan harga tentu saja lebih tinggi dari perlengkapan biasa dari China. Tetapi di Cina belum ada analog (setidaknya saya tidak menemukan kompleks yang sama), tetapi dibandingkan dengan negara-negara yang jauh di luar negeri di mana sistem seperti itu diproduksi, harganya bahkan sangat menarik.Nah, sekarang mari kita lihat implementasi kontrol pemancar melalui program FLProg.Pemancar terhubung ke Arduino sesuai dengan skema.
Koneksi RX (Arduino) - TX (MT1132) tidak dapat digunakan, karena saya tidak menerapkan umpan balik dari pemancar ke controller (konfirmasi mengirim perintah). Pengecualian koneksi ini memungkinkan menggunakan UART perangkat keras untuk tidak memutuskan pemancar saat menumpahkan controller.Untuk mengontrol pemancar dalam program FLProg, blok kontrol pemancar Noo Lite (folder Lain-lain) muncul di pustaka elemen.
Mengirim perintah ke pemancar terjadi di tepi terdepan pulsa di input βKirimβ. Blok terpisah dapat digunakan untuk setiap perintah, atau perintah dapat ditentukan oleh nilai yang diberikan ke input Perintah.Seperti orang lain, blok ini dikonfigurasikan menggunakan editor blok (disebut dengan mengklik dua kali pada blok yang ditransfer ke ruang kerja sirkuit).Jika Anda membuat parameter blok pertama tersebut di sirkuit, maka Anda harus menghubungkan pemancar baru.
Ini akan membuka jendela koneksi pemancar.Di jendela
ini, Anda harus menentukan nama pemancar dan memilih port yang terhubung. Dalam hal menggunakan SoftwareSerial, Anda juga perlu memilih pin untuk port ini.Setelah menghubungkan pemancar, Anda harus mengatur saluran di mana perintah akan dikirim.
Saluran dapat ditetapkan sebagai konstanta, jadi gunakan input untuk ini. Dengan demikian, saat menggunakan input, saluran dapat diubah secara programatis.Dan akhirnya, pilih perintah untuk dikirim.
Daftar perintah yang didukung:- Bind penerima
- Lepaskan penerima
- Aktifkan memuat
- Matikan beban
- Ganti status
- Jalankan peredupan yang halus
- Jalankan peningkatan kecerahan yang halus
- Ubah arah perubahan kecerahan yang halus
- Berhenti memudar
- Setel kecerahan (0 - 120)
- Aktifkan pencocokan warna yang halus (hanya untuk pengontrol strip LED)
- Ganti warna (hanya untuk pengontrol strip LED)
- Beralih mode operasi (hanya untuk pengontrol strip LED)
- Beralih efek kecepatan (hanya untuk pengendali strip LED)
- Setel kecerahan untuk setiap saluran (0-255) (hanya untuk pengendali strip LED)
- Ingat negara
- Setel Status Tersimpan
Anda juga dapat menggunakan input untuk memilih perintah (pilih "Input" dalam daftar perintah) dan dalam hal ini, Anda dapat mengubahnya selama pelaksanaan program dengan mengirimkan nomor perintah ke input Perintah.Nomor Tim:Nomor tim | Tim |
---|
0 | Aktifkan memuat |
1 | Jalankan peredupan yang halus |
2 | Matikan beban |
3 | Jalankan peningkatan kecerahan yang halus |
4 | Ganti status |
5 | Ubah arah perubahan kecerahan yang halus |
7 | Setel Status Tersimpan |
8 | Ingat negara |
9 | |
10 | |
15 | |
16 | ( LED ) |
17 | ( LED ) |
18 | ( LED ) |
19 | ( LED ) |
Harap perhatikan bahwa dalam tabel ini tidak ada perintah " Atur kecerahan (0 - 120) " dan "Atur kecerahan untuk setiap saluran (0-255) (hanya untuk pengendali strip LED)." Untuk mengirim perintah ini, Anda harus menggunakan blok terpisah. Mari kita lihat perintah-perintah ini secara lebih rinci.β Set brightness (0 - 120) β - ketika perintah ini dipilih, parameter tambahan akan muncul di blok editor.
Dengan menggunakan parameter ini, Anda dapat mengatur nilai kecerahan yang dikirim sebagai konstanta dalam perintah, atau menggunakan input. Dalam kasus input kedua, blok β Nilai β muncul
β Atur kecerahan untuk setiap saluran (0-255) (hanya untuk pengontrol strip LED)Β»- ketika Anda memilih perintah ini di editor blok, parameter tambahan juga akan muncul.
Dan seperti pada perintah sebelumnya, nilai kecerahan untuk setiap saluran dapat ditetapkan sebagai konstanta, atau gunakan input. Pada saat yang sama, blok akan memiliki input yang sesuai - " R ", " G ", " B "
Yah, mungkin itu saja, terima kasih atas perhatian Anda.Source: https://habr.com/ru/post/id391477/
All Articles