Arduino Darbe/Titreşim Algılama

0
1050
Okunma

Arduino Darbe/Titreşim Algılama

Arduino Darbe/Titreşim Algılama

Arduino Darbe/Titreşim Algılama. Bu eğitici, titreşimi algılamak için bir Piezo elemanının nasıl kullanılacağını, bu durumda kapı, masa veya diğer katı yüzeylerin nasıl çalıştığını gösterir.

Bir piezo , bir titreşim, ses dalgası veya mekanik zorlanma ile fiziksel olarak deforme olduğunda bir voltaj üreten elektronik bir cihazdır. Benzer şekilde, bir piezo üzerine bir voltaj koyduğunuzda, titreşir ve bir ses çıkarır. Piezolar hem tonları çalmak hem de tonları algılamak için kullanılabilir.

Çizim, analog-dijital dönüştürme veya ADC olarak adlandırılan bir işlemde 0 ila 5 volt arasındaki bir voltaj aralığını 0 ila 1023 arasında kodlayan analogRead() komutunu kullanarak piezo çıkışını okur.

Sensör çıkışı belirli bir eşikten daha güçlü ise, kartınız “Knock!” Dizesini gönderir. Seri bağlantı noktası üzerinden bilgisayara.

Bu metni görmek için seri monitörü açın.

Arduino Darbe/Titreşim Algılama

Donanım

  • Arduino veya Genuino
  • Piezo elektrik diski
  • 1 Megohm direnç
  • katı yüzey

Devre

Piezoslar polarize edilir , yani voltajın içinden (ya da dışına) belirli bir yönde geçtiği anlamına gelir. Siyah kabloyu (alt voltajı) toprağa ve kırmızı kabloyu (yüksek voltaj) analog pim 0’a bağlayın. Ayrıca, piezo tarafından üretilen voltajı ve akımı sınırlamak için Piezo elemanına paralel bir 1-megohm direnç bağlayın ve Analog girişi korumak için.

Plastik bir muhafaza olmadan piezo elemanlar elde etmek mümkündür. Bunlar metalik bir disk gibi görünür ve giriş sensörleri olarak kullanımı daha kolaydır. PIezo sensörleri, algılama yüzeylerine sıkıca bastırıldığında, bantlandığında veya yapıştırıldığında en iyi sonucu verir.

Kod

Aşağıdaki kodda, gelen piezo verileri, kullanıcı tarafından ayarlanan bir eşik değeri ile karşılaştırılmaktadır. Sensörünüzün genel hassasiyetini artırmak için bu değeri yükseltmeyi veya azaltmayı deneyin.

/*
Vuruş sensörü

Bu taslak, çalma sesini algılamak için bir piezo elemanı okur.
Bir analog pin okur ve sonucu ayarlanmış bir eşikle karşılaştırır.
Sonuç eşikten daha büyükse, seriye "vur" yazıyor
portu ve pim 13 üzerinde LED'i değiştirir.

Devre:
- 0'da analog bağlı piezo'nun pozitif bağlantısı
- zemine bağlı piezo'nun negatif bağlantısı
- 0'da analogdan toprağa bağlanan 1 megohm direnç

oluşturuldu 25 Mar 2007
David Cuartielles tarafından <http://www.0j0.org>
değiştirildi 30 Ağu 2011
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/Knock
*/

// bu sabitler değişmeyecek:
const int ledPin = 13;      // Dijital pime bağlı LED 13
const int knockSensor = A0; // piezo analog pin'e bağlanır 0
const int threshold = 100;  // algılanan sesin bir vuruntu olup olmadığına karar vermek için // eşik değeri


// bu değişkenler değişecek:
int sensorReading = 0;      // sensör pininden okunan değeri saklamak için değişken
int ledState = LOW;         // LED ışığı, ışığı değiştirmek için son LED durumunu saklamak için kullanılır

void setup() {
  pinMode(ledPin, OUTPUT);  // ledPin'i OUTPUT olarak bildirir
  Serial.begin(9600);       // seri bağlantı noktasını kullan
}

void loop() {
  // sensörü oku ve değişken sensörde sakla:
  sensorReading = analogRead(knockSensor);

  // sensör okuması eşikten daha büyükse:
  if (sensorReading >= threshold) {
    // ledPin'in durumunu değiştir:
    ledState = !ledState;
    // LED piminin kendisini güncelleyin:
    digitalWrite(ledPin, ledState);
    // "Knock!" dizesini gönder. bilgisayara dön, ardından yeni satır
    Serial.println("Knock!");
  }
  delay(100);  // seri port tamponunu aşırı yüklemekten kaçınmak için gecikme
}

Kaynak:arduino.cc

1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız 1 Oydan 5,00 Puan. Bu yazıya oy vermek ister misiniz?
Loading...
Elektronik, Bilim, Teknoloji, Müzik, Tasarım.
Paylaş

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.