Approved content
The content below is provided by a partner.
Extension for BestModules BMduino. Works with micro:bit v2 only - beta.
https://www.bestmodulescorp.com/en/amfile/file/download/file/2588/product/1418/
Display string or numbers on OLED.
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Hello 123!")
bmduino.writeStringOLED("Hello ")
bmduino.writeNumOLED(123)
bmduino.writeStringOLED("!")
bmduino.newLineOLED()
basic.forever(function () {
})
Get the key status of touch.
bmduino.init4KeyModule()
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "number:")
bmduino.writeNumOLED(bmduino.numberOf4KeyModule())
basic.forever(function () {
if (bmduino.pressedFrom4Key()) {
bmduino.writeNumPlaceOLED(2, 1, bmduino.readKeyFrom4Key())
}
basic.pause(10)
})
Obtain ambient light intensity((uint:lux).
bmduino.initAmbientLightModule()
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "number:")
bmduino.writeNumOLED(bmduino.numberOfAmbientLightModule())
bmduino.writeStringPlaceOLED(2, 1, "Lux:")
basic.forever(function () {
bmduino.writeNumPlaceOLED(3, 2, bmduino.readALS(1))
basic.pause(100)
})
Obtain the temperature and humidity of the environment.
bmduino.initTemperatureAndHumidityModule()
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Temp:")
bmduino.writeStringPlaceOLED(3, 1, "Humi:")
basic.forever(function () {
bmduino.writeStringPlaceOLED(2, 8, "'C")
bmduino.writeNumPlaceOLED(2, 2, bmduino.readTemperatureForTH(BMduinoTemperatureUnit.Celsius))
bmduino.writeStringPlaceOLED(4, 8, "%RH")
bmduino.writeNumPlaceOLED(4, 2, bmduino.readHumidityFromTH())
basic.pause(2000)
})
Detect whether there are animals (humans) moving close. Note:Preheat for 30 seconds after power on.
bmduino.initPIRModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
while (bmduino.preheatingNotCompletedOfPIR()) {
bmduino.writeStringPlaceOLED(1, 1, "Preheating")
basic.pause(1000)
}
bmduino.clearDisplayOLED()
basic.forever(function () {
if (bmduino.statusFromPIR()) {
bmduino.writeStringPlaceOLED(3, 1, "Warning ")
} else {
bmduino.writeStringPlaceOLED(3, 1, "No warning")
}
basic.pause(1000)
})
Detecting smoke levels in the environment.
bmduino.initSmokeModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Value:")
basic.forever(function () {
bmduino.writeNumPlaceOLED(2, 2, bmduino.readSmokeValue(BMduinoSmokeType.WhiteSmoke))
if (bmduino.statusFromSmoke()) {
bmduino.writeStringPlaceOLED(3, 1, "Warning ")
} else {
bmduino.writeStringPlaceOLED(3, 1, "No warning")
}
basic.pause(1000)
})
Detecting the CO2 value of the environment(uint:ppm). Note:Preheat for 80 seconds after power on.
bmduino.initCO2Module(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
while (bmduino.preheatingNotCompletedOfCO2()) {
bmduino.writeStringPlaceOLED(1, 1, "Preheating")
basic.pause(1000)
}
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(2, 1, "CO2(ppm):")
basic.forever(function () {
bmduino.writeNumPlaceOLED(3, 2, bmduino.readCO2())
basic.pause(1000)
})
Detecting dust levels in the environment(uint:ug/m3). Note:Preheat for 30 seconds after power on.
bmduino.initLaserDustModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
while (bmduino.preheatingNotCompletedOfLaserDust()) {
bmduino.writeStringPlaceOLED(1, 1, "Preheating")
basic.pause(1000)
}
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(2, 1, "PM2.5:")
bmduino.writeStringPlaceOLED(4, 6, "ug/m3")
basic.forever(function () {
bmduino.writeNumPlaceOLED(3, 2, bmduino.readPM(BMduinoPMType.PM2p5))
basic.pause(1000)
})
Obtain soil temperature(uint:℃) and humidity(uint:%RH) values.
bmduino.initSoilModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Temp:")
bmduino.writeStringPlaceOLED(3, 1, "Humi:")
basic.forever(function () {
bmduino.writeStringPlaceOLED(2, 8, "'C")
bmduino.writeNumPlaceOLED(2, 2, bmduino.readTemperatureFromSoil(1))
bmduino.writeStringPlaceOLED(4, 8, "%RH")
bmduino.writeNumPlaceOLED(4, 2, bmduino.readMoistureFromSoil(1))
basic.pause(1000)
})
Obtain TDS(ppm) and temperature(℃) values of the liquid.
bmduino.initTDSModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Temp:")
bmduino.writeStringPlaceOLED(3, 1, "TDS:")
basic.forever(function () {
bmduino.writeStringPlaceOLED(2, 8, "'C")
bmduino.writeNumPlaceOLED(2, 2, bmduino.readTemperatureFromTDS(BMduinoTDSChannel.Channel1))
bmduino.writeStringPlaceOLED(4, 8, "ppm")
bmduino.writeNumPlaceOLED(4, 2, bmduino.readTDS(BMduinoTDSChannel.Channel1))
basic.pause(1000)
})
By using the principle of infrared temperature measurement, obtain temperature (human body temperature, object surface temperature, ambient temperature).
bmduino.initIRThermometryModule()
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.writeStringPlaceOLED(1, 1, "Temp:")
basic.forever(function () {
bmduino.writeStringPlaceOLED(2, 8, "'C")
bmduino.writeNumPlaceOLED(2, 2, bmduino.readTemperatureFromIRThermometry(BMduinoTemperatureObject.BodyTemperature))
})
Read blood oxygen(uint:%), heart rate(uint:BPM), and perfusion index(%) values.
bmduino.initOximeterModule(BMduinoUARTChannel.UART2)
bmduino.initOLEDModule(128, 64)
bmduino.clearDisplayOLED()
bmduino.beginMeasureOximeter()
basic.forever(function () {
if (bmduino.requestInfoFromOximeter() == 1) {
bmduino.clearDisplayOLED()
bmduino.writeStringOLED("Please put your finger")
}
if (bmduino.requestInfoFromOximeter() == 2) {
bmduino.clearDisplayOLED()
bmduino.writeStringOLED("Testing...")
}
if (bmduino.requestInfoFromOximeter() == 3) {
bmduino.writeStringPlaceOLED(1, 1, "SpO2:")
bmduino.writeStringPlaceOLED(2, 1, "HR:")
bmduino.writeStringPlaceOLED(3, 1, "PI:")
bmduino.writeStringPlaceOLED(1, 10, "%")
bmduino.writeNumPlaceOLED(1, 6, bmduino.readSpO2())
bmduino.writeStringPlaceOLED(2, 8, "BMP")
bmduino.writeNumPlaceOLED(2, 4, bmduino.readHeartRate())
bmduino.writeStringPlaceOLED(3, 10, "%")
bmduino.writeNumPlaceOLED(3, 4, bmduino.readPI())
}
basic.pause(500)
})
MIT
https://github.com/BestModules-Libraries/pxt-bmduino
bmduino=github:BestModules-Libraries/pxt-bmduino#v1.0.3