ラベル Arduino の投稿を表示しています。 すべての投稿を表示
ラベル Arduino の投稿を表示しています。 すべての投稿を表示

2019/12/08

セレクタ act.4

Arduinoのプログラムをスケッチ
16個を順番に点灯させてみました。


-----------------------------------------------------------------
//daikunomokichi 2019-12-08
const int d_pin0 = 0;           // LED connected to digital pin 0
const int d_pin1 = 1;           // LED connected to digital pin 1
const int d_pin2 = 2;           // LED connected to digital pin 2
const int d_pin3 = 3;           // LED connected to digital pin 3
const int d_pin4 = 4;           // LED connected to digital pin 4
const int d_pin5 = 5;           // LED connected to digital pin 5
const int d_pin6 = 6;           // LED connected to digital pin 6
const int d_pin7 = 7;           // LED connected to digital pin 7
const int d_pin8 = 8;           // LED connected to digital pin 8
const int d_pin9 = 9;           // LED connected to digital pin 9
const int d_pin10 = 10;           // LED connected to digital pin 10
const int d_pin11 = 11;           // LED connected to digital pin 11
const int d_pin12 = 12;           // LED connected to digital pin 12
const int d_pin13 = 13;           // LED connected to digital pin 13
const int d_pin14 = 14;           // LED connected to digital pin 14 A0
const int d_pin15 = 15;           // LED connected to digital pin 15 A1
const int d_pin16 = 16;           // LED connected to digital pin 16 A2

void setup() {
  pinMode( d_pin0, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin1, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin2, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin3, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin4, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin5, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin6, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin7, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin8, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin9, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin10, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin11, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin12, OUTPUT );     // sets the digital pin as output
  pinMode( d_pin14, OUTPUT );     // sets the digital pin as output A0
  pinMode( d_pin15, OUTPUT );     // sets the digital pin as output A1
  pinMode( d_pin16, OUTPUT );     // sets the digital pin as output A2
  pinMode( d_pin13, INPUT );      // sets the digital pin as input
  digitalWrite(d_pin13, HIGH);

  delay( 2000 );
  digitalWrite( d_pin0, HIGH );  // sets the LED off
  digitalWrite( d_pin1, HIGH );  // sets the LED off
  digitalWrite( d_pin2, HIGH );  // sets the LED off
  digitalWrite( d_pin3, HIGH );  // sets the LED off
  digitalWrite( d_pin4, HIGH );  // sets the LED off
  digitalWrite( d_pin5, HIGH );  // sets the LED off
  digitalWrite( d_pin6, HIGH );  // sets the LED off
  digitalWrite( d_pin7, HIGH );  // sets the LED off
  digitalWrite( d_pin8, HIGH );  // sets the LED off
  digitalWrite( d_pin9, HIGH );  // sets the LED off
  digitalWrite( d_pin10, HIGH );  // sets the LED off
  digitalWrite( d_pin11, HIGH );  // sets the LED off
  digitalWrite( d_pin12, HIGH );  // sets the LED off
  digitalWrite( d_pin14, HIGH );  // sets the LED off
  digitalWrite( d_pin15, HIGH );  // sets the LED off
  digitalWrite( d_pin16, HIGH );  // sets the LED off
  delay( 1000 );
}

void loop() {
  digitalWrite( d_pin0, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin0, HIGH );  // sets the LED off
  digitalWrite( d_pin1, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin1, HIGH );  // sets the LED off
  digitalWrite( d_pin2, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin2, HIGH );  // sets the LED off
  digitalWrite( d_pin3, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin3, HIGH );  // sets the LED off
  digitalWrite( d_pin4, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin4, HIGH );  // sets the LED off
  digitalWrite( d_pin5, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin5, HIGH );  // sets the LED off
  digitalWrite( d_pin6, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin6, HIGH );  // sets the LED off
  digitalWrite( d_pin7, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin7, HIGH );  // sets the LED off
  digitalWrite( d_pin8, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin8, HIGH );  // sets the LED off
  digitalWrite( d_pin9, LOW );   // sets the LED on
  delay( 1000 );                 // waits for a second
  digitalWrite( d_pin9, HIGH );  // sets the LED off
  digitalWrite( d_pin10, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin10, HIGH );  // sets the LED off
  digitalWrite( d_pin11, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin11, HIGH );  // sets the LED off
  digitalWrite( d_pin12, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin12, HIGH );  // sets the LED off
  digitalWrite( d_pin14, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin14, HIGH );  // sets the LED off
  digitalWrite( d_pin15, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin15, HIGH );  // sets the LED off
  digitalWrite( d_pin16, LOW );   // sets the LED on
  delay( 1000 );                  // waits for a second
  digitalWrite( d_pin16, HIGH );  // sets the LED off
}

-----------------------------------------------------------------

2019/12/03

セレクタ act.3

アナログ入力での動作確認をしました。

Arduinoのプログラムをスケッチと言う。
表示するためのスケッチ
---------------------------------------------------------
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
int i = 0;
int j = 0;
int k = 0;
int l = 0;

void setup(){
  // LCDにオープニングメッセージを表示する
  lcd.begin(2,16);
  lcd.clear();              // LCD表示をクリア
  lcd.print("hello world"); // 1行目にメッセージを表示
  lcd.setCursor(1,1);       // カーソルを2行目1カラム目にセット
  lcd.print("Arduino uno"); // 2行目にメッセージを表示
  delay(500);

}
void loop(){

  i = analogRead(1);            // アナログピンを読み取る
  j = analogRead(2);            // アナログピンを読み取る
  k = analogRead(3);            // アナログピンを読み取る
  l = analogRead(4);            // アナログピンを読み取る
  lcd.clear();                  // LCD表示をクリア
  lcd.print("daikunomokichi");  // 1行目にメッセージを表示
  lcd.setCursor(0,1);           // カーソルを2行目1カラム目にセット
  lcd.print(i);                 // 2行目にメッセージを表示
  lcd.print("&");
  lcd.print(j);                 // 2行目にメッセージを表示
  lcd.print("&");
  lcd.print(k);                 // 2行目にメッセージを表示
  lcd.print("&");
  lcd.print(l);                 // 2行目にメッセージを表示
  delay(100);   
}
---------------------------------------------------------

手持ちの抵抗器を利用して
Vcc+
10kΩ
10kΩ
20kΩ
GND
で分割しました。

結果
ポジション1 ==> 0
ポジション2 ==> 511 前後
ポジション3 ==> 766 前後
ポジション4 ==> 1023

予想どおりです。


若干の修正 12/06

2019/11/30

セレクタ act.2


セレクタ 構想案

バランスアンプやBTLアンプも対応化の仕様にする。
だたし、バランスとアンバランスは混在できないので
バランスアンプ使用時はバランスLINE入力、
アンバランスアンプ使用j時はアンバランスLINE入力とする。
スピーカーの結線は、混在可。

LINE入力 4系統
アンプ 4台
スピーカー 4セット

4✕4✕4=64通りの組み合わせになるかと。

リレーは2回路CのタイプをHot&Coldで1個。
2個使用で左右各ch。コレを1枚の基盤で作成。
1系統4組で、4系統で16組。
リレーは、32個になるはず。

動作の時系列は、

1)それぞれのポジションSWをセット
2)[SET]セットポタンを押す
3)Ra1,Ra2がOFF
4)その後、Ra3,Ra4がOFF
5)結果、Ra1からRa4の32個すべてのリレーがOFF
6)セレクトされたそれぞれの系統のRa3,Ra4がON
7)その後、Ra1,Ra2がON

入力信号を「無」すなわち切断してからアンプ出力とSPを切り替える事にします。

追記 12/01

2014/07/21

Arduino用ユニバーサル基板

Arduinoにシールドを載せる時お世話になるのが、
Arduino用ユニバーサル基板です。
http://akizukidenshi.com/catalog/g/gP-06877/

UncomPatino基板は、2.54の標準ユニバーサル基盤を載せることができる。
http://akizukidenshi.com/catalog/g/gP-07487/

レイアウトを考えるための二つの基盤図を作りました。

無許可で作りましたので、運用はに注意が必要です。
あしからず・・・。

http://seyo.info/ework/kiban_aki_u2.pdf

http://seyo.info/ework/kiban_uncom_u2.pdf



2014/07/20

SBDBT5V Act.3

片付けをしていたら
以前に購入したのドングルを見つけた。
↓ボデイの刻印
-----
PCI
005WW
DA0287
BT-Micro3E1X
-----
から検索する。

http://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jg01_01&PC=005&TC=N&PK=1&FN=281tuv&SN=%94%46%8F%D8&LN=17&R1=*****&R2=*****

http://www.planex.co.jp/product/bluetooth/bt-micro3e1x/

が見つかる。

ランニングエレクトロニクス
SBDBT5V
PIC24FJ64GB004 5V入出力対応マイコン基板
http://www.runele.com/ca1/8/p-r-s/

に差して試す。

駆動電圧 3.3Vと5.0Vとも、サクと動いた。

動作環境は、
PC側には、ELECOM LBT-UAN05C2
http://www2.elecom.co.jp/network/bluetooth/lbt-uan05c2/
Bluetooth®プロトコルスタック「BlueSoleil」をインストール

PA6H
ランニングエレクトロニクス
GlobalTop社製GPSモジュールFGPMMOPA6H用Breakout基板
http://runningele.cart.fc2.com/ca2/20/p-r-s/
の搭載した特製シールド。

の間、無線によるシリアル通信。

GPS redio clock は、USB OR Bluetooth を切り替えで使用できるよう改造した。

2014/07/08

RTC-4543 & Arduino Act.7

3枚目(右)のUncompatinoの上に載せるシールドです。
RTCとI2CのLCDと操作SWを載せます。

レイアウトを考え、配線を考え、
そして形にしていく。
行き当たりばったり方式です。


2014/07/07

GPS redio clock Act.6

スケッチを改良しました。
/*
GPS radio clock 2.02
 2014/07/07 daikunomokichi
*/
#include <Wire.h>
#include <wI2cLcdACM1602.h>
wI2cLcdACM1602 lcd;
int dHour = 0;                          //JST「時」
int dHour0 = 0;
int dHour1 = 0;
int dHour2 = 0;
int dMin = 0;                           //内部「分」
int dMin0 = 0;
int dMin1 = 0;
int dSec = 0;                           //内部「秒」
int dSec0 = 0;
int dSec1 = 0;
int dSec2 = 0;
int dSec3 = 0;
int dIntpin = 2;                        //割込D2
char buf[256];
int count = 0;
char* gpsTime;                          //個別データ用の文字列用ポインタ
char* gpsCnt;                           //個別データ用の文字列用ポインタ
char dRun = 0;                          //補足完了
void setup()
{
    Serial.begin(9600);
    Serial.println("$PMTK220,500*2B");    //データ更新レート 2Hz
    Wire.begin();                         //I2C初期化
    lcd.begin();                          //LCD初期化
    lcd.clear();                          //全クリア
    lcd.noBlink();                        //カーソル点滅なし
    lcd.noCursor();                       //カーソル表示なし
    lcd.setCursor(0, 0);
    lcd.print("Preliminary GPS");         //最初のメッセージ表示
    lcd.setCursor(0, 1);
    lcd.print("2.02 by mokichi");         //最初のメッセージ表示
    pinMode(dIntpin, INPUT);
    attachInterrupt(0, yCnt, RISING);
    //attachInterrupt(0,yCnt, FALLING);   //HIGHからLOW
    delay(1000);
    lcd.clear();
}
void loop()
{
    count = 0;
    do {
        if (Serial.available()) {
            buf[count] = Serial.read();
            count++;
        }
        if (count > 250) {
            break;
        }
    } while (buf[count - 1] != 0x0A);
    buf[count] = '\0';
    if (0 == strncmp("$GPGGA", buf, 6)) {
        strtok(buf, ",");
        gpsTime = strtok(NULL, ",");        //m1>UTC時刻の抽出
        strtok(NULL, ",");                  //m2
        strtok(NULL, ",");                  //c1
        strtok(NULL, ",");                  //m3
        strtok(NULL, ",");                  //c2
        strtok(NULL, ",");                  //d1
        gpsCnt = strtok(NULL, ",");         //d2>測位に使用した人工衛星の個数
        lcd.setCursor(14, 1);
        lcd.print(gpsCnt);
        lcd.print("  ");
        dMin0 = gpsTime[2];
        dMin1 = gpsTime[3];
        dMin = ((dMin0 - 48) * 10) + dMin1 - 48;
        dSec0 = gpsTime[4];
        dSec1 = gpsTime[5];
        dSec2 = ((dSec0 - 48) * 10) + dSec1 - 48;
        dHour0 = gpsTime[0];
        dHour1 = gpsTime[1];
        dHour2 = ((dHour0 - 48) * 10) + dHour1 - 39;
        switch (dHour2) {
            case 24:
            case 25:
            case 26:
            case 27:
            case 28:
            case 29:
            case 30:
            case 31:
            case 32:
                dHour = dHour2 - 24;
                break;
            default:
                dHour = dHour2;
                break;
        }
    }
    dSec3 = dSec - dSec2;
    switch (dSec3) {
        case -1:
            dRun = -1;
            break;
        case 0:
            dRun = -1;
            break;
        case 1:
            dRun = -1;
            break;
        default:
            dRun = 0;
            break;
    }
    if (dRun != 0) {
        lcd.setCursor(0, 0);
        lcd.print("GPS radio clock");
    } else {
        lcd.setCursor(0, 0);
        lcd.print("Preliminary ");
        lcd.print(dSec3) ;
        lcd.print("    ");
    }
    lcd.setCursor(6, 1);
    lcd.print(dSec / 10);
    lcd.print(dSec % 10);

    lcd.setCursor(0, 1);
    lcd.print(dHour / 10);
    lcd.print(dHour % 10);
    lcd.print(":");
    lcd.print(dMin / 10);
    lcd.print(dMin % 10);
    lcd.print(":");
    lcd.setCursor(8, 1);
    lcd.print("(JST)");
    lcd.print(char(222));
}
void yCnt()
{
    dSec++;
    if (dSec > 59) {
        dSec = 0;
    }
    if (59 == dSec2) {
        dRun = -1;
        dSec = 0;
    }
}

2014/07/06

Uncompatino Act.9

3枚目(右)のUncompatino を作りました。

RTC-4543 & Arduino を完成させるためです。

 3.3V駆動 セラミック8MHz外付けにして
Arduino Pro or Pro Mini (3.3V, 8 MHz) w/ ATmega328
 コンパチにしました。

左は、5.0V駆動 水晶16MHz外付け
中は、3.3V駆動 水晶8MHz外付け

です。

2014/07/04

倒立振子Act.4

バッテリーを変更し、重心が少し高くなりました。
倒立に安定感がありません。

2014/06/30

倒立振子Act.3

TVリモコンでリモートコントロール。

半日で作る倒立振子
ステップ 9: シリアル・モニタを使った振子の操縦
http://www.instructables.com/id/%E5%8D%8A%E6%97%A5%E3%81%A7%E4%BD%9C%E3%82%8B%E5%80%92%E7%AB%8B%E6%8C%AF%E5%AD%90/9/?lang=ja
を改造し、TVリモコンで操縦に挑戦してみました。
カッチリではなく、ゆる~く変化させることが出来ました。


2014/06/29

ジャイロセンサAct.3

ジャイロと聞くとコマを想像します。

同様の事が、圧電振動素子で実現できるのですね。
圧電振動ジャイロの解説
↓セイコーエプソンのウエブサイト
http://www5.epsondevice.com/ja/sensing_device/gyroportal/about.html

加速度+ジャイロのMPU-6050の解説は
↓InvenSenseのウエブサイト
http://www.invensense.com/jp/mems/technology.html

さらに小さい。驚きだ。

追伸
村田製作所の
セイサク君と、せいこちゃんの
おなかの「円盤」は不思議だ。
http://www.murata.co.jp/elekids/mmc/

「慣性ロータ」というものらしい。
一輪車ロボット おっとっと
https://www.youtube.com/watch?v=Ky7Dk-gmpG4
とにかく感動ものだ。

2014/06/28

倒立振子Act.2

「半日で作る倒立振子」というサイトを発見。
コピーをさせていただきました。
↓ArduinoDeXXXさんのサイト
http://www.instructables.com/id/%E5%8D%8A%E6%97%A5%E3%81%A7%E4%BD%9C%E3%82%8B%E5%80%92%E7%AB%8B%E6%8C%AF%E5%AD%90/?lang=ja

秋月電子通商の
圧電振動ジャイロ [ENC-03RC/D] を使用しています。
http://akizukidenshi.com/catalog/g/gK-04912/


コンデンサをショートさせたら
VCC4.88Vの時、
G1(ENC-03RC-R,C6) 側の電圧が4.33Vになっていたので、
ユニバーサル基盤を1枚追加し、モジュールを90度ずらしました。
G2(ENC-03RD-R,C7) 側を使用しています。約1.5V。

立った。感動。
(写真上段は、撮影をするため、動かしていません。)
(少しずつ後退するので上手くフレーム収め切れない。)


無理やり撮影。ブレブレです。

2014/06/27

倒立振子Act.1

「半日で作る倒立振子」というサイトを発見。
コピーをさせていただきました。
↓ArduinoDeXXXさんのサイト
http://www.instructables.com/id/%E5%8D%8A%E6%97%A5%E3%81%A7%E4%BD%9C%E3%82%8B%E5%80%92%E7%AB%8B%E6%8C%AF%E5%AD%90/?lang=ja

昔、プラモデルでお世話になったタミヤです。懐かしい。

2014/06/24

ジャイロセンサ Act.2

くらんべりーさんのウエブログ
「特に縛りなく」
を http://cranberrytree.blogspot.jp/
よく読ませていただいてます。

Arduino 関連の情報が満載です。
「加速度+ジャイロのGY-521(MPU-6050)を使ってみた -2- カルマンフィルター」
http://cranberrytree.blogspot.jp/2014/06/gy-521mpu-6050-2.html

のスケッチを改造し、
PC
---------------------
  Serial.print("kalAngleX = ");
  Serial.print(kalAngleX, 2);
  Serial.print("(");
  Serial.print(roll, 2);
  Serial.print("\t");
  Serial.print("kalAngleY = ");
  Serial.print(kalAngleY, 2);
  Serial.print("(");
  Serial.print(pitch, 2);
  Serial.print("\t");
  Serial.print("gyroZangle = ");
  Serial.print(gyroZangle, 2);
  Serial.println("");
---------------------
LCD
---------------------
  nX = int(round(roll * 100));
  nY = int(round(pitch * 100));
  sprintf(StrBuf_nX, "%5d", nX);
  sprintf(StrBuf_nY, "%5d", nY);

  kX = int(round(kalAngleX * 100));
  kY = int(round(kalAngleY * 100));
  sprintf(StrBuf_kX, "%5d", kX);
  sprintf(StrBuf_kY, "%5d", kY);
---------------------
表示させてみました。
時間が経過してもX方向Y方向とも
数値に目立った変はありませんでした。


急遽、3点支持台を製作しました。

2014/06/22

ジャイロセンサ

くらんべりーさんのウエブログ
「特に縛りなく」
を http://cranberrytree.blogspot.jp/
よく読ませていただいてます。

Arduino 関連の情報が満載です。

「加速度+ジャイロのGY-521(MPU-6050)を使ってみた」

http://cranberrytree.blogspot.jp/2014/06/gy-521mpu-6050.html
http://cranberrytree.blogspot.jp/2014/06/gy-521mpu-6050-3.html

を再現してみました。

くらんべりーさん、有意義な情報をありがとうございます。

ですが、なかなかうまく動きません。
小生のスキルが低すぎのが原因です。

6/22 追記
下記の写真は、
モジュールINT⇔Arduino DGITAL 2PIN の接続を忘れています。
↓「ようこそアンドロ シティのWikiサイトへ!」ジャイロモジュールの解説
http://wiki.androciti.com/index.php?MPU-6050%BB%B0%BC%B4%B2%C3%C2%AE%C5%D9%BB%B0%BC%B4%A5%B8%A5%E3%A5%A4%A5%ED%A5%BB%A5%F3%A5%B5%A1%BC%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB

2014/06/20

7セグメントLED表示器 Act.3

GPS redio clock のスケッチを改良し、
 7セグ LED との同時表示をさせてみました。

2014/06/19

GPS redio clock Act.5

動作確認をしたら、GPSへのコマンド送信が
AE-ATmegaからは送れるのですが、PCからは送れませんでした。
急遽、切り替えのショートピンを設け対応しました。
モニタの方は、同時に出来ます。

しばらく様子をみて、ケースを考える事にします。
I2Cで、LED表示装置の追加できるか試したいです。



6/20 追記

① USB 5.0Vからも電源供給できるようダイオード1N4148を1個追加しました。
5.0V→4.2V→3.3Vになっています。
② GPSへのコマンド送信がうまく送れなかったため切り替えのショートピンを設けましたが、
ダイオード1N4148を2個追加し、切り替え無しで送れるようになりました。

2014/06/18

GPS redio clock Act.4

AE-ATmega 3.3V( Pro 3.3V 8MHz のコンパチ)
の上に「 GPS redio clock 」特製シールドを作り始めました。

ソルダーレスブレッドボードで組み上げ動作を確認しています。
http://daikunomokichi.blogspot.jp/2014/06/blog-post_8.html

最小構成でGPSモジュールの動作確認をしました。

PA6H GPSモジュール

AE-FT231X USBモジュール
に接続(AE-ATmegaには未接続)し、
PCで動作確認をしました。

2014/06/17

きむ茶工房ガレージハウスさんのサイト

Shigehiro Kimuraさん
 きむ茶工房ガレージハウス
 「赤外線通信の実験2 (赤外線リモコンを送信器にして何か動かす)」
http://www.geocities.jp/zattouka/GarageHouse/micon/InfraredCOM/InfraredCOM2.htm

で解説があります。

TVリモコンでLEDを光らせて見ました。
夜間の暗い状況で約20メートルの遠隔で
操作可能でした。

秋月電子通商で購入した赤外線リモコン受信モジュールは、恐るべし?。
PL-IRM2121-A538
http://akizukidenshi.com/catalog/g/gI-01570/

追伸
 きむ茶工房ガレージハウス
「ADCの値をオシロの様に波形表示させたい」
http://www.geocities.jp/zattouka/GarageHouse/micon/ADCDSP/ADCDSP.htm
で解説がある、圧電振動ジャイロモジュールに興味を惹かれています。
ENC-03RC/D
http://akizukidenshi.com/catalog/g/gK-04912/