Earthquake

📟 Micro:bit Project: earthquake

ដើម្បីបង្កើតឧបករណ៍ចាប់សញ្ញារញ្ជួយដី (seismograph) ដោយប្រើ BBC micro:bit, THDX AE (ទំនងជាសំដៅទៅលើកុងតាក់/ឧបករណ៍ចាប់សញ្ញាផ្អៀង ឬរំញ័រ) និង breadboard អ្នកនឹងប្រើប្រាស់ accelerometer ដែលភ្ជាប់មកជាមួយ micro:bit រួមជាមួយនឹងឧបករណ៍ចាប់សញ្ញាខាងក្រៅរបស់អ្នក។

ដោយសារតែឧបករណ៍ចាប់សញ្ញាស៊េរី "THDX" ជាធម្មតាជាឧបករណ៍បង្កឌីជីថល (សៀគ្វីបើក/បិទ) យើងនឹងសរសេរ JavaScript (MakeCode) ដែលស្តាប់សញ្ញា "ខ្ពស់" នៅលើម្ជុល ឬការញ័រភ្លាមៗពី micro:bit ខ្លួនឯង។



ការរៀបចំខ្សែភ្លើង

  1. VCC/PCC៖ ភ្ជាប់​ម្ជុល​ថាមពល​របស់​ឧបករណ៍ចាប់សញ្ញា​ទៅនឹង​ម្ជុល micro:bit 3V

  2. GND៖ ភ្ជាប់ម្ជុលដីរបស់ឧបករណ៍ចាប់សញ្ញាទៅនឹង ម្ជុល GND មីក្រូ:ប៊ីត ។

  3. សញ្ញា៖ ភ្ជាប់ម្ជុលទិន្នផលរបស់ឧបករណ៍ចាប់សញ្ញាទៅ ម្ជុល 0 នៅលើមីក្រូ:ប៊ីត។





💻 JavaScript Code


// This block runs when the micro:bit's internal accelerometer detects a shake
input.onGesture(Gesture.Shake, function () {
    triggerAlarm("Shake Detected!")
})
// This block runs when the external sensor (Pin 0) is triggered
pins.onPulsed(DigitalPin.P0, PulseValue.High, function () {
    triggerAlarm("Sensor Triggered!")
})
function triggerAlarm (message: string) {
    // Show an 'X' to indicate danger
    basic.showIcon(IconNames.No)
    pins.digitalWritePin(DigitalPin.P1, 1)
    // Log the event to the console (useful for graphing)
    serial.writeLine(message)
    basic.pause(2000)
    pins.digitalWritePin(DigitalPin.P1, 0)
    basic.showIcon(IconNames.Happy)
}
let reading = 0
basic.showIcon(IconNames.Happy)
// Optional: Constant monitoring of vibration levels
basic.forever(function () {
    reading = input.acceleration(Dimension.Strength)
    // 1023 is standard gravity; anything much higher is an impact
    if (reading > 1500) {
        triggerAlarm("Heavy Vibration")
    }
})

  

Post a Comment

Previous Post Next Post