Vol.858 9.Dec.2022

windows11ミニPC (IR-5)_4x3キーリモコン送信機 表示文字サイズの変更

M 「windows11ミニPC」の使用記 〜NucBox5

by fjk

 最近、コンパクトなパソコンとして「ミニPC」が注目されている。ミニPCは小さく、安価なディスクトップパソコンで、拡張性はほとんど無いが、windows11が動作する(linuxを動作させることも可)。
 我が家にはwindows11が動作するパソコンがなく、windows8.1のサポートが2023/1/10に、windows10が2026/10/14に終了するなど、そろそろwindoow11への移行も考える時期に来ているように思う。
 そこで、自作も良いが、この際、ミニPCを使ってみることにした。ネットで調べると、1万〜数万円(多くは3万円前後)でたくさんのミニPCが見つかり、最新のIntelCeleronN5105を搭載し、72cm角と小さく、4k/60Hz対応、消費電力が10WとあるGMKのNucBox5(SSD:512GB、税込32,980円−クーポン)を選んだ。もし、拡張性を重視するなら、Beelink U59 pro(税込み39,800)がお薦めかな。NucBox5の詳細は「がじぇっとりっぷ」さんのページ)が詳しい。
 2機種の主な仕様を比較すると>

   NucBox5 BeelinkU59pro 
CPU: Intel Celeron N5105 Intel Celeron N5105
NucBox5
  

BeelinkU59pro
GPU: Intel UHD Graphics Intel UHD Graphics
メモリ: 8GB DDR4(増不可) 8GB or 16GB DDR4
HDD: M2-128/256/512GB M.2-500GB、2.5-HDD/SSD増設可
WiFi: 11a/b/g/n/ac/ax 11 b/g/n/ac
有線: 1GbE有線LAN 1GbE有線LAN x 2
BT: Bluetooth 5.2 Bluetooth 4.0
USB: USB 3.2 x 3 USB 3.0 x 4
HDMI: 4k/60Hz x 2 4k/60Hz x 2、USB-C(4k/60Hz)
サイズ: 72 x 72 x 44.5mm 124 x 113 x 42mm
OS: Windows 11 Home Windows 11 Pro
価格: 32,980円 39,800円
★本体の他に準備した物:
1.モニタTV+HDMIケーブル(HDMI-V2.0以上がベター)
2.USBキーボード・USBマウス(無線も可だが、有線で接続)
3.ネット接続(無線WiFiでもOKだが、有線LANで接続)
4.Microsoftアカウント(Localアカウント登録も可能だが制約有)
5.32Gバイト以上のUSBメモリ(「回復ディスク」作成用)
 
※HDMIケーブルには以下の種類がある
ハイスピード  ver1.4 3D、ARC、4k/30Hz
プレミアムHiSp  ver2.0 HDR、ARC、4k/60Hz
ウルトラHiSp  ver2.1 DHDR、VPR、E-ARC、4k/120Hz

※NucBox5の問題点:
付属の12V3A電源がUSB-Cで標準のUSBと間違いやすい!

★NucBox5の起動
@ ケーブル類を接続
A Deleteキーを押しながら電源ONでUEFIが起動(時刻設定)
B ExitでUEFIを終了し、Windows11の初期設定画面に
C「日本語」を選んで、マイクロソフトアカウントを登録
D「回復ドライブ」の作成
H 復元ポイントが有効か確認
H PINの解除?(電源投入時にPIN入力を要求させない)
 
windows11をセットアップするには以下のページを参考にした。
@ win11初期セットアップ
A 日本語キーボードの設定
B 回復ドライブ作成
C やっておくべき初期設定
D windows11には「動画再生」ソフトが付いていないので、マイクロソフトストアから無料のDVDプレーヤー(ANY-DVD)を入手しインストール。
F サウンド出力はデフォルトでイヤホンに設定されているので、HDMIに出力するには、サウンドデバイスの設定が必要。

     

ケーブル類を接続

UEFI画面(時刻設定)

win11初期設定(日本語)

win11初期設定(日本語キー)

win11が無事起動

(USB)回復ドライブ作成

DVDプレーヤソフトを入手

sony-SXRJ-55A80Jに接続

USB-BDドライブも接続


R 赤外線リモコン(5) 〜4×3キーリモコン

by fjk

  前報(abc857)でIOデータのリモコンが、DSM機能を使ってPICで実現できることを確認したので、キーの数を12キーまで増やしてみた。キーには秋月電子の「4x3キーパッド作成キット用基板」(P-12316、@105)を用いた。パーツ付きのキット(K-12229、@350)もあるが、必要なプッシュキー・ダイオード・1kΩの抵抗、8ピンヘッダーは手持ちの物を利用した。
 キーは全部で12個あるが、1〜9までは各チャンネル指示用で、10は「地デジ」、11はチャンネル11、12は「BS」に設定した。リモコンの電源用LED(緑)および赤外線信号の出力確認用LED(青)も追加した。なお、ICSPに使うPA0およびPA1を使用しているが、キーが押されていなければオープンとなっているので、PICの書込に影響はない(PICkitは書き込み時以外はHiインピーダンス)。
 キーは4つのキー毎にグループ化され、XYZをLにし、各キーが押されると、対応するA〜DがLになるので、XYZを順にスキャンし、その時のA〜Dの値を確認することで、どのキーが押されたのかを知ることが出来る。なお、MCCの設定はabc857とほぼ同じで、ピンモジュールのみ変更。
 12キーを順に押してみると、設定とおりにTVに認識され、チャンネルの変更が出来た。なお、リピート機能には対応していないので、ボタンを押し続けると同じコードが送信される。


試作回路図

PINモジュール 設定

4x3キーパッド(秋月)の回路図

試作回路(キーを外した状態)

リモコン解読器でも確認

【プログラム】 (abc858-main.zip)

/*=== Ir Remote controler for IO-Data  ===*/

#include "mcc_generated_files/mcc.h"

#define	MARK()     __delay_us(562)
#define	SPACE_1()  __delay_us(1686)
#define	SPACE_0()  __delay_us(562)
#define	LEADER_1() __delay_us(8992)
#define	LEADER_0() __delay_us(4496)
#define	GYAP_0()   __delay_ms(43)

#define	DSM_1()	(MD1CON0bits.MD1BIT = 1)
#define	DSM_0()	(MD1CON0bits.MD1BIT = 0)

#define	SCN_DELAY() __delay_ms(30)
#define	KEY_DELAY() __delay_ms(500)


/*--- IO-Data RemotControl Code ---*/
#define	IO_CUSTOM  0xE880

uint16_t IO2[]  =
  { 0x7024,0x7084,0x4084,0x1084,  // TG,7,4,1
    0xA084,0x8084,0x5084,0x2084,  // 11,8,5,2
    0x0094,0x9084,0x6084,0x3084}; // BS,9,6,3


/*---  Grobal Valiables ---*/
uint8_t  sft;
uint16_t wsft;
uint16_t keyM;
uint8_t  keyP;


/*---- IOdata Leader ---*/
void IO_Leader(){
	DSM_1();                // "Leader" Start
	LEADER_1();
	DSM_0();
	LEADER_0();
}

/*---- IOdata stop ---*/
void IO_Stop(){
	DSM_1();
	MARK();                 // "Stop"
	DSM_0();
}


/*-------- Send word of IRcode ------*/
void Ir_Send2(uint16_t wd){
	wsft = 0x0001;
	for(int i=0;i<16;i++){
	    DSM_1();
	    MARK();
	    DSM_0();
	    if(wd & wsft){
	    		SPACE_1();
	    }else{
	    		SPACE_0();
		}
	    wsft <<= 1;
	}
}

/*-------- Send IOdata2 IRcode  ----*/
void IO_DATA2(uint8_t c){
    uint16_t w = IO2[c];
	uint16_t wLo=(w&0x00FF)|((~w<<8)&0xFF00);
	uint16_t wHi=((w>>8)&0x00FF)|(~w&0xFF00);
	IO_Leader();          // "Leader" Start
	Ir_Send2(IO_CUSTOM);	 // Send "Custom" 
	Ir_Send2(wLo);        // Send "Data1"
	IO_Stop();			 // stop
	GYAP_0();             // Gyap time
	IO_Leader();          // "Leader" Start
	Ir_Send2(IO_CUSTOM);	 // Send "Custom" 
	Ir_Send2(wHi);        // Send "Data2"
	IO_Stop();			 // stop
}

uint16_t keyScan(){
    uint8_t k;
    uint16_t ky;
    X_A0_SetLow();		// X scan
    SCN_DELAY();
    ky = ~PORTC & 0x0F;
    X_A0_SetHigh();
    Y_A1_SetLow();		// Y scan
    SCN_DELAY();
    k = ~PORTC & 0x0F;
    ky |= (uint16_t)k << 4;
    Y_A1_SetHigh();
    Z_A2_SetLow();     	// Z scan
    SCN_DELAY();
    k = ~PORTC & 0x0F;
    ky |= (uint16_t)k << 8;
    Z_A2_SetHigh();    
    return ky; 
}

uint8_t bitCount(uint16_t w){
    uint16_t wsft = 1;
    uint8_t i;
    for (i = 0; i < 12; i++){
        if(w & wsft)   return (i);
        wsft <<= 1;
    }
    return 0;
}

/* =====  Main application ====== */
void main(void)
{
    SYSTEM_Initialize();
    X_A0_SetHigh()
    Y_A1_SetHigh();
    Z_A2_SetHigh();
    LED_A4_SetHigh();

    while (1){
        keyM = keyScan();
        if(keyM){
            keyP = bitCount(keyM);
            IO_DATA2(keyP - 1);
            KEY_DELAY();
        }
    }
}

/**==== End of File ====*/


W Windowsのチップス 〜マウスで表示文字サイズの変更

by fjk

 小さな画面のモニタで、Windowsを4k解像度で表示すると、文字が小さくなり見づらいことがある。こんな時、多くのアプリで、「コントロー-ル(Control)キー」を押しながら「マウスホイールを回す」ことで表示解像度を簡単に変更することが出来る。


※ 本レポートの参考・利用は、あくまでも自己責任でお願いします。


windows11ミニPC (IR-5)_4x3キーリモコン送信機 表示文字サイズの変更