云教授物联网课程上_第1页
云教授物联网课程上_第2页
云教授物联网课程上_第3页
云教授物联网课程上_第4页
云教授物联网课程上_第5页
已阅读5页,还剩260页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

前云教授物联网制造套件(CPFIoTStarterKit)是一套结合硬件和的大的单一书籍中心,云端数据中心符合ANSITier4标准的数据中心,2001联网丰富的PC制造经验与云端服务经验,将科技思维结合人性需世界,循序渐进到硬件的创造,迈向智能生活的第一步,体验Plug,Play,注:本手册中所有图中出现地址为测试地址,实际应用以具体实验环第1课LED灯闪 第2课梦幻RGB 第3课智慧感光 第4课风 第5课泡面降温 第6课飞 第7课数字温度 第8课酒驾检测 第9课火警机器 第10课智能声控酷炫 第11课智能角控彩虹 第12课光控彩灯 第13课数字高温 第14课触控炫彩 第15课防火...............................................................................................................第16课智能 第17课智能花 第18课杆彩 第19课碰碰车控制 第20课智能鱼 第21课心情温度 第22课陀螺仪转向 第23课炫舞彩 第24课鱼池小助 教学基本信息1LED指导思想与理论依据教学背景分析分析:DIY开发实验手册,由于学生第二次接触云学生分析:已有知识:学生已学习、认 设计思路:环节一、创设情境、思考,揭示课题环节三、上机巩固,交流,创新拓展色共舞进一步体会BlocklyDuino编程流程。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:准备:BlocklyDuino编程。教学过程(文字描述)评价参考:项性高度性的作品反映独特的作品体现自己部分的作品反映了一几乎是了文字和颜色等细节处理非常清晰地表达出文字和颜色等细节处理能够表达作文字和颜色等细节处理部分地表达出作品以团队的形式并且一直互相努力完成自且大部分时间都会互相有时能够一起教学LEDLEDLED灯不停闪烁的绚丽课程代码解析:void { }void { //1 }教学基本信息指导思想与理论依据教学背景分析分析:DIY开发实验手册,由于学生第二次接触云学生分析:已有知识:学生已学习、认 设计思路:环节一、创设情境、思考,揭示课题环节三、上机巩固,交流,创新拓展一步加深对BlocklyDuino编程的认识和运用。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:准备:BlocklyDuino编程。教学过程(文字描述)图RGB台的操1根据课程中设定,上传成功后,LED评价参考:期望项疑分配不太合理,课后安排不充分,教学RGBLEDLED课程代码解析:#defineuint16unsignedint//intuint16int#defineuint32unsignedlongintlongintuint32代替longintvoidClkProduce_6(void){}void{for(i=0;i<32;i++){, //调用函数}}{uint8tmp=0; if((dat&0x80)==0){tmp|=0x02; 并把运算后得到的值赋给变量tmp}if((dat&0x40)=={tmp|=0x01; 并把运算后得到的值赋给变量tmp}return //返回变量tmp}//grayvoidDad_6(uint32{for(i=0;i<32;i++){if((dx&0x80000000)!=0) 0{, }{ }dx<<=1; //把dx进行左移1位运算,并将运算后的结果赋给dx //调用函数ClkProduce_6()}}//datavoidDataDealWithAndSend_6(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<< 03dx|=(uint32)TakeAntiCode(b)<<28;//bTakeAntiCode(),把返回值类型强制转换成uint32,再左移28位,然后与dx进行或运算,并将运算结果赋给dx|=(uint32)TakeAntiCode(g)<<26;//gTakeAntiCode(),把返回值类型强制转换成uint32,再左移26位,然后与dx进行或运算,并将运算结果赋给dx|=(uint32)TakeAntiCode(r)<<24;//rTakeAntiCode(),把返回值类型强制转换成uint32,再左移24位,然后与dx进行或运算,并将运算结果赋给dx|=(uint32)b<<16; 先把buint32,再左移16位,然后与dx做或运算,并将运算的结果赋给dxdx|=(uint32)g<< 先把guint32dx| //以dx作为实参来调用函数Da}void{ }void{ //调用函数Send32Zero_6()DataDealWithAndSend_6(255,0,0); 0,0)设置RGB灯颜色为红色 //暂停1秒DataDealWithAndSend_6(0,102, //调用函数102,0)RGBDataDealWithAndSend_6(0,0,153); //DataDealWithAndSend_6(0,0,153)设置RGB灯颜色为蓝色}教学基本信息3慧感光指导思想与理论依据教学背景分析分析:RGBLED灯组件,对于光学生分析:已有知Arduino开发板和扩展板以及RGB灯组件设计思路:环节一、创设情境、思考,揭示课题环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)图A0 RGB灯,让学生学习到了组件的使用,也让学生通过自己调试试验的方式尽学会实验运行的原理和学习目lightlight500必定小于500,则RGB灯依次按照红绿蓝三色闪烁。相反,当手移开的时候,RGB灯熄灭。如上图所示,我们可以通过输出区中的功能时刻检测光传感器获取light评价参考:项教学目标比较清教学内容前后知识描述比较准确,重分配与作业分配十分科学合理,练习、作业、助强化学生、理解分配较科学合理,设置辅导与答论安排基本符合教教学课程代码解析:#defineuint16unsignedint//intuint16int#defineuint32unsignedlongint//longintuint32代替longintvoidClkProduce_7(void)//定义无参无返回值函数{}void{for(i=0;i<32;i++){}}{if((dat&0x80)==0){后得到的值赋给变量tmp}if((dat&0x40)=={tmp|=}}//grayvoidDad_7(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操作后0{}{}}}//datavoidDataDealWithAndSend_7(uint8r,uint8g,uint8{uint32dx=然后与dx做或运算,并将运算结果赋给dxdx|uint32)TakeAntiCode(b)28guint328位,然后与dx做或运算,并将运算的结果赋给dxdx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<算,并将运算的结果赋给dxdx|=(uint32)g<<8;dx|=r;Dad_7(dx);//以dx作为实参来调用函数Da}void{}void{light= Serial.print("A0:");//打印信息A0:Serial.print("光感Serial.println(light);//打印light然后if(light<500)DataDealWithAndSend_7(255,0,0);//调用函数DataDealWithAndSend_7(255,0,0)设置RGB灯的颜色为红色DataDealWithAndSend_7(0,0,153蓝色}if(light>={DataDealWithAndSend_7(0,0,0);//黑色即不亮DataDealWithAndSend_7(0,0,0);DataDealWithAndSend_7(0,0,0);}}教学基本信息第4课风云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:设计思路:环节一、创设情境、思考,揭示课题环节三、上机巩固,交流,创新拓展实现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)编程原反如果LED灯的状态为LOW状态时,风扇停止转动。评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与业、安排基本符合教教学sensor的使用多有不理解,要求学生提前预习课程代码解析:Stringpower;String类型的变量void{}void{Serial.print("LED---:");//串口打印”LEDSerial.println(power);//打印power变量然后ifpowerHIGHpower变量是HIGH }if(power!= ogWrite(3,}}教学基本信息5面降温云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:设计思路:环节一、创设情境、思考,揭示课题环节三、上机巩固,交流,创新拓展实现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)作的能最大转速为255)项教学内容分教学内容前后知识点关教学内容前后知识点关分配与 业、安排基本符合教评价参考: 教学课程代码解析:void{}void{ if(tem>25){ }if(tem>23&&tem<={ogWrite(3,}if(tem>20&&tem<=23)}if(tem<=20) }}教学基本信息6云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:已有技能:通过之前的学习,学生已熟练掌握各个组件,Arduino开发板和设计思路:环节一、创设情境、思考,揭示课题环节二、组装组件,创建,演示操作环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)图时间手来操第四步们设定如果LED灯的状态为HIGH,那么RGB灯红绿依(间评价参考:项教学目标比较清楚、具教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:Stringpower;//一个String类型的变量powerintlight;//一个int类型的变量lightint#defineuint16unsignedint//intuint16int#defineuint32unsignedlongint//longintuint32代替longintvoidClkProduce_7(void)//定义无参无返回值函数{}void{for(i=0;i<32;i++){}}{if((dat&0x80)==0){运算后得到的值赋给变量tmp}if((dat&0x40)=={tmp|=}}//grayvoidDad_7(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{}{}}}//datavoidDataDealWithAndSend_7(uint8r,uint8g,uint8{uint32dx=//dx|uint32)TakeAntiCode(b)28guint328位,然后与dx做或运算,并将运算的结果赋给dxdx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<或运算,并将运算的结果赋给dxdx|=(uint32)g<<8;dx|=r; d_7(dx);//以dx作为实参来调用函数 }void{pinMode(7,OUTPUT);pinMode(8,OUTPUT);}void{="Serial.println(power);//powerSend32Zero_7();//Send32Zero_7()DataDealWithAndSend_7(0,0,0);//DataDealWithAndSend_7(0,0,0)设置RGB灯不亮ifpowerHIGHDataDealWithAndSend_7(0,255,0);//light= speedround((220light*0.2));//四舍五入求(220light*0.2)ogWrite(3,speed);//设置数字引脚3的 速为变量speed}if(power!={ogWrite(3,60);Send32Zero_7();//begin //sendtoupdatedataSend32Zero_7();//beginDataDealWithAndSend_7(255,0,0红色}}教学基本信息7字温度云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选择了学生分析:套件中的sensor有了的认识。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)图一个I2C当然,在我们功能菜单栏中的也可以同样实时将温度显示出来,评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#include<Wire.h>void{PORTB|=0x21; }void{ ; 教学基本信息8驾检测云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:BlocklyDuino的Sensor的认识有了初步的加深。所以现在选择了一些进一步拓宽对BlocklyDuino理解和认识的知识点作为进行设计、教学。在任务设计方面体现学生的学生分析:套件中的sensor有了的认识。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程的流程和特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:学生课件准备:课件。学生学习资料。硬件准备:云教授物联网智造套件、传感器教学过程(文字描述) 第四步:通过alcohol变量,我们设定,如果值大于等于100,说明空气中的值含量。此时,RGB灯亮红色,否则说明正常,RGB灯亮绿器来检多的DIY0.96alcohol的值显示出来,这样根据课程设定,如果究竟传感器获取到空气中的值小于100,则说明含量不,RGB灯亮绿色,如下图所示。相反,如果带有的记号笔放在传感器边上的时候,传评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:intalcohol; #defineuint8unsignedchar#defineuint16unsigned#defineuint32unsignedlongvoid{digitalWrite(5,LOW);//设置数字引脚5的 digitalWrite(5,HIGH);//设置数字引脚5的 }void{uint8{}}{uint8tmp=if((dat&0x80)=={tmp|=}if((dat&0x40)=={tmp|=}return}//grayvoidDad_5(uint32{uint8for(i=0;i<32;{if((dx&0x80000000)!={}{ }dx<<=}}//datavoidDataDealWithAndSend_5(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r;}void{ //5 }void{ for(intx=0;x<100;x++){}if(alcohol>={Send32Zero_5();//beginDataDealWithAndSend_5(255,0,0);// //sendtoupdatedata}elseSend32Zero_5();//beginDataDealWithAndSend_5(51,204,0);// nodedata //sendtoupdatedata}}教学基本信息9警机器云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:设计思路:环节一、创设情境、思考,揭示课题环节三、上机巩固,交流,创新拓展。学生实践编制场景程序。通过测试传感器的反应体会BlocklyDuino编程流程,通过实环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)变量flame火焰传感器获取到的值及变量flame的值通过0.96寸显示屏显示出来(注意火焰传感器获取到的值只有两个,01,1火焰,0代表有火焰)0RGB蜂鸣器打开。相反,如果flame的值为1,说明没有火焰,此时的区域进行探测与伙伴可以根据自己的需求利用它设计出不同的RGB灯亮红色,蜂鸣器打开进行。如下图所示:评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#include<Wire.h>int #defineuint8unsignedchar#defineuint16unsignedint#defineuint32unsignedlongintvoidClkProduce_5(void){}void{uint8for(i=0;i<32;{}}{{}{}}//grayvoidDad_5(uint32{uint8fori=0;i<32; //设置循{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{}{}dx<<=}}//datavoidDataDealWithAndSend_5(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r; }void{PORTB|=0x21;pinMode(5,OUTPUT);5为输出引脚pinMode(6,OUTPUT);6为输出引脚pinMode(8,OUTPUT);8为输出引脚}void{flame=if(flame==0)Send32Zero_5();//DataDealWithAndSend_5(255,0,0);// //sendtoupdatedata}elseif(flame=={Send32Zero_5();//beginDataDealWithAndSend_5(51,255,51);// nodedata //sendtoupdatedata}}教学基本信息10能云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选择了学生分析:套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)loudness获取到的值赋值给变量light量loudness和light的值DIY设备的灵(声控开关只有在晚上的时候听到声音才会打开灯,而白天不论多大200,此时我们再评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:intloudness;//变量loudnessintlight; //变量lightvoid{ //}void{loudness light=ogRead(A1); if(light<=200&&loudness>=50)digitalWrite(2,HIGH);//设置数字引脚2的 }else }}教学基本信息11能云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题解帮助学生理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)赋值给变量angle课程内低于150,则RGB灯亮红色让RGB灯显示不同的颜色,如下图所示评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学了学生的综合能力。让学生在操作流,在交流中思考,在思探索获取新知识,充分发挥学生的主体性和积极性。让学生加强思维锻炼,学会举一反三,需要的实际操作,课程代码解析:intangle;//变量#defineuint8unsignedchar#defineuint16unsignedvoid{digitalWrite(2,LOW);//设置数字引脚2的 }void{uint8{ }}{{}{}}//grayvoidDad_2(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{}{}dx<<=}}//datavoidDataDealWithAndSend_2(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r;}void{pinMode(2,OUTPUT);2为输出引脚pinMode(3,OUTPUT);3为输出引脚pinMode(3,OUTPUT);3为输出引脚}void{angle if(angle<={Send32Zero_2();//beginDataDealWithAndSend_2(255,0,0);// //sendtoupdatedataogWrite(3,}elseif(angle>150&&angle<={Send32Zero_2();//beginDataDealWithAndSend_2(204,102,0);// //sendtoupdatedata}elseif(angle>300&&angle<={Send32Zero_2();//beginDataDealWithAndSend_2(255,255,0);// //sendtoupdatedata}elseif(angle>450&&angle<={Send32Zero_2();//beginDataDealWithAndSend_2(0,102,0);// //sendtoupdatedataogWrite(3,}elseif(angle>600&&angle<={Send32Zero_2();//beginDataDealWithAndSend_2(51,255,51);//nodedata //sendtoupdatedata}elseif(angle>750&&angle<={Send32Zero_2();//beginDataDealWithAndSend_2(0,0,153);//nodedata //sendtoupdatedataogWrite(3,}elseSend32Zero_2();//DataDealWithAndSend_2(204,51,204);//nodedata //sendtoupdatedata}}教学基本信息12控彩灯云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:以较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选择学生分析:授套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)200,则彩灯打开,相反,如果光传感器获取到的值大于等于200,则彩灯熄灭。评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:voidsetup(){}void{ //根据路径打印if(light<200) }elseif(light>=200) }}教学基本信息第13课数字高温云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:BlocklyDuinoSensor授套件中的硬件有了更深刻的认识,并且扩展熟悉了sensor。设计思路:环节一、创设情境、思考,揭示课题过讲解帮助学生理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展感器在不同条件下的反应,更进一步的了会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)时间程的学35当然,为了让我们的DIY设备更智能化,我们可以在里面加上风扇和RGB示temperutare的值评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#include#include int void{PORTB|=0x21;}void{ ; SeeedOled.putNumber(tem);//显得变量temif(tem>=35) }else}}教学基本信息14控炫彩云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:以熟练的使用云教授,对于BlocklyDuino的Sensor也有了的认识。所以选择了一些中学生分析:套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作化规律,进而进一步巩固学生对BlocklyDuino编程原理和编程逻辑的理解、掌握。环节三、上机巩固,交流,创新拓展环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)时间I2C触摸传感器只能插在扩展板的I2C接口上才能正常工作1.了解使用I2C触摸传感器以及其特殊的插口2.了解 OLED显3.综合件和I2C4.通过RGBLED灯,每触摸一个,对应的RGBLED灯亮起,并且所评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#include#include<Wire.h>inttouch; //一个整型变量touchi2ctouchsensortouchsensor; longpreviousMillis=0; longinterval=100; //一个长整型变量interval并赋初值100#defineuint8unsignedchar //重新定义变量名char,即用uint8代替char#defineuint16unsignedint //重新定义变量名int,即用uint16代替int#defineuint32unsignedlongint//重新定义变量名longint,即用uint32代替longintvoidClkProduce_7(void){ }} }void{uint8for(i=0;i<32;{, //调用函数}}{uint8tmp {tmp|=0x02; 给变量tmp}{tmp|=0x01; 给变量tmp}return //返回变量tmp}//grayvoid d_7(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{ }{ dx<<=1; //把dx进行左移1位运算,并将运算后的结果赋给dx //调用函数ClkProduce_7()}}//datavoidDataDealWithAndSend_7(uint8r,uint8g,uint8{uint32dx dx|=(uint32)0x03<<30; 30位,然后与dx做或运算,并将运算结果赋给dxuint3228dxdxuint3226dxdx或运算,并将运算的结果赋给dx运算,并将运算的结果赋给dxdx| //以dx作为实参来调用函数 }void{ }void{uint8for(i=0;i<32;{, }//grayvoidDad_8(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{, }{ }dx<<=1; //把dx进行左移1位运算,并将运算后的结果赋给dx //调用函数ClkProduce_8()}}//datavoidDataDealWithAndSend_8(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<<30; 30位,然后与dx做或运算,并将运算结果赋给dxuint3228dxdxuint3226dxdx或运算,并将运算的结果赋给dx运算,并将运算的结果赋给dxdx| //以dx作为实参来调用函数Da}void{ }void{uint8for(i=0;i<32;{, }}//grayvoidDad_4(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{ }{ }dx<<=1; //把dx进行左移1位运算,并将运算后的结果赋给dx //调用函数ClkProduce_4()}}//datavoidDataDealWithAndSend_4(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<<30; 30位,然后与dx做或运算,并将运算结果赋给dxuint3228dxdxuint3226dxdx或运算,并将运算的结果赋给dx运算,并将运算的结果赋给dxdx| //以dx作为实参来调用函数Da}void{ }void{uint8for(i=0;i<32;{, }}//grayvoidDad_5(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{, //设置数字引脚6为高电}{ }dx<<=1; //把dx进行左移1位运算,并将运算后的结果赋给dx //调用函数ClkProduce_5()}}//datavoidDataDealWithAndSend_5(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<<30; 30位,然后与dx做或运算,并将运算结果赋给dxuint3228dxdxuint3226dxdx或运算,并将运算的结果赋给dx运算,并将运算的结果赋给dxdx| //以dx作为实参来调用函数Da}void{ //初始化OLEDpinMode(7,OUTPUT); pinMode(8,OUTPUT); //初始化数字信号引脚8,使其为输出引脚;pinMode(9,OUTPUT); //初始化数字信号引脚9,使其为输出引脚;pinMode(4,OUTPUT); //初始化数字信号引脚4,使其为输出引脚;pinMode(5,OUTPUT); //初始化数字信号引脚5,使其为输出引脚;pinMode(6,OUTPUT); //初始化数字信号引脚6,使其为输出引脚;}void{intpin; //一个整形变量pin{previousMillis= //currentMillis}for(int{if //判断OLED上显示哪个子片{pin }}touch=pin; //设置OLED屏幕上x坐标为3,y坐标为5 //在OLED屏幕上打印touch: //设置OLED屏幕上打印变量touch的值if(touch==0){ DataDealWithAndSend_7(255,0,0PIN7RGBLEDDataDealWithAndSend_8(0,0,0PIN8RGBLEDDataDealWithAndSend_4(0,0,0PIN4RGBLEDDataDealWithAndSend_5(0,0,0PIN5RGBLED}elseif(touch==1){ DataDealWithAndSend_8(51,255,51PIN8RGBLEDDataDealWithAndSend_7(0,0,0PIN7RGBLEDDataDealWithAndSend_4(0,0,0PIN4RGBLEDDataDealWithAndSend_5(0,0,0PIN5RGBLED}elseif(touch==2){ DataDealWithAndSend_4(0,0,153PIN7RGBLEDDataDealWithAndSend_7(0,0,0PIN7RGBLEDDataDealWithAndSend_8(0,0,0PIN7RGBLEDDataDealWithAndSend_5(0,0,0PIN7RGBLED}elseif(touch==3){ DataDealWithAndSend_5(153,51,153PIN5RGBLEDDataDealWithAndSend_7(0,0,0PIN7RGBLEDDataDealWithAndSend_8(0,0,0PIN8RGBLEDDataDealWithAndSend_4(0,0,0PIN4RGBLED}else //PIN7RGBLED //PIN8RGBLED //PIN4RGBLEDDataDealWithAndSend_5(0,0,0PIN5RGBLED}}教学基本信息15云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:本课选自《云教授BlocklyDuino用户手册》,由于学生前面已经学习了14个,学生可以较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选学生分析:套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)时间程的学,RGB灯亮红色,风扇停止转动(此时风扇不能打开,打开会助该打开风扇让它将气体吹走,再者为了避免引起火灾,RGB等亮红色,扬声器发出和第四步不一样提醒主人。除此之外,RGB灯亮绿色,扬根据课程中的设定,当检测到周围易燃气体时,风扇开始转动,RGB评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#include<Wire.h>#defineuint8unsignedchar#defineuint16unsignedint#defineuint32unsignedlongintvoidClkProduce_2(void){digitalWrite(2,HIGH);}void{uint8for(i=0;i<32;{}}{{}{}}//grayvoidDad_2(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{ }{}dx<<=}}//datavoidDataDealWithAndSend_2(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r; }void{PORTB|=0x21;}void{firegas=ogRead(A0)*5/1023*4.95;flame=digitalRead(1);delay(1000);//设置暂停时间if(flame==1){Send32Zero_2();//beginDataDealWithAndSend_2(255,0,0);// //sendtoupdatedatafor(int{}}if(firegas>={Send32Zero_2();//beginDataDealWithAndSend_2(255,0,0);// //sendtoupdatedatafor(int{}}elseSend32Zero_2();//beginDataDealWithAndSend_2(51,204,0);//nodedata //sendtoupdatedatafor(int{}}}教学基本信息第16课智能云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:授套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:传感器、RGBLED教学过程(文字描述)时间0(即检测到有火焰90RGBLED灯呈红色,蜂鸣器打开,RGBLED第六步:如果再加一块电压传感器,这个DIY设备就可以检测到,第七步:设定如果电压传感获取的值大于等于500,则说明有,此时RGBLED灯呈红色,且蜂鸣器打开,开始,相反,则RGB大于等于700,湿度大于等于100以及电压传感器感受到,也会评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#includeintflameVal; //一个全局变量flameValintwaterval; //一个全局变量watervalintpiezo; //一个全局变量piezofloattempval; inthumval; //一个全局变量humvalDHT #defineuint8unsignedchar//重新定义变量名charuint8char#defineuint16unsignedint//重新定义变量名intuint16intvoid{}void{uint8for(i=0;i<32;{}}{uint8tmp= ifdat&0x80) //判断dat和十六进制的80进行与运算后值是否为{}ifdat&0x40) //判断dat和十六进制的40进行与运算后值是否为{}return //返回tmp}//grayvoidDad_3(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0dx80000000的值进行与0{, }{ }dx<<=1; }}//datavoidDataDealWithAndSend_3(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<<30;//03uint32,再左移30位,然后与dx做或运算,并将运算结果赋给dxdx|uint32)TakeAntiCode(b28;以bTakeAntiCode(),把返回值类型强制转换成uint32,再左移28位,然后与dx进行或运算,并将运算结果赋给dx|uint32)TakeAntiCode(g26;以bTakeAntiCode(),把返回值类型强制转换成uint32,再左移26位,然后与dx进行或运算,并将运算结果赋给回值类型强制转换成uint32,再左移24位,然后与dx进行或运算,并将运算结果赋给dx|=(uint32)b<<16;//先把buint3216位,然后与dx做或运算,并将运算的结果赋给dxdx|uint32)g //dx| //以dx作为实参来调用函数Da}void{pinMode(2,INPUT); //初始化数字信号引脚2,使其为输入引脚;pinMode(A1,INPUT); //设置串口波特率为9600kbpspinMode(3,OUTPUT); //初始化数字信号引脚3,使其为输出引脚;pinMode(4,OUTPUT); //初始化数字信号引脚4,使其为输出引脚; }void{flameVal=digitalRead(2); //将检测到的火焰值赋给变量flameValwaterval= //将检测到的水位高度值赋给变量watervalpiezo= 将检测到的电压值赋给变量piezotempval=dht.readTemperature();//把温湿度传感器检测到的温度值赋给tempvalhumval=dht.readHumidity();//把温湿度传感器检测到的湿度值赋给变量humval //串口打印water: //串口换行打印变量waterval //串口打印 //串口换行打印变量piezo的值 //串口打印temp: //串口打印hum: //串口换行打印变量humval DataDealWithAndSend_3(255,0,0RGBLED }else }ifwaterval700&&humval100700且湿度值大于等于100是否同时成立}else}if(piezo>=500){//判断电压值是否大于等于500}else}}教学基本信息17能云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:本课选自《云教授BlocklyDuino用户手册》,由于学生前面已经学习了16个,学生可以较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选学生分析:套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题化规律,进而进一步巩固学生对BlocklyDuino编程原理和编程逻辑的理解、掌握。环节三、上机巩固,交流,创新拓展环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)这种方习的DIY智RGBLED100RGBLEDLED200,则LED200,则LED将所有的传感器根据设定连接到开发板上(将继电器开关连接到PIN脚4,LED灯连接到PIN脚5)转;当温度介于30和37之间时,迷你风扇会以100的转速旋转;其他温2、当土壤湿度传感器检测到土壤湿度小于100时,继电器将连通(打开水阀进行浇水)RGBLED灯红蓝交替闪烁;当土壤湿度介于100600之间时,RGBLED灯显示红色;当水为值大于600时,继电器断开,RGBLED灯3、当光感传感器检测到光感值小于200时,LED灯亮;其他光感值时LED灯项标要求、学科特点和学生教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与 业、安排基本符合教评价参考: 教学课程代码解析:floattempval; intwaterval; //一个变量watervalintlightval; //一个变量lightval#defineuint8unsignedchar //重新定义变量名char,即用uint8代替char#defineuint16unsignedint //重新定义变量名int,即用uint16代替int#defineuint32unsignedlongint//重新定义变量名longint,即用uint32代替longintvoidClkProduce_6(void){ }void{uint8for(i=0;i<32;{, //调用函数}}{uint8tmp= {tmp|0x02;tmp02}{}return //返回变量tmp}//grayvoidDad_6(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{ }{ }dx<<= //调用函数}}//datavoidDataDealWithAndSend_6(uint8r,uint8g,uint8{uint32dx= dx|=(uint32)0x03<< 03dx|uint32)TakeAntiCode(b28;//bTakeAntiCode(),把返回值类型强制转换成uint3228dx进行或运算,并将运算结果赋给dxdx|=(uint32)TakeAntiCode(g)<<26;//gTakeAntiCode(),把返dx|uint32)TakeAntiCode(r24;//rTakeAntiCode(),把返回dx|=(uint32)b<<16; 先把buint32,再左移16位,然后与dx做或运算,并将运算的结果赋给dxdx|uint32)g //dx|=r; 后的结果赋给dx //以dx作为实参来调用函数Da}void{ pinMode(4,OUTPUT); //初始化数字信号引脚4,使其为输出引脚;pinMode(6,OUTPUT); //初始化数字信号引脚6,使其为输出引脚;pinMode(7,OUTPUT); //初始化数字信号引脚7,使其为输出引脚; }void{ ;waterval= 湿度赋给变量watervallightval= 变量lightval //串口打印water //串口换行打印waterval的值 //延迟1秒 //串口打印temp //串口换行打印tempval的值 //延迟1秒if(tempval>37){ //判断温度值是否大于37ogWrite(3,255); elseiftempval30&&tempval37)3037 }else }if(waterval<100){ //判断土壤湿度值是否小于100 //设置数字引脚4为高电平,即继电器指示灯亮DataDealWithAndSend_6(255,0,0RGBLED DataDealWithAndSend_6(51,102,255RGBLED }elseif(waterval>=100&&waterval<600){ }elseif(waterval>=600){ //判断土壤湿度值是否大于等于600 //设置数字引脚4为低电平,即RGBLED灯状态为关DataDealWithAndSend_6(51,255,51RGBLED}, }else, }}教学基本信息第18课杆彩云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:学生分析:授套件中的硬件有了更深刻的认识,并且扩展熟悉了的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)时间 给变量action程的学第三步:我们设定,如果变量action的值大于等于600,则LED彩灯亮,如果小于300,则RGB灯红绿交替一秒钟闪烁,否则,LED彩灯不亮,RGB灯时RGB灯会亮灭不定)评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:intaction;//变#defineuint8unsignedchar#defineuint16unsignedint#defineuint32unsignedlongintvoidClkProduce_3(void){digitalWrite(3,LOW);//设置数字引脚1的 }void{uint8for(i=0;i<32;{}}{{}{}}//grayvoidDad_3(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{}{}dx<<=}}//datavoidDataDealWithAndSend_3(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r; }void{}void{if(action>=500)digitalWrite(5,HIGH);//设置数字引脚5的信号为1,即高电平,此时}elseif(action<={Send32Zero_3();//beginDataDealWithAndSend_3(0,255,0);//nodedata //sendtoupdatedataSend32Zero_3();//beginDataDealWithAndSend_3(255,0,0);// //sendtoupdatedata}elsedigitalWrite(5,LOW);Send32Zero_3();//beginDataDealWithAndSend_3(51,0,51);// //sendtoupdatedata}}教学基本信息19碰车控云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:本课选自《云教授BlocklyDuino用户手册》,由于学生前面已经学习了18个,学生可以较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选学生分析:套件中的硬件有了更深刻的认识,有拓展认识并能熟练使用的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作规律,进而通过讲解帮助学生理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述)口上面time,如下图所示:变量collision下图所示:等于60000毫秒的话,那么蜂鸣器和LED彩灯都关闭,RGB灯亮紫色。除此程的学评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:#includeinttime;//时间变#defineuint8unsignedchar#defineuint16unsignedint#defineuint32unsignedlongintvoidClkProduce_5(void){digitalWrite(5,LOW);digitalWrite(5,HIGH);}void{uint8for(i=0;i<32;{digitalWrite(6,LOW);//设置数字引脚6的 }}{{}{}}//grayvoidDad_5(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操0{}{}dx<<=}}//datavoidDataDealWithAndSend_5(uint8r,uint8g,uint8{uint32dx=dx|=(uint32)0x03<<30; //highesttwobits1,flagbitsdx|=(uint32)TakeAntiCode(b)<<28;dx|=(uint32)TakeAntiCode(g)<<26;dx|=(uint32)TakeAntiCode(r)<<dx|=(uint32)b<<16;dx|=(uint32)g<<8;dx|=r; }void{Serial.begin(96009600pinMode(1,INPUT);//初始化数字引脚1为输入引脚}void{intfn=QTouch.touchNum();longtime1=millis();time=millis()-time1;if(collision==0&&time<={digitalWrite(8,LOW); DataDealWithAndSend_5(204,51,204); //sendtoupdatedatadigitalWrite(2,LOW);}else //DataDealWithAndSend_5(51,204,0); //sendtoupdatedata}}教学基本信息20能云教授BlocklyDuino用户手指导思想与理论依据教学背景分析分析:本课选自《云教授BlocklyDuino用户手册》,由于学生前面已经学习了19个,学生可以较为熟练的使用云教授,对于BlocklyDuino的Sensor也有了更深一步的认识。所以选学生分析:套件中的硬件有了更深刻的认识,有拓展认识并能熟练使用的sensor。设计思路:环节一、创设情境、思考,揭示课题环节二、组装硬件,创建,演示操作规律,进而通过讲解帮助学生理解BlocklyDuino编程原理及编程逻辑。环节三、上机巩固,交流,创新拓展现多个传感器在不同条件下的反应进一步体会BlocklyDuino编程流程及特点。环节四、总结归纳,梳理思考,课后延伸。教学目标:教学重点:教学难点:教学方法:教学准备:教学过程(文字描述) 让小工作过通过第四步:设定如果光强度小于200,说明周围比较 则LED灯打开,增加光强度,如下图所示:发挥主想象的DIY智增强提高小伙伴组合搭配实验的能力,通过的传感器和输入输出组件做出更加复杂的150RGB亮红色,继电器开关打开,自动为鱼缸添水,当水位值变成70-120之间的任意值时,说明水位刚好合适,此时RGB灯亮绿色,继电器开关,除此之外,设定让RGB灯交替一秒钟红绿闪烁。如下图所示:当水位传感器检测到水位值大于等于150时,继电器开关会连通(给鱼缸加水)且RGB灯会呈红色;当水位传感器检测到的值介于70和150之间时,继电器开关会断开且RGB灯会呈绿色;其他水位值的时候RGB灯呈红绿评价参考:项教学目标比较清楚、具教学内容分教学内容前后知识点关教学内容前后知识点关分配与教学课程代码解析:inttemp; intwater; //一个全局变量waterint //添加水温传感器,其数字引脚为float #defineuint16unsignedint//intuint16int#defineuint32unsignedlongint//longintuint32代替longintvoidClkProduce_3(void){}void{uint8for(i=0;i<32;{}}{uint8tmp= ifdat&0x80) //判断dat和十六进制的80进行与运算后值是否为{}ifdat&0x40) //判断dat和十六进制的40进行与运算后值是否为{}return //返回变量tmp}//grayvoidDad_3(uint32{uint8for(i=0;i<32;{ifdx&0x80000000)0)判断形参dx的值和十六进制的80000000的值进行与操作后0{, }{ }dx //调用函数}}//datavoidDataDealWithAndSend_3(uint8r,uint8g,uint8{uint32dx=0; dx|=(uint32)0x03<<30;03uint3230dx做或运算,并将运算结果赋给dxdx|=(uint32)TakeAntiCode(b)<<28;//b为实参调用函数TakeAntiCode(),把返回dx|=(uint32)TakeAntiCode(g)<<26;//b为实参调用函数TakeAntiCode(),把返回dx|=(uint32)TakeAntiCode(r)<<24;//b为实参调用函数TakeAntiCode(),把返回dx|=(uint32)b<<16; 先把buint3216dx做或运算,并将运算的结果赋给dxdx|=(uint32)g<<8; 或运算,并将运算的结果赋给dxdx| //以dx作为实参来调用函数Da}void{pinMode(A0,INPUT); //设置串口波特率为9600kbpspinMode(7,OUTPUT); pinMode(5,OUTPUT); //初始化数字信号引脚5,使其为输出引脚;pinMode(3,OUTPUT); //初始化数字信号引脚3,使其为输出引脚;pinMode(4,OUTPUT); //初始化数字信号引脚4,使其为输出引脚; }void{byte //一个变量present,并赋初值byte byte byte floatowt_celsius; }else{if(OneWire::crc8(owt_addr,7)==owt_addr[7]){ds.reset(); if(owt_addr[0]==0x10)//判断数组第一个元素的值是否与十六进制10的值present=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论