micro:bit——第二集:溫控與風扇
阿新 • • 發佈:2020-07-04
let average = 0 let sum = 0 let min = 0 let max = 0 let line = 0 let 轉速 = 0 let 溫度 = 0 input.onButtonPressed(Button.A, function () { basic.pause(2000) OLED12864_I2C.showNumber(0, line, line * 2) OLED12864_I2C.showString(2, line, "sec") OLED12864_I2C.showNumber(7, line, 溫度) OLED12864_I2C.showNumber(11, line, 轉速) line += 1 sum = 溫度 max = 溫度 min = 溫度 for (let i = 0; i < 4; i++) { basic.pause(2000) OLED12864_I2C.showNumber(0, line, line * 2) OLED12864_I2C.showString(2, line, "sec") OLED12864_I2C.showNumber(7, line, 溫度) OLED12864_I2C.showNumber(11, line, 轉速) line += 1 sum = sum + 溫度 if (溫度 >= max) { max = 溫度 } if (溫度 <= min) { min = 溫度 } } average = Math.floor(sum / 5) OLED12864_I2C.showString(0, line, "max") OLED12864_I2C.showNumber(5, line, max) OLED12864_I2C.showString(8, line, "min") OLED12864_I2C.showNumber(11, line, min) OLED12864_I2C.showString(0, line + 1, "average") OLED12864_I2C.showNumber(9, line + 1, average) }) input.onButtonPressed(Button.B, function () { OLED12864_I2C.init() line = 1 max = 0 min = 99 sum = 0 average = 0 OLED12864_I2C.showString(0, 0, "start") OLED12864_I2C.showString(7, 0, "tem") OLED12864_I2C.showString(11, 0, "speed") }) OLED12864_I2C.init() line = 1 max = 0 min = 99 sum = 0 average = 0 OLED12864_I2C.showString(0, 0, "start") OLED12864_I2C.showString(7, 0, "tem") OLED12864_I2C.showString(11, 0, "speed") basic.forever(function () { 溫度 = input.temperature() 轉速 = 溫度 * 5 pins.analogWritePin(AnalogPin.P1, 轉速) })
今天給大家介紹microbit的溫控與風扇,要求是
1.每兩秒測一次溫度,十秒內測5次
2.風扇轉速按溫度改變而改變
3.計算每兩秒的溫度平均值,十秒的最大值,最小值
上面是Javascript的原始碼,大家可以到源軟體裡去轉換成塊狀的看哦~
(溫馨提示:本次用的網站是ide.ithingedu.com,不是原來的!!!)