Mengukur Kelajuan Bunyi Dengan Mikrokontroler Arduino dan Sensor Ultrasonik: 8 Langkah

Mengukur Kelajuan Bunyi Dengan Mikrokontroler Arduino dan Sensor Ultrasonik: 8 Langkah

Isi kandungan:

Anonim

Anak perempuan saya berusia 6 tahun, Samatha, menunjukkan bagaimana untuk mengukur kelajuan bunyi di udara dengan sensor Mikrokontroler Arduino Uno dan sensor ultrasonik.

Saya fikir ini adalah projek yang baik untuk kanak-kanak terdedah kepada sains, kejuruteraan dan matematik.

Bekalan:

Langkah 1: Kami Perlu

1. Papan mikrokontroler Arduino Uno

2. Sensor ultrasonik (HC - SR04)

3. Penguasa

4. Wayar pelompat (Perempuan / Pria)

5. Sesetengah objek seperti kotak kecil

6. Kalkulator

7. Komputer, perisian Arduino (IDE)

Langkah 2: Mikrokontroller Arduino Uno

Arduino Uno adalah papan mikrokontroler saiz kad kredit.

Ia mempunyai komponen penting berikut:

  • Pin kuasa
  • 14 pin I / O digital
  • 6 input analog
  • Oscillator kristal 16 MHz
  • Butang Reset
  • Sambungan USB.

Kami boleh menyambungkannya ke komputer dengan kabel USB atau bateri untuk bermula.

Arduino Uno dapat merasakan alam sekitar dengan menerima input dari pelbagai sensor dan dapat mengawal LED, motor servo, motor, dan penggerak lain.

Mikrokontroler di papan diprogramkan menggunakan perisian Arduino.

Sila lihat video untuk membina beberapa litar asas dengan mikrokontroler Arduino Uno.

Langkah 3: Sedikit Mengenai Sensor Ultrasonik

Modul ultrasonik HC-SR04 mempunyai dua transduser: satu bertindak sebagai penceramah (S) yang menukarkan denyutan elektrik ke gelombang bunyi dan mengeluarkannya dengan kekerapan 40000 Hz (40 kHz), bertindak sebagai mikrofon (M) untuk menerima ombak ultrasonik yang melantun objek (O).

Pemasa akan bermula pada mikropengawal apabila nadi ditularkan dan pemasa akan berhenti apabila gelombang echo diterima oleh mikrofon. Begitulah cara kita mendapatkan jumlah masa untuk gelombang perjalanan dari S -> O -> M.

Langkah 4: Sekarang Sambungkan Sensor Ultrasonik ke Mikrokontroler

Sensor ultrasonik HC-SR04 mempunyai empat pin:

Vcc: pin Voltage Operating

Trig: Pin penghantaran isyarat

Echo: melantun pin penderia isyarat

Gnd: Pin tanah

Sambungkan semua 4 pin ini ke papan mikrokontroler dengan wayar jumper.

1. Sambungkan Vcc ke pin 5V

2. Gnd ke pin tanah

3. Trig membuat pin 13

4. Echo to pin 7

Anda boleh memilih mana-mana pin digital pada mikropengawal untuk menyambung Trig dan Echo sensor ultrasonik.

Langkah 5: Program Perisian Arduino (Sketsa)

Program Arduino pada dasarnya akan melakukan langkah-langkah berikut:

  1. Hidupkan pin Trig
  2. Hantar 10 nadi lebar mikrosecond
  3. Matikan pin Trig
  4. Cetak jumlah masa perjalanan nadi pada monitor bersiri.

----------------------------------------------------------------

int trigPin = 13; // set pin 13 sebagai pin trig int echoPin = 7; / // set pin 7 sebagai echo pin int time;

void setup () {Serial.begin (9600); pinMode (trigPin, OUTPUT); / // set pin trig sebagai output, kita hantar denyutan melalui pinMode ini (echoPin, INPUT); / / set echo pin sebagai input, kami mengesan echo melalui pin ini}

kekosongan gelung () {// menghantar 10 pulsa lebar mikrosecond, frekuensi ~ 40KHz digitalWrite (trigPin, LOW); delayMicroseconds (2000); digitalWrite (trigPin, TINGGI); / // delay trig pinMicroseconds (10); / / pulse width 10 microseconds digitalWrite (trigPin, LOW); / // trig pin off time = pulseIn (echoPin, HIGH); // pulseIn (), fungsi masa pulangan dalam microseconds // waktu cetak pada monitor bersiri Serial.print ("Masa diambil untuk denyut nadi:"); Serial.print (masa); Serial.println ("microseconds"); kelewatan (2000); }

Langkah 6: Persediaan Eksperimental, Prosedur dan Aquisition Data

Sebelum memulakan nota percubaan ke bawah suhu bilik, dalam kes kami adalah 75 darjah F.

1. Kita perlu meletakkan sensor pada 0 cm pada penguasa

2. Letakkan objek anda di mana-mana kedudukan yang dikehendaki pada penguasa, kami menyimpannya pada 5cm, jadi jarak total (D) adalah 10 sentimeter.

3. Muat naik program ke mikrokontroler dengan kabel USB.

4. buka monitor bersiri, dan kita dapat melihat jumlah masa perjalanan denyut, tuliskan itu pada lembar data.

4. Pindahkan objek ke kedudukan 10 cm pada skala, kini jarak total 20 cm, dan tuliskan masa dari monitor bersiri.

5. Kami mengambil data (masa) untuk 6 laluan (pada kedudukan yang berbeza), jika anda mempunyai penguasa yang lebih lama maka anda boleh mengambil data untuk lebih banyak titik data.

Langkah 7: Analisis Data dan Keputusan Eksperimen.

Selepas mencatat jumlah masa untuk jarak yang berbeza, kini kita boleh mengira kelajuan bunyi:

Kelajuan bunyi = Jarak / Masa (S = D / T)

Sebagai contoh:

Jarak = 10 cm, Masa = 289 mikroseconds = 289 * 10 ^ -6 s

S = D / T = 10 cm / 289 * 10 ^ -6 s = 0.03460207612 * 10 ^ 4 m / s

S = 346.02 m / s

Selepas mengira kelajuan bunyi untuk jarak yang berbeza, akhirnya mengambil purata (jumlah semua kelajuan dibahagikan dengan 6).

Purata S = 343.8 m / s pada 75 F.

Langkah 8: Pengesahan

Kelajuan bunyi dalam eksperimen kami ialah 343.8 m / s

Kelajuan gelombang bunyi yang bergerak dalam medium akan berubah berdasarkan suhu (T) medium.

Kelajuan bunyi di udara sebagai fungsi suhu: S = 331.4 + 0.6Tc m / s

di mana Tc = suhu dalam darjah celcius.

Berdasarkan formula ini, kelajuan bunyi yang diterima pada 75 F (23.88 darjah Centigrade), S = 345.9 Cik

ralat peratus = | nilai yang diterima - nilai eksperimen | / (nilai diterima) * 100%

peratus ralat = 0.6% (cukup dekat)