Arduinoに再び挑戦している。簡単な様で、難しいと思った。
ライブラリ-を使いこなせれば、簡単であると思う。
使いこなせないならば、ライブラリ-を作ってしまえと思うが、
直、むずかしいと分かる。?
Amazonで購入した、LED&KEYboard価格は安いのだが、動作させる事が出来ないと成ると
0¥のみの価値しか無い。悲しいかな、私の現実。
どう打ち破ろうか?
ライブラリ-を使いこなせれば、簡単であると思う。
使いこなせないならば、ライブラリ-を作ってしまえと思うが、
直、むずかしいと分かる。?
Amazonで購入した、LED&KEYboard価格は安いのだが、動作させる事が出来ないと成ると
0¥のみの価値しか無い。悲しいかな、私の現実。
どう打ち破ろうか?
のでC言語で動作させたいとprogramを組み始めた。
shiftregister typeなので、soft I2CのI2C-write routineが
使えそうなので、routineを改造している。
7segLEDを中心に考えている。それが出来たら、SW入力
7個のLEDに挑戦する。
おおまか、出来た。考え方は、合っていると思う。segdata
1234678を用意して置き、serialのbitdata生成を8桁分
生成する。
http://blog.3d-logic.com/2015/01/10/using-a-tm1638-based-board-with-arduino/
英文ですが役に立つのではないでしょうか。
なお、文中の library の中にはexampleもあるようです。
動作した。
標準ライブラリとしてCOMが有るので
Serial.begin(9600);
Serial.read();
Serial.print("Fan ON\n");
key 1 onでFan ON
key 0 onでFan OFF
出来た。
もう少しArduinoをTESTしてみようと思う様に成った。
C:\Program Files(x86) \Arduino \Libraries \
Libraries
□ WiFi
□ TFT
□ Temboo
□ Stepper
□ Spacebrew Yun
□ Servo
□ Serro
□ SD
□ RobotIRremote
□ Robot_Motor
□ Robot_Control
□ Mouse
□ LiquidCrystal -example HelloWord (ino) *arduino
Blink (ino)
LiquidCrystall (C++)
src LiquidCrystall (h) keywords (txt)
□ Keyboard
□ GSM
□ Firmate src
□ Ethernet
□ Esplora
□ Bridge
□
□
0から65535をLED表示するProgram
unsigned char seg[10]={0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x67};
unsigned char D5,D4,D3,D2,D1;
unsigned int n,nr;//65,536
//----------------------------
void loop()
{
for(n=0; n<65536; n++)
{
D5=n/10000; //1 12345/10000=1
nr=n-D5*10000; //12345-1*10000=2345
D4=nr/1000; //2345/1000=2
nr=nr-D4*1000; //2345-2*1000=345
D3=nr/100; //2345/100=2
nr=nr-D3*100; //345-2*100=45
D2=nr/10; //45/10=4
D1=nr%10; //45%10=5
//------------------do not apend
//D4=2;
D5=seg[D5];
D4=seg[D4];
D3=seg[D3];
D2=seg[D2];
D1=seg[D1];
//-------------------------------------
digitalWrite(strobe, LOW);
shiftOut(data, clock, LSBFIRST, 0xc6); // 5d digit
shiftOut(data, clock, LSBFIRST, D5); // 3
digitalWrite(strobe, HIGH);
//---------------------------------------
unsigned char D5,D4,D3,D2,D1;
unsigned int n,nr;//65,536
//----------------------------
void loop()
{
for(n=0; n<65536; n++)
{
D5=n/10000; //1 12345/10000=1
nr=n-D5*10000; //12345-1*10000=2345
D4=nr/1000; //2345/1000=2
nr=nr-D4*1000; //2345-2*1000=345
D3=nr/100; //2345/100=2
nr=nr-D3*100; //345-2*100=45
D2=nr/10; //45/10=4
D1=nr%10; //45%10=5
//------------------do not apend
//D4=2;
D5=seg[D5];
D4=seg[D4];
D3=seg[D3];
D2=seg[D2];
D1=seg[D1];
//-------------------------------------
digitalWrite(strobe, LOW);
shiftOut(data, clock, LSBFIRST, 0xc6); // 5d digit
shiftOut(data, clock, LSBFIRST, D5); // 3
digitalWrite(strobe, HIGH);
//-----------------------------------------
xxxx . cpp
xxxx . h
keywords . txtで構成され
sketch
xxxx . ino(Arduino program file)に、Libraryをincludする。
xxxx . inoに、xxxx . hが、記述される。
ファイルを追加
の使用方法が良く解からなかった。
ファイルの追加は、サブル-チンコ-ルの様な使い方を
するものとして、考え、検索していたら、
ソ-スコ-ドを複数ファイルに分割して記述するが
有った。
http://keitetsu.blogspot.jp/2014/11/arduino.html