Mengukur Massa Bumi dengan Arduino: Panduan DIY Langkah demi Langkah
Komponen dan Perlengkapan
Berikut adalah daftar komponen yang diperlukan untuk membangun alat pengukur massa Bumi menggunakan Arduino:
- Arduino UNO – 1 unit
- Kabel USB-A ke B – 1 unit
- Resistor 560 ohm – 4 unit
- Resistor 100 ohm – 2 unit
- Sensor piezoelektrik – 4 unit
- Pemancar IR (generik) – 1 unit
- Penerima IR (generik) – 1 unit
- Potensiometer putar (generik) – 1 unit
- Op-amp UA741C – 1 unit
- Breadboard (generik) – 1 unit
- Kabel panjang 1,2 meter – 1 unit
- PCB berguna umum – 1 unit
- Kait – 1 unit
- Lembar karton – 1 unit
Aplikasi dan Layanan Online
Tentang Proyek Ini
Suatu hari, saya sedang menimbang diri sendiri pada timbangan. Tiba-tiba sebuah pikiran muncul di benak saya: "Berapa massanya Bumi?" Biarkan itu saja, bagaimana kita bahkan bisa mengukurnya? Tidak ada timbangan yang cukup besar untuk menempatkan Bumi di atasnya. Harus ada cara tidak langsung untuk mengukur massa Bumi. Di sini saya menyajikan implementasi salah satu metode tidak langsung untuk mengukur massa Bumi.
Langkah 1: Metode Tidak Langsung
Pada awal abad ke-19, ilmuwan menggunakan hukum kedua Newton dan hukum gravitasi universal Newton untuk mengukur massa Bumi. Persamaan yang digunakan adalah F = ma dan F = (GmM)/(r²), masing-masing (m = massa benda, a = percepatan, G = Konstanta Gravitasi, M = massa Bumi, r = jari-jari Bumi). Jika kita mengganti g, yaitu percepatan akibat gravitasi, untuk istilah percepatan 'a' dan menggabungkan kedua persamaan ini, kita mendapatkan:
mg = GmM/r²
Persamaan ini dapat diselesaikan untuk M, yaitu massa Bumi:
M = (gr²)/G
Kita akan mengasumsikan bahwa nilai G dan r sudah diketahui. Kita akan mencari g, yaitu percepatan akibat gravitasi, menggunakan eksperimen kecil yang melibatkan Arduino dan beberapa sensor. Akhirnya, kita akan menggabungkan semua hal untuk menemukan nilai M.
Lihat gambar yang dilampirkan untuk ekspresi matematika yang tepat.
Mari kita mulai eksperimen.
Langkah 2: Gambaran Umum Eksperimen
(Sabar sebentar dengan sedikit matematika di sini, Arduino akan segera aktif)
Untuk menentukan percepatan gravitasi, kita perlu memahami sesuatu yang disebut "jatuh bebas", yaitu gerak di mana benda bergerak ke bawah menuju Bumi, hanya di bawah gaya gravitasi. Beberapa istilah ilmiah yang mencirikan jatuh bebas adalah:
- Kecepatan awal – kecepatan benda yang jatuh bebas pada awal jatuh bebas atau awal eksperimen.
- Kecepatan akhir – kecepatan benda yang jatuh bebas pada akhir jatuh bebas atau akhir eksperimen.
- Jarak tempuh – jarak yang ditempuh benda yang jatuh bebas selama jatuh bebas.
- Waktu penerbangan – waktu yang dibutuhkan untuk menempuh jarak tempuh di bawah jatuh bebas.
- Percepatan – laju perubahan kecepatan yang diamati oleh benda dalam jatuh bebas. Ini sama dengan percepatan akibat gravitasi.
Salah satu persamaan Newton berbunyi seperti ini:
Jarak tempuh = (kecepatan awal × waktu penerbangan) + (percepatan × (waktu penerbangan)²) / 2
Ada 4 variabel dalam persamaan di atas, termasuk salah satu yang kita minati yaitu "percepatan". Dari 4 variabel ini, jika kita mengetahui 3 variabel, kita dapat menghitung variabel ke-4 yang masih tidak diketahui.
Kita dapat menetapkan 2 variabel sebagai berikut:
- Jarak tempuh = 1 Meter (kami akan menjatuhkan benda dari ketinggian 1 meter)
- Kecepatan awal = 0 m/s (kami akan memulai eksperimen dari keadaan diam)
Kita tersisa dengan 2 variabel yang tidak diketahui. Inilah di mana Arduino aktif dan membantu kita dalam mencari waktu penerbangan. Untuk menentukan waktu penerbangan secara akurat, kita perlu dua stempel waktu: 1. awal penerbangan dan 2. akhir penerbangan.
Kami akan membuat rangkaian kustom untuk menentukan kedua stempel waktu ini pada langkah 4. Saya menjelaskan rangkaian untuk menemukan stempel waktu awal penerbangan pada langkah 4, dan akhir penerbangan pada langkah 5.
Dengan bantuan Arduino dan beberapa sensor, kita akan menghitung waktu penerbangan, sehingga hanya tersisa satu variabel yang tidak diketahui dalam persamaan di atas yaitu percepatan akibat gravitasi (bingoooo!!!).
Biarkan kita memasukkan nilai variabel tetap kita ke dalam persamaan yang disebutkan di atas, untuk menyederhanakan persamaan lebih lanjut:
1 = (g × (waktu penerbangan)²) / 2
Jadi:
g = 2 / (waktu penerbangan)²
Detail eksperimen akan diikuti pada langkah 7.
Jika ada keraguan, lihat gambar yang dilampirkan.
Langkah 3: Hal-hal yang Kita Butuhkan
Berikut adalah daftar hal yang akan kita butuhkan untuk eksperimen mengukur percepatan gravitasi:
- Papan Arduino mana saja, disarankan Uno/Duemilanove (tidak ada alasan khusus hanya karena saya menggunakan papan ini untuk eksperimen ini)
- Kabel USB untuk menghubungkan Arduino ke PC
- Resistor 560 Ohm (4 kuantitas), Resistor 100 Ohm (2 kuantitas)
- Sensor piezoelektrik (4 kuantitas)
- Satu pasang IR Tx (LED IR) dan Rx (Fotodioda)
- Satu potensiometer
- Satu op-amp (seperti UA741C)
- Satu breadboard
- Tiga kabel panjang 1,2 meter
- PCB berguna umum kecil 5cm × 5cm untuk merakit rangkaian IR
- Kait
- Lembar karton
Jika ada keraguan, lihat gambar yang dilampirkan.
Langkah 4: Skematik 1: Rangkaian IR
Rangkaian ini akan digunakan untuk mencatat stempel waktu awal jatuh bebas untuk benda yang digunakan untuk mengukur 'g'. Berikut adalah poin-poin penting tentang gambar skematik Fritzing yang dilampirkan:
- LED IR digunakan dalam bias maju yang bertindak sebagai LED biasa dalam aplikasi ini, yaitu menerangi penerima IR Fotodioda.
- Fotodioda digunakan dalam bias mundur.
- Keluaran dari simpul katoda dan resistor terhubung ke salah satu terminal input op-amp.
- Terminal input lainnya dari op-amp terhubung ke potensiometer yang menentukan tegangan ambang.
- Keluaran op-amp pergi ke papan Arduino.
Lihat video (waktu = 5 menit 16 detik) jika ada keraguan.
Langkah 5: Skematik 2: Rangkaian Piezoelektrik
Rangkaian ini akan digunakan untuk mencatat stempel waktu akhir jatuh bebas untuk benda yang digunakan untuk mengukur 'g'. Berikut adalah poin-poin penting tentang gambar skematik Fritzing yang dilampirkan:
- 4 sensor piezoelektrik terhubung seperti yang ditunjukkan dalam skematik.
- 4 resistor 560 Ohm terhubung secara paralel dengan sensor piezoelektrik untuk mengurangi lonjakan tegangan yang dihasilkan oleh sensor piezoelektrik ketika benda yang jatuh bebas mengenai permukaannya.
- Terminal negatif sensor piezoelektrik terhubung ke ground rangkaian.
- Terminal positif sensor piezoelektrik terhubung ke pin input analog.
Jika ada keraguan, lihat video yang dilampirkan (waktu = 9 menit 2 detik).
Langkah 6: Menggabungkan Semua Hal
Ikuti instruksi ini untuk menggabungkan semua hal:
- Gunakan karton untuk membuat struktur seperti atap dan tempelkan ke dinding pada ketinggian sekitar 1,1 meter.
- Pasang modul IR menghadap ke bawah ke atap karton.
- Hubungkan keluaran op-amp ke pin nomor 4 Arduino menggunakan salah satu kabel panjang 1,2 m.
- Hubungkan Vcc dan GND dari Arduino ke modul IR menggunakan sisa kabel panjang 1,2 m.
- Pastikan semuanya terpasang dengan kokoh: kabel ke dinding, modul IR ke atap karton, modul piezoelektrik ke tanah tepat di bawah modul IR.
Jika ada keraguan, lihat gambar yang dilampirkan, yang telah ditandai dengan baik untuk memudahkan pemahaman tentang rangkaian.
Langkah 7: Detail Eksperimen
Dengan semua hal sudah tersedia (kecuali kode Arduino, dibahas pada langkah 8), mari kita melalui prosedur eksperimen ini:
- Tempelkan proyeksi tipis kecil di atas benda yang digunakan untuk jatuh bebas seperti yang ditunjukkan dalam gambar yang ditandai sebagai 1.
- Sebelum kita melepaskan benda untuk melanjutkan jatuh bebas, peganglah tepat pada tanda 1 meter, sedemikian rupa sehingga proyeksi di atas menghalangi cahaya dari IR ke fotodioda. Seperti yang ditunjukkan dalam gambar yang ditandai sebagai 2.
- Lepaskan benda tanpa memberikan gaya apa pun agar jatuh bebas pada zona luncuran piezoelektrik.
- Saat benda jatuh, tidak ada hambatan dalam jalur IR TX dan RX, yang memberi kita sinyal tentang benda yang baru saja dilepaskan dalam hal waktu awal jatuh bebas.
- Saat benda menyentuh zona luncuran, sensor piezoelektrik menghasilkan lonjakan tegangan terkontrol yang memberi tahu kedatangan benda dalam hal waktu akhir jatuh bebas.
- Jika kita mengurangi waktu akhir dari waktu awal, kita mendapatkan waktu penerbangan yang akan kita gunakan untuk menghitung percepatan gravitasi seperti yang kita bahas pada langkah 2.
Langkah 8: Kode Arduino
Saya melampirkan kode Arduino untuk eksperimen ini. Kodenya sangat sederhana. Jika ada keraguan, lihat video di mana saya menjelaskan kode secara rinci (waktu dalam video = 13 menit 35 detik).
Langkah 9: Mari Lakukan Eksperimen
Berikut adalah hal-hal yang harus diperhatikan sebelum melakukan eksperimen ini:
- Ambang batas sensor piezoelektrik harus diatur dengan benar dalam kode Arduino.
- Tempelkan panel piezoelektrik tepat di bawah modul IR.
- Pastikan Anda menjatuhkan benda dari 1 Meter tanpa memberikan gaya eksternal apa pun.
Di sini saya melakukan eksperimen ini pada stempel waktu 17 menit dalam video yang dilampirkan. Kita akan menghitung Massa Bumi menggunakan hasilnya, yaitu waktu penerbangan yang diperoleh dari eksperimen ini.
Langkah 10: Hasil dan Massa Bumi
Setelah mengulangi eksperimen ini sebanyak 3 kali, saya mendapatkan hasil berikut dalam hal Waktu Penerbangan:
Biarkan kita mengambil rata-rata:
Rata-rata waktu penerbangan = 450 ms
Jika kita mengganti nilai ini dalam persamaan untuk mendapatkan percepatan gravitasi, kita mendapatkan percepatan sekitar 9,8755 m/s². Seperti yang terlihat dalam gambar yang dilampirkan.
Akhirnya, mengganti nilai 'g' ini untuk mendapatkan massa Bumi, kita mendapatkannya sekitar 6,0066 × 10²⁴ Kg, seperti yang Anda lihat dalam gambar yang dilampirkan.
Massa aktual Bumi menurut Google adalah 5,972 × 10²⁴ Kg. Saya pikir kita cukup dekat.
Terima kasih atas waktu Anda. Jika ada keraguan, lihat video atau tuliskan di komentar, saya akan senang membantu.
Kode
Kode Arduino
const int sensorPin1 = A0; const int sensorPin2 = A1; const int sensorPin3 = A2; const int sensorPin4 = A3; const int photoPin = 4; const int ledPin = 13; const int threshold = 110; char stringToPrint[100]; int startTime, endTime; int val1, val2, val3, val4; void setup() { Serial.begin(115200); pinMode(ledPin, OUTPUT); pinMode(sensorPin1, INPUT); pinMode(sensorPin2, INPUT); pinMode(sensorPin3, INPUT); pinMode(sensorPin4, INPUT); pinMode(photoPin, INPUT); } void loop() { int start = digitalRead(photoPin); startTime = millis(); if (start == HIGH) digitalWrite(ledPin, HIGH); while (start == LOW) { digitalWrite(ledPin, LOW); val1 = analogRead(sensorPin1); val2 = analogRead(sensorPin2); val3 = analogRead(sensorPin3); val4 = analogRead(sensorPin4); if ((val1 >= threshold) || (val2 >= threshold) || (val3 >= threshold) || (val4 >= threshold)) { endTime = millis(); sprintf(stringToPrint, "%d ms", endTime - startTime); Serial.println(stringToPrint); digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); start = HIGH; } } }
Skematik
Skematik Fritzing untuk rangkaian IR.
Gambar perangkat keras.
Skematik Fritzing.
Gambar perangkat keras.