
Perangkat ATtiny13, dikendalikan oleh program 290 kata 16-bit yang ditulis assembler, mengingat kode enam tombol pada remote control dan menghidupkan / mematikan tiga beban.
Skema:

Penerima IR TSOP1740 standar menggunakan logika terbalik, dan ini diperhitungkan dalam program. Sinyal yang diterima menyebabkan interupsi INT0. Resistor diperlukan untuk melepaskan penerima IR dari mikrokontroler selama pengunggahan firmware.
Prosedur untuk mengajarkan kode tombol perangkat adalah sebagai berikut. Nyalakan daya dengan tombol yang ditekan pada input PB3 (maka Anda dapat melepaskannya). Muatan pertama sebentar akan langsung hidup dan mati. Kami menekan tombol pada kendali jarak jauh, yang ingin kami aktifkan muatan pertama. Segera setelah remote mengirim kode yang sama dua kali (ini terjadi jika Anda menahan tombol setidaknya selama beberapa detik), beban pertama akan menyala selama lima detik dan mematikan. Dan yang kedua akan menyala sebentar dan juga langsung mati. Kami melatih perangkat untuk kode tombol untuk menyalakan beban kedua. Lalu yang ketiga. Sekarang kami melakukan hal yang sama secara berurutan dengan kode tombol, yang ingin kami putuskan pemuatannya. Program akan menulis kode ke EEPROM, sekarang Anda harus mematikan dan menghidupkannya, tetapi jangan menekan tombol pada input PB3. Perangkat akan masuk ke mode operasi, di mana Anda dapat mengelola banyak.
Saat memeriksa beban, LED terhubung melalui resistor. Setelah memastikan bahwa semuanya berfungsi, kami menyambungkan ke tombol keluaran yang mengontrol relai. Seperti dapat dilihat dari rangkaian salah satu dari tiga tombol, LED indikator dengan resistor untuk kenyamanan tetap berada di tempatnya:

Sebenarnya, harus ada transistor NPN yang dihubungkan oleh emitor ke kabel biasa, tetapi penulis bekerja seperti itu. Beban dapat, misalnya, lampu LED dengan suhu warna 2700, 4000 dan 6400 K. Anda dapat mengubahnya secara manual sesuai dengan ritme sirkadian, tanpa mengandalkan otomatisasi.
Kode Assembler:
tanpa dan tanpa format HTML .
Konfirmasi bahwa itu mungkin untuk memenuhi 290 kata 16-bit:
gavrasm Gerd's AVR assembler version 3.5 (C)2015 by DG4FAC ---------------------------------------------------------- Source file: 12_IR-Rx_Switch.asm Hex file: 12_IR-Rx_Switch.hex Eeprom file: 12_IR-Rx_Switch.eep Compiled: 23.11.2016, 23:23:05 Pass: 2 1: ; 2: ; *************************************** 3: ; * IR-Switch 3-Channel with ATtiny13 * 4: ; * (C)2016 by www.avr-asm-tutorial.net * 5: ; *************************************** ... Program : 290 words. Constants : 0 words. Total program memory: 290 words. Eeprom space : 13 bytes. Data segment : 29 bytes. Compilation completed, no errors. Compilation ended 23.11.2016, 23:23:05