認可されたオンライン小売業者:
このレッスンでは、74HC595を使用して、Osoyooベーシックボード上の1つの7セグメントLEDディスプレイを駆動する方法を紹介します。以前には、単一の7セグメントLEDディスプレイをボード上の8つのポートに直接接続する方法を紹介しました。これにより、ポートを5つ節約できます。ボードのポートが限られているため、これは非常に重要です。
実験では、SRCLR(ピン10)が5V(HIGHレベル)に接続され、OE(ピン13)がGND(LOWレベル)に接続されています。したがって、データはSRCLKの立ち上がりエッジに入力され、立ち上がりエッジを通じてメモリレジスタに入力されます。shiftout()関数を使用して、8ビットのデータをDSを介してシフトレジスタに出力します。SRCLKの立ち上がりエッジで、シフトレジスタ内のデータが1ビットずつ順次移動し、QB内のデータがQCに移動します。RCLKの立ち上がりエッジで、シフトレジスタ内のデータがメモリレジスタに移動します。8回後にすべてのデータがメモリレジスタに移動します。その後、メモリレジスタ内のデータがバス(QA-QH)に出力されます。したがって、16文字が7セグメントに順番に表示されます。
回路を以下のように構築します:
上記の操作が完了したら、USBケーブルを使用してボードをコンピュータに接続します。緑色の電源LED(PWRとラベルされています)が点灯するはずです。次に、以下のスケッチをOsoyooベーシックボードにアップロードします。
const int latchPin = 12;//Pin connected to latchPin of 74HC595 const int clockPin = 8;//Pin connected to clockPin of 74HC595 const int dataPin = 11; //Pin connected to dataPin of 74HC595 //display 0,1,2,3,4,5,6,7,8,9,A,b,C,d,E,F int datArray[16] = {252, 96, 218, 242, 102, 182, 190, 224, 254, 246, 238, 62, 156, 122, 158, 142}; void setup () { //set pins to output pinMode(latchPin,OUTPUT); pinMode(clockPin,OUTPUT); pinMode(dataPin,OUTPUT); } void loop() { //loop from 0 to 256 for(int num = 0; num < 16; num++) { digitalWrite(latchPin,LOW); //ground latchPin and hold low for as long as you are transmitting shiftOut(dataPin,clockPin,MSBFIRST,datArray[num]); //return the latch pin high to signal chip that it //no longer needataPin to listen for information digitalWrite(latchPin,HIGH); //pull the latchPin clockPin to save the data delay(1000); //wait for a second } }
アップロードが完了して数秒後、0から9までとAからFまでの7セグメント表示が表示されるはずです。
DownLoad Url osoyoo.com