電源はArduinoからの5Vを使用。
Arduino UNOの12番ピンはSPIのSDIピンだが配線無しです、
又、他の機能ピンとして利用出来ません。
--------------------------------------------------------------------- #include "pins_arduino.h" #include <SPI.h> void setup() { SPI.begin() ; // SPIを行う為の初期化 SPI.setBitOrder(MSBFIRST) ; // ビットオーダー SPI.setClockDivider(SPI_CLOCK_DIV8) ; // クロックをシステムクロックの1/8で使用(16MHz/8) SPI.setDataMode(SPI_MODE0) ; // クロック極性0(LOW) クロック位相0(LOW) digitalWrite(SS,LOW) ; // SS(LATCH)ラインをLOWにする SevenSEG_Erase(3) ; // 7セグ表示を消去する delay(3000) ; // 3秒後開始 } void loop() { int i ; // 整数値"0〜100"までを表示させる for (i=0 ; i<=100 ; i++) { SevenSEG_NumOut(3,0,0,i) ; delay(500) ; } // 浮動小数値を"7.46"表示させる delay(2000) ; SevenSEG_NumOut(4,2,0,7.456) ; while(1) ; // 処理中断 } void SevenSEG_Erase(unsigned char kosu) { int i ; digitalWrite(SS, LOW) ; for (i=0 ; i<kosu ; i++) { SPI.transfer(0x00) ; } digitalWrite(SS, HIGH) ; // ラッチ信号を出す } void SevenSEG_NumOut(unsigned char digit,unsigned char prec,unsigned char zero,double val) { const unsigned char NumPatternData[] { 0b00111111 , // 0 0b00000110 , // 1 0b01011011 , // 2 0b01001111 , // 3 0b01100110 , // 4 0b01101101 , // 5 0b01111101 , // 6 0b00000111 , // 7 0b01111111 , // 8 0b01101111 , // 9 0b10000000 , // . 0b01000000 , // - 0b00000000 , // 空白 } ; char buff[16] ; int len , i , flg ; flg = 0 ; // 数値を文字列に変換する dtostrf(val, digit, prec, buff) ; len = strlen(buff) - 1 ; digitalWrite(SS, LOW) ; for (i=len ; i>=0 ; i--) { switch (buff[i]) { case '-' : // マイナス記号処理 SPI.transfer(NumPatternData[11]) ; break ; case ' ' : // 先頭の空白処理 if (zero == 1) SPI.transfer(NumPatternData[0]) ; // ゼロ else SPI.transfer(NumPatternData[12]) ; // スペース break ; case '.' : flg = 1 ; break ; default : if (flg == 1) { // 小数点有り時の場合 flg = 0 ; SPI.transfer(NumPatternData[buff[i]-0x30] | NumPatternData[10]) ; } else { // 通常時 SPI.transfer(NumPatternData[buff[i]-0x30]) ; } } } digitalWrite(SS, HIGH) ; // ラッチ信号を出す } ---------------------------------------------------------------------又、↓ここから上記サンプルスケッチファイルをダウンロード出来ます。
[SevenSEG]------- SevenSEG.ino
【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.