検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
TVリモコン信号の受信機 をテンプレートにして作成
★トップ(目次)ページへ
★情報交換掲示板
08/08/14設置
今日の10件
PICとMikroC
(191)
サーボモータを動かす
(2)
PukiWiki/1.4/Manual
(2)
自作my_PWM()関数の紹介
(2)
PIC-PICの通信(USART)
(2)
LEDの明るさを変える(PWM)(12F683)
(2)
A/D値でLED点滅間隔変更(18F2320)
(2)
PukiWiki/1.4/Manual/Plugin
(1)
PukiWiki/1.4/Manual/Plugin/O-R
(1)
PukiWiki/1.4/Manual/Plugin/A-D
(1)
最新の15件
2024-04-02
インターバルタイマ(TMR0割込み利用)(16F886)
XC8:変数の型のタイプと値の範囲
XC8:プログラミング書式の確認
XC8:コンフィグレーションワード記述書式について
スリープ(PICの消費電力を最小に)
PWM機能
2024-01-29
MikroCの特徴
RecentDeleted
2023-12-22
RCDライタ 350円
LEDの明るさを変える(PWM)(24FJ64)
ライントレースカー(基本機能のみ搭載)
発光ダイオード(LED)の点滅(16F1827 XC8)
2023-09-12
I2C通信LCD表示法(16F1827 XC8)
2023-07-06
PIC-PICの通信(USART)
2023-07-04
16F1827のconfig設定
#amazon(4798109223)
Total:0/Today:0
開始行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
*TVリモコン信号の受信機 [#q05d231d]
赤外線受信素子が安価(@150円)で販売されている。この素子を...
信号の受信機を試作してみたので紹介します。
リモコンのチャンネルボタンを押している間だけLEDが点灯、ボ...
07/02/17
赤外線受信素子:SPS-450-1 (SANYO社製) @150円
http://akizukidenshi.com/catalog/items2.php?q=%A3%D3%A3%D...
TVリモコンは手持ちの物を利用
マルチTVリモコン:ATV-516 (audio-technica社製)
http://www.audio-technica.co.jp/products/remocon/atv-516....
信号フォーマットは「NECフォーマット」を使用
【参考情報】
NECフォーマット
http://www.necel.com/ja/faq/mi_com/__com_remo.html#0101
受信ロジック
http://nis-ei.eng.hokudai.ac.jp/~aoki/laboratory03.html
の「7.実験6:リモコンによるフルカラーLEDの制御」の項
|&attachref(P1010299.JPG,zoom,150x150,button){新しい写真...
/**
* TVリモコン信号(赤外線)受信器
* (ボタンと押している間だけLED点灯、ボタンをはなすとLED...
*
* PIC16F628A 内蔵4MHz
* RB0: 赤外線受信器 SPS-450-1(SANYO社製)
* LED: RB2, RB3, RB4, RB5
* 電源:乾電池3本(4.5V)
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* MikroC 6.2.1
*/
unsigned short int flag = 0;
unsigned short int custom_a = 0;
unsigned short int custom_b = 0;
unsigned short int data_a = 0;
unsigned short int data_b = 0;
unsigned short int old_F2 = 0;
unsigned short int old_F3 = 0;
unsigned short int old_F4 = 0;
unsigned short int old_F5 = 0;
void interrupt() { //割込み関数
unsigned short int i, b;
if(INTCON.INTF) { //割込み種がRB0/INT割込みの場合
INTCON.INTE = 0; //RB0/INT割込みの禁止
//リーダ部の確認
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
if(TMR0 < 120) { // < 141 (=9.0ms * 4MHz/4 /64)
flag = 1;
return;
}
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 1);
if(TMR0 < 27) { // < 35 (=2.250ms * 4MHz/4 /64)
flag = 1;
return;
}else if(TMR0 < 60) { // < 71 (=4.5ms * 4MHz/4 /...
//リピートリーダを受信した時
PORTB.F2 = old_F2;
PORTB.F3 = old_F3;
PORTB.F4 = old_F4;
PORTB.F5 = old_F5;
Delay_ms(96);
flag = 1;
return;
}
//custom codeの取得
custom_a = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
custom_a |= (b << i);
}
custom_b = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
custom_b |= (b << i);
}
//data codeの取得
data_a = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
data_a |= (b << i);
}
data_b = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
data_b |= (b << i);
}
//while(PORTB.F0 == 0); //ストップビット受信
if (data_a == ~data_b) { //data誤りのチェックO...
switch (data_a) {
case 0x11: //2チャンネルボタン
PORTB.F2 = 1;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
case 0x13: //4チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 1;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
case 0x15: //6チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 1;
PORTB.F5 = 0;
break;
case 0x17: //8チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 1;
break;
default:
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
}
old_F2 = PORTB.F2;
old_F3 = PORTB.F3;
old_F4 = PORTB.F4;
old_F5 = PORTB.F5;
}
}
Delay_ms(40);
flag = 1;
}
void main() {
//使用変数の定義
unsigned short int i;
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000001; //RB0を1:入力、他は0:出力に設定
//PIC稼働確認(LED点滅)
for (i=0; i < 5; i++) {
PORTB = 0b11111110;
Delay_ms(50);
PORTB = 0b00000000;;
Delay_ms(50);
}
//RB0/INT立下りエッジ割込み
//timer0プリスケーラ64回に設定
OPTION_REG = 0b10000101;
INTCON.INTE = 1; //RB0/INT割込みの許可
INTCON.GIE = 1; //全体割込み許可
do {
if(flag == 1) {
flag = 0;
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
INTCON.INTE = 1; //RB0/INT割込みの許可
}
}while(1);
}
~
~
★この情報は役に立ちましたか?
#vote(はい[28],普通[6],いいえ[9])
- http://www.coachcanadaoutlet.ca http://www.prada-outlet...
- 2015-10-6 xiaozhengm http://www.louisvuitton-lvoutlet....
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.nike-shoes.in.net/ http://www.bostoncelticsj...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- http://www.outletsmichaelkors.us.com http://www.christi...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- http://www.mappery.com/user.php?name=midomidi2013 http:...
- [[اذاعة ال...
- https://wordpress.org/support/users/banditcaur/ https:/...
- https://www.comprarextintoresbaratos.es/ https://www.co...
- https://cs.byu.edu/job-posting/finding-out-best-replica...
- https://www.yeezyshoes.us.com/ Yeezy Shoes https://www....
- https://blog.cpfinejewelry.com/ https://etsyjewelryshop...
#comment_nospam
終了行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
*TVリモコン信号の受信機 [#q05d231d]
赤外線受信素子が安価(@150円)で販売されている。この素子を...
信号の受信機を試作してみたので紹介します。
リモコンのチャンネルボタンを押している間だけLEDが点灯、ボ...
07/02/17
赤外線受信素子:SPS-450-1 (SANYO社製) @150円
http://akizukidenshi.com/catalog/items2.php?q=%A3%D3%A3%D...
TVリモコンは手持ちの物を利用
マルチTVリモコン:ATV-516 (audio-technica社製)
http://www.audio-technica.co.jp/products/remocon/atv-516....
信号フォーマットは「NECフォーマット」を使用
【参考情報】
NECフォーマット
http://www.necel.com/ja/faq/mi_com/__com_remo.html#0101
受信ロジック
http://nis-ei.eng.hokudai.ac.jp/~aoki/laboratory03.html
の「7.実験6:リモコンによるフルカラーLEDの制御」の項
|&attachref(P1010299.JPG,zoom,150x150,button){新しい写真...
/**
* TVリモコン信号(赤外線)受信器
* (ボタンと押している間だけLED点灯、ボタンをはなすとLED...
*
* PIC16F628A 内蔵4MHz
* RB0: 赤外線受信器 SPS-450-1(SANYO社製)
* LED: RB2, RB3, RB4, RB5
* 電源:乾電池3本(4.5V)
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* MikroC 6.2.1
*/
unsigned short int flag = 0;
unsigned short int custom_a = 0;
unsigned short int custom_b = 0;
unsigned short int data_a = 0;
unsigned short int data_b = 0;
unsigned short int old_F2 = 0;
unsigned short int old_F3 = 0;
unsigned short int old_F4 = 0;
unsigned short int old_F5 = 0;
void interrupt() { //割込み関数
unsigned short int i, b;
if(INTCON.INTF) { //割込み種がRB0/INT割込みの場合
INTCON.INTE = 0; //RB0/INT割込みの禁止
//リーダ部の確認
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
if(TMR0 < 120) { // < 141 (=9.0ms * 4MHz/4 /64)
flag = 1;
return;
}
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 1);
if(TMR0 < 27) { // < 35 (=2.250ms * 4MHz/4 /64)
flag = 1;
return;
}else if(TMR0 < 60) { // < 71 (=4.5ms * 4MHz/4 /...
//リピートリーダを受信した時
PORTB.F2 = old_F2;
PORTB.F3 = old_F3;
PORTB.F4 = old_F4;
PORTB.F5 = old_F5;
Delay_ms(96);
flag = 1;
return;
}
//custom codeの取得
custom_a = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
custom_a |= (b << i);
}
custom_b = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
custom_b |= (b << i);
}
//data codeの取得
data_a = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
data_a |= (b << i);
}
data_b = 0;
for (i = 0; i < 8; i++) {
TMR0 = 0; //timer0リセット
while(PORTB.F0 == 0);
while(PORTB.F0 == 1);
if(TMR0 < 27) // < 18 (=1.125ms * 4MHz/4 /64)
b = 0;
else // < 35 (=2.250ms * 4MHz/4 /64)
b = 1;
data_b |= (b << i);
}
//while(PORTB.F0 == 0); //ストップビット受信
if (data_a == ~data_b) { //data誤りのチェックO...
switch (data_a) {
case 0x11: //2チャンネルボタン
PORTB.F2 = 1;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
case 0x13: //4チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 1;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
case 0x15: //6チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 1;
PORTB.F5 = 0;
break;
case 0x17: //8チャンネルボタン
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 1;
break;
default:
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
break;
}
old_F2 = PORTB.F2;
old_F3 = PORTB.F3;
old_F4 = PORTB.F4;
old_F5 = PORTB.F5;
}
}
Delay_ms(40);
flag = 1;
}
void main() {
//使用変数の定義
unsigned short int i;
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000001; //RB0を1:入力、他は0:出力に設定
//PIC稼働確認(LED点滅)
for (i=0; i < 5; i++) {
PORTB = 0b11111110;
Delay_ms(50);
PORTB = 0b00000000;;
Delay_ms(50);
}
//RB0/INT立下りエッジ割込み
//timer0プリスケーラ64回に設定
OPTION_REG = 0b10000101;
INTCON.INTE = 1; //RB0/INT割込みの許可
INTCON.GIE = 1; //全体割込み許可
do {
if(flag == 1) {
flag = 0;
PORTB.F2 = 0;
PORTB.F3 = 0;
PORTB.F4 = 0;
PORTB.F5 = 0;
INTCON.INTE = 1; //RB0/INT割込みの許可
}
}while(1);
}
~
~
★この情報は役に立ちましたか?
#vote(はい[28],普通[6],いいえ[9])
- http://www.coachcanadaoutlet.ca http://www.prada-outlet...
- 2015-10-6 xiaozhengm http://www.louisvuitton-lvoutlet....
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.nike-shoes.in.net/ http://www.bostoncelticsj...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- http://www.outletsmichaelkors.us.com http://www.christi...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- http://www.mappery.com/user.php?name=midomidi2013 http:...
- [[اذاعة ال...
- https://wordpress.org/support/users/banditcaur/ https:/...
- https://www.comprarextintoresbaratos.es/ https://www.co...
- https://cs.byu.edu/job-posting/finding-out-best-replica...
- https://www.yeezyshoes.us.com/ Yeezy Shoes https://www....
- https://blog.cpfinejewelry.com/ https://etsyjewelryshop...
#comment_nospam
ページ名: