39章:Arduino(アルドゥイーノ)演習(Sensors/Knock編)

    作成2015.09.02

  1. Arduino(アルドゥイーノ)演習参照アドレス
     Arduino(アルドゥイーノ)演習は下記のアドレスを参照します。
    https://www.arduino.cc/en/Tutorial/HomePage


  2. Sensors/Knockの回路図
     Sensors/Knockの回路図は以下となります。





  3. Sensors/Knockのスケッチ
    (1)メニューの「ファイル」_「スケッチの例」_「Sensors」_「eeprom_get」で以下のスケッチが設定されます。
    /* 
    Knock Sensor
       This sketch reads a piezo element to detect a knocking sound.
       It reads an analog pin and compares the result to a set threshold.
       If the result is greater than the threshold, it writes
       "knock" to the serial port, and toggles the LED on pin 13.
    
       The circuit:
    	* + connection of the piezo attached to analog in 0
    	* - connection of the piezo attached to ground
    	* 1-megohm resistor attached from analog in 0 to ground
    
       http://www.arduino.cc/en/Tutorial/Knock
       created 25 Mar 2007
       by David Cuartielles 
       modified 30 Aug 2011
       by Tom Igoe
       This example code is in the public domain.
     */
    
    // these constants won't change:
    const int ledPin = 13;      // led connected to digital pin 13
    const int knockSensor = A0; // the piezo is connected to analog pin 0
    const int threshold = 100;  // threshold value to decide when the detected sound is a knock or not
    
    // these variables will change:
    int sensorReading = 0;      // variable to store the value read from the sensor pin
    int ledState = LOW;         // variable used to store the last LED status, to toggle the light
    
    void setup() {
      pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
      Serial.begin(9600);       // use the serial port
    }
    
    void loop() {
      // read the sensor and store it in the variable sensorReading:
      sensorReading = analogRead(knockSensor);
    
      // if the sensor reading is greater than the threshold:
      if (sensorReading >= threshold) {
        // toggle the status of the ledPin:
        ledState = !ledState;
        // update the LED pin itself:
        digitalWrite(ledPin, ledState);
        // send the string "Knock!" back to the computer, followed by newline
        Serial.println("Knock!");
      }
      delay(100);  // delay to avoid overloading the serial port buffer
    }
    


  4. Sensors/Knockの実行
    (1)メニューの「スケッチ」_「マイコンボードに書き込む」で書込みされ、実行されます。
    (2)メニューの「ツール」_「シリアルモニタ」を選択するとシリアルモニタが表示されます。
    (3)圧電スピーカをたたくとLED(L)オレンジの点灯/消灯が反転します。
    (4)シリアルモニタには"Knock!"が表示されます。


  5. Sensors/Knockまとめ
    (1)圧電スピーカのの応用例です。




40章:Arduino演習(HC-SR04 超音波距離センサーモジュール編)に行く。

トップページに戻る。