You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Basisinfo

Mikrofontype: Elektretmikrofon (engelsk wikipedia har mer info enn norsk).

Mikrofonene dere har fått utdelt er basert på LM393 operasjonsforsterker chipset.

Driftspenning: 4-6V

Kontrollerbar sensitivitet.

Eksempel

Finnes også på GitHub.

Dette eksempelet viser hvordan du kan slå av og på et lys ved bruk av mikrofonen.

Oppkobling

 

Breadboard oppkobling og skjematisk oppkobling.

Kode

Microphone On/Off Example
/*
  Microphone Light On/Off Example
  
  This is an example that show how a light can be turned on and off by a high sound.
  The light stays in its state unil a new high sound arrives.
  
  Circuit
    - Electret microphone
    - 220 ohm resistor
    - LED
  
  Created by Inge Edward Halsaunet, 2015
  Released into the public domain
*/


const int micIn = 2;    // Digital pin the microphone is connected to
const int ledOut = 3;   // Digital pin the led is connected to

int previousSensorReading = 0;  // Remember the previous reading of our microphone
int state = LOW;                // Current led state (HIGH or LOW)

void setup() {
  // Start serial communication with console
  Serial.begin(9600);
  // Initialize inputs and outputs
  pinMode(micIn, INPUT);
  pinMode(ledOut, OUTPUT);
}

void loop() {
  // Read the current microphone level
  int sensorRead = digitalRead(micIn);
  // See if reading has changed since last time
  if (previousSensorReading != sensorRead) {
    // Remember to update previous reading
    previousSensorReading = sensorRead;
    Serial.print("Changed, now: ");
    
    // When senosor is in high state, only notify user.
    if (sensorRead == HIGH) {
      Serial.println("High");
    } else {
      // When sensor changes to low state, we change the state of our output light.
      // This prevents the light from just giva a short flash, but instead remain on or off.
      Serial.println("Low");
      if (state == HIGH) {
        state = LOW;
      } else {
        state = HIGH;
      }
    }
  }
  // Update output light value
  digitalWrite(ledOut, state);
  // Short delay to ensure sensor stability
  delay(1);
}
  • No labels