c7平台官网:Micro:bit创意课程系列:让micro:bit来报数

本文摘要:micro:bit没网络功能,但具备群组广播的功能,如能讲求这个功能,也可以老大每一个手头享有的micro:bit传输速率。

micro:bit没网络功能,但具备群组广播的功能,如能讲求这个功能,也可以老大每一个手头享有的micro:bit传输速率。今日的micro:bit专案乃是让micro:bit来报数。再行指定一个micro:bit当成是服务器,其他的micro:bit开机后按A键,之后能向控制器端的micro:bit登记,再行由控制器末端micro:bit等价一个流水编号传输给client端的micro:bit之后已完成了传输速率的动作。控制器端的micro:bit按A键可以让client的micro:bit从1开始报数,按B可以让client的micro:bit倒数报数。

若clinet端的某几个micro:bit开动了或是拆掉了,控制器端的micro:bit可以按A+B键,让只剩的micro:bit新的获得编号来传输速率。让micro:bit传输速率有什么益处?需要传输速率让我们可以一对多的掌控所有的micro:bit,一起组合成某种大型的LED图案或是动画,或是clinet端装上拓展板,控制器末端就能掌控某个client的马达行进或前进,或是已完成更加多群组简化的机器人动作。client端的板子不会呈现出自己的流水编号,控制器端的板子则不会呈现出现在不受掌控的板子数量编号传输速率过的micro:bit可程序呈现出人组后的动画,或是可不受控制器端的micro:bit掌控micro:bit报数程控方式client末端:按A键会向服务器micro:bit获得自己的编号控制器末端:1.按A键会从1开始报数2.按B键会倒数报数3.A+B键会新的原作micro:bit的client端的编号(有必须时才不会中用)4.按P0脚位不会呈现出非常简单动画:不会经常出现向右的箭头由1号仍然传送到最后一号5.按P2脚位不会呈现出非常简单动画:不会经常出现向左的箭头由最后一号传送到1号程序内容:以javascrip的语法呈现出,控制器末端程序如下:letshow=0letcountBits=0letmyBits:string[]=[]letbitsTemp:string[]=[]lettemp=0input.onButtonPressed(Button.A,()=>{radio.sendValue("clear",0)basic.pause(1)temp=0show=1radio.sendValue("count",0)})radio.onDataPacketReceived(({receivedString:name,receivedNumber:bitValue})=>{if(bitValue==-1){myBits.push(name)radio.sendValue(name,countBits)countBits+=1if(temp==0){basic.showNumber(countBits)}}if(name=="getShow"){radio.sendValue("show",show)}})input.onButtonPressed(Button.AB,()=>{temp=1bitsTemp=[]countBits=0basic.showNumber(countBits)show=0bitsTemp=myBitsmyBits=[]radio.sendValue("reset",-1)basic.pause(1)radio.sendValue("show",show)basic.pause(1)for(letindex=0;index<=bitsTemp.length-1;index++){radio.sendValue("response",parseInt(bitsTemp[index]))basic.pause(1)}basic.showNumber(countBits)show=1radio.sendValue("show",show)basic.pause(1)temp=0})input.onPinPressed(TouchPin.P0,()=>{radio.sendValue("clear",0)basic.pause(200)radio.sendValue("arrowR",0)})input.onPinPressed(TouchPin.P2,()=>{radio.sendValue("clear",0)basic.pause(200)radio.sendValue("arrowL",countBits-1)})input.onButtonPressed(Button.B,()=>{radio.sendValue("clear",0)basic.pause(1)temp=0show=1radio.sendValue("countDown",countBits-1)})basic.showLeds(`#########################`)radio.setGroup(1)show=0countBits=0temp=0client端的程序如下:letmyIndex=0letshow=falseinput.onButtonPressed(Button.A,()=>{radio.sendValue("getShow",0)basic.pause(50)radio.sendValue(""+control.deviceSerialNumber(),myIndex)})radio.onDataPacketReceived(({receivedString:name,receivedNumber:value})=>{if(name=="count"&&value==myIndex){show=truebasic.pause(300)radio.sendValue("count",value+1)showMyNum()}if(name=="countDown"&&value==myIndex){show=truebasic.pause(300)if(myIndex>0){radio.sendValue("countDown",value-1)}showMyNum()}if(name==""+control.deviceSerialNumber()){myIndex=valueshowMyNum()}if(name=="show"){show=value==1showMyNum()}if(name=="response"&&value==control.deviceSerialNumber()){radio.sendValue(""+control.deviceSerialNumber(),myIndex)}if(name=="reset"){myIndex=valueshowMyNum()}if(name=="clear"){basic.clearScreen()}if(name=="arrowR"&&value==myIndex){basic.showArrow(ArrowNames.East)radio.sendValue("arrowR",value+1)basic.clearScreen()}if(name=="arrowL"&&value==myIndex){basic.showArrow(ArrowNames.West)if(myIndex>0){radio.sendValue("arrowL",value-1)}basic.clearScreen()}})functionshowMyNum(){if(myIndex<0){basic.showString("?")}else{if(show){basic.showNumber(myIndex+1)}else{basic.showIcon(IconNames.Triangle)}}}basic.showString("?")radio.setGroup(1)myIndex=-1show=falseradio.sendValue("getShow",0)将上面的javascript程序代码贴到makecode网站上之后不会以积木的方式呈现出。


本文关键词:c7平台官网,C7加拿大平台官网

本文来源:c7平台官网-www.unclemaks.com