ソフトウェアーで学ぶロジック 回路 パルス回路
今回は入力信号処理によく使われるパルス回路関係をまとめました。
- On Delay(オンディレー)
On Delayは入力がONになって一定時間経過後に出力がONになる回路です。
出力がONになる前に入力がOffになると出力はONになりません。 - Off Delay(オフディレー)
Off Delayは入力と同時に出力がONし、入力がOFFになって一定時間経過後に出力がOFFになる回路です。 - One Shot(ワンショット・単安定マルチバイブレータ)
One Shotは入力がONにになると一定時間出力がONになる回路です。 - Astable multivibrator(非安定マルチバイブレータ)
Astable multivibratorは入力がONの間出力がON/OFFを繰り返す回路です。
Tinkercad Circuits による simulation
https://www.tinkercad.com/things/8EGjYTgYqL3
/* Logic simulator 1. On Delay SW1 - LED1 2. Off Delay SW2 - LED2 3. One shot SW3 - LED3 4. Astable multivibrator SW4 - LED4 created 2018 NextStep LLC <https:next-step.asia/> by Kaz Ueno This example code is in the public domain. */ // set pin numbers: const int SW1 = 4; // the number of the pushbutton 1 pin const int SW2 = 5; // the number of the pushbutton 2 pin const int SW3 = 6; // the number of the pushbutton 3 pin const int SW4 = 7; // the number of the pushbutton 4 pin const int LED1 = 8; // the number of the LED 1 pin const int LED2 = 9; // the number of the LED 2 pin const int LED3 = 10; // the number of the LED 3 pin const int LED4 = 11; // the number of the LED 4 pin void setup() { // initialize the LED pin as an output: pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT); pinMode(LED3, OUTPUT); pinMode(LED4, OUTPUT); // initialize the pushbutton pin as an input: pinMode(SW1, INPUT); pinMode(SW2, INPUT); pinMode(SW3, INPUT); pinMode(SW4, INPUT); } void loop() { // Input Output Test /* digitalWrite(LED1, !digitalRead(SW1)); digitalWrite(LED2, !digitalRead(SW2)); digitalWrite(LED3, !digitalRead(SW3)); digitalWrite(LED4, !digitalRead(SW4)); */ // On Delsy if(!digitalRead(SW1)){ delay(1000); digitalWrite(LED1, 1); while(!digitalRead(SW1)); digitalWrite(LED1, 0); } // Off Delsy if(!digitalRead(SW2)){ digitalWrite(LED2, 1); while(!digitalRead(SW2)); delay(1000); digitalWrite(LED2, 0); } // One shot if(!digitalRead(SW3)){ digitalWrite(LED3, 1); delay(1000); digitalWrite(LED3, 0); while(!digitalRead(SW3)); } // Astable multivibrator while(!digitalRead(SW4)){ digitalWrite(LED4, 1); delay(1000); digitalWrite(LED4, 0); delay(1000); } } |
- SW1 - LED1 On Delay
SW1をONして1秒後にLED1がONになります。LED1が点灯する前にSW1をOFFにするとLD1は点灯しません、 - SW2 - LED2 Off Delay
SW2をONしたらLED2がすぐにONとなり、SW2をOFFにしてして1秒後にLED2がOFFになります。 - SW3 - LED3 One Shot
SW3をONしたら1秒間LED3がONになります、SW3をONのままにしてもLED3は1回だけしかONになりません。
- SW4 - LED4 Astable multivibrator
SW4をONにしている間、LED4が1秒間隔で点滅します。
SoftLogicのTinkercad Circuitsページ