Skip to content

Latest commit

 

History

History
138 lines (92 loc) · 6.3 KB

File metadata and controls

138 lines (92 loc) · 6.3 KB

Note

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
  • 特別割引:最新製品の独占割引をお楽しみください。
  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!

2.4 マイクロチップ - 74HC595

このエキサイティングなプロジェクトへようこそ!このプロジェクトでは、74HC595チップを使用して8つのLEDの流れるような表示を制御します。

このプロジェクトを起動すると、8つのLED間で飛び交うかのような魅惑的な光の流れが目の前に広がります。一つ一つのLEDが順に点灯し、すぐに消えていく間に、次のLEDが輝き続け、美しくダイナミックな効果を生み出します。

74HC595チップを巧みに利用することで、複数のLEDのオン/オフ状態を制御し、流れるような効果を実現できます。このチップには複数の出力ピンがあり、LEDの点灯順序を制御するために直列に接続できます。さらに、チップの拡張性により、流れる表示にさらに多くのLEDを簡単に追加し、より壮観な効果を作り出すことができます。

必要な部品

このプロジェクトには以下のコンポーネントが必要です。

一式を購入するのが便利です。こちらがリンクです:

名前 このキットのアイテム リンク
ESP32 Starter Kit 320+ |link_esp32_starter_kit|

もちろん、以下のリンクから個別に購入することもできます。

コンポーネントの紹介 購入リンク
:ref:`cpn_esp32_wroom_32e` |link_esp32_wroom_32e_buy|
:ref:`cpn_esp32_camera_extension` -
:ref:`cpn_breadboard` |link_breadboard_buy|
:ref:`cpn_wires` |link_wires_buy|
:ref:`cpn_resistor` |link_resistor_buy|
:ref:`cpn_led` |link_led_buy|
:ref:`cpn_74hc595` |link_74hc595_buy|

利用可能なピン

このプロジェクトでESP32ボードに利用可能なピンのリストです。

利用可能なピン IO13, IO12, IO14, IO27, IO26, IO25, IO33, IO32, IO15, IO2, IO0, IO4, IO5, IO18, IO19, IO21, IO22, IO23

回路図

../../img/circuit/circuit_2.4_74hc595_led.png

  • MR(ピン10)がハイレベルで、CE(ピン13)がローレベルのとき、SHcpの立ち上がりエッジでデータが入力され、SHcpの立ち上がりエッジを通してメモリレジスタに移動します。
  • 2つのクロックを接続すると、シフトレジスタはメモリレジスタよりも常に1パルス早くなります。
  • メモリレジスタには、シリアルシフト入力ピン(DS)、シリアル出力ピン(Q7')、非同期リセットボタン(ローレベル)があります。
  • メモリレジスタは、3状態の並列8ビットバスを出力します。
  • OEが有効(ローレベル)のとき、メモリレジスタのデータがバス(Q0 ~ Q7)に出力されます。

配線図

../../img/wiring/2.4_74hc595_bb.png

コード

Note

  • esp32-starter-kit-main\c\codes\2.4_74hc595 のパスの下にある 2.4_74hc595.ino ファイルを開きます。
  • ボード(ESP32 Dev Module)を選択し、適切なポートを選んだ後、 アップロード ボタンをクリックします。
  • :ref:`unknown_com_port`

コードをESP32ボードにアップロードすると、LEDが次々と点灯するのを見ることができます。

どのように動作するのか?

  1. 74HC595で制御される8つのLEDの作業状態を変更するために使用されるいくつかの8ビットバイナリ数値を格納するために配列を宣言します。

    int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};
    
  2. loop() 関数。

    void loop()
        {
            for(int num = 0; num <10; num++)
            {
                digitalWrite(STcp,LOW); //Set ST_CP and hold low for as long as you are transmitting
                shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
                digitalWrite(STcp,HIGH); //pull the ST_CPST_CP to save the data
                delay(1000);
            }
        }
    
    • datArray[] を反復し、バイナリ値をシフトレジスタに順次送信します。
    • digitalWrite(STcp, LOW)digitalWrite(STcp, HIGH) の命令でデータがストレージレジスタにラッチされます。
    • shiftOut() 関数は、データピン(DS)とシフトレジスタクロックピン(SHcp)を使用して、 datArray[] からバイナリ値をシフトレジスタに送信します。 MSBFIRST は高ビットから移動することを意味します。
    • LEDパターンの更新間に1秒の一時停止を作ります。