基于Arduino的机器人校本课程教学首都师范大学律原一、中、小学生的认知特点皮亚杰的认知发展阶段论1.感知运算阶段(0-2岁)2.前运算阶段(2-7岁)3.具体运算阶段(7-11岁)4.形式运算阶段(11-16岁)一、机器人教学分段1-2年级:机器人的搭建,以物理结构为主。适用器材:乐高wedo2.0一、机器人教学分段3-4年级:传感器的简单使用,图形化编程界面适用器材:乐高EV3,Arduino系列一、机器人教学分段图型化编程界面一、机器人教学分段图型化编程界面一、机器人教学分段五年级以上程序与图形化结合ArduinoIDE二、机器人的教学内容机器人的相关历史机器人的结构机器人常用的传感器机器人编程初步利用机器人完成初步的综合任务三、机器人课程对学生的益处综合运用学生各种知识提高学生的逻辑思维能力培养学生良好的习惯培养学生的协作精神四、机器人课程讲解要点需要有整体规划(目标、课时、器材)小步走、勤巩固注意软件和硬件的结合组织教学与控制课堂的能力机器人相关准备知识机器人的起源1920年捷克斯洛伐克作家卡雷尔·恰佩克在他的科幻小说《罗萨姆的机器人万能公司》中,根据Robota(捷克文,原意为“劳役、苦工”)和Robotnik(波兰文,原意为“工人”),创造出“机器人”这个词。机器人定义联合国标准化组织给机器人下的定义:“一种可编程和多功能的,用来搬运材料、零件、工具的机器;或是为了执行不同的任务而具有可改变和可编程动作的专门系统。”(美国机器人协会)机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。机器人定义一种机器装置具有一定的形态与智能按照人的要求完成某些工作机器人的组成执行机构驱动装置检测装置控制系统机器人机器人的组成机器人技术发展史英格伯格和德沃尔制造的工业机器人是第一代机器人,属于示教再现型,即人手把着机械手,把应当完成的任务做一遍,或者人用“示教控制盒”发出指令,让机器人的机械手臂运动,一步步完成它应当完成的各个动作。20世纪70年代,第二代机器人开始有了较大发展,第二代则具备了感觉能力,进入了对外界环境实用阶段,并开始普及。机器人技术发展史第二代是有感觉的机器人:它们对外界环境有一定感知能力,并具有听觉、视觉、触觉等功能。机器人工作时,根据感觉器官(传感器)获得的信息,灵活调整自己的工作状态,保证在适应环境的情况下完成工作。如:有触觉的机械手可轻松自如地抓取鸡蛋,具有嗅觉的机器人能分辨出不同饮料和酒类。机器人技术发展史第三代机器人是智能机器人,它不仅具有感觉能力,而且还具有独立判断和行动的能力,并具有记忆、推理和决策的能力,因而能够完成更加复杂的动作。中央电脑控制手臂和行走装置,使机器人的手完成作业,脚完成移动,机器人能够用自然语言与人对话。智能机器人的“智能”特征就在于它具有与外部世界——对象、环境和人相适应、相协调的工作机能。从控制方式看,智能机器人不同于工业机器人的“示教、再现”,不同于遥控机器人的“主—从操纵”,而是以一种“认知—适应”的方式自律地进行操作。智能机器人在发生故障时,通过自我诊断装置能自我诊断出故障部位,并能自我修复。今天,智能机器人的应用范围大大地扩展了,除工农业生产外,机器人应用到各行各业,机器人已具备了人类的特点。机器人向着智能化、拟人化方向发展的道路,是没有止境的。7000米的载人深海潜水机器—蛟龙号四、机器人课程讲解要点需要有整体规划(目标、课时、器材)小步走、勤巩固注意软件和硬件的结合组织教学与控制课堂的能力Arduino概述机器人机器人是一种具有高度灵活性的自动化机器,而且其具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力。电影中的各种机器人形象生活中的各种智能机器人机器人的构成部分头—主控制器眼睛、耳朵等—传感器手脚-驱动和执行器Arduino是什么Arduino是一个基于开放源码的软硬件平台,具有使用类似Java、C语言的开发环境,再加上价格低廉,Arduino风靡全球各地,吸引了许多电子爱好者开发使用。Arduino的基本特征1跨平台2经济性3可扩展性4开源性5可移植性常见的Arduino控制板LilyPadMicroUNOMega2560Iduino-1型控制板一、ArduinoIDE的下载和安装(米思奇)二、USB驱动的安装(官板,驱动自动安装)三、正确选择板卡型号(2560)和串口(除了COM1以外的那个COM口)四、运行米思奇或ArduinoIDEArduino机器人操作步骤二、ArduinoIDE的下载和安装ArduinoIDE是Arduino的编程环境,可在Arduino官网()下载,现下载后不用安装解压后可以直接使用。文本式编程环境和积木式编程环境。二、USB驱动的安装二、USB驱动的安装我们选择“浏览计算机以查找驱动程序软件”二、USB驱动的安装找到电脑中Arduino的驱动文件夹“drivers”所在位置二、USB驱动的安装二、USB驱动的安装三、正确选择板卡型号和串口四、运行ArduinoIDE课堂总结1.认识了机器人2.了解了Iduino-1控制器3.学会了设置软件和驱动程序4.上传程序布置作业1、了解Arduino机器人可以制作哪些机器人项目。2、自学米思奇的编程环境。闪烁LEDLEDLED(LightEmittingDiode,发光二极管)是一种能够将电能转化为可见光的固态的半导体器件。LED发光模块它将LED二极管焊在可爱的PCB板上,引出了三根针脚。蓝色、红色、绿色等。LED与Arduino的连接红线:VCC(红色针脚)黑线:GND(黑色针脚)绿色:D(绿色针脚)提示:数字口0和1用于通信,不能接。模拟交通灯红灯亮A秒之后灭掉,绿灯亮B秒之后灭掉,黄灯亮C秒之后灭掉,以此类推。课堂总结1.认识和掌握了LED发光模块的使用。2.熟悉了ArduBlock编程环境。3.能够制作闪烁LED。布置作业1完善交通灯。2了解流水灯并实现。按钮控制LED什么是按钮?按钮,也称为按键,是一种常用的控制电器元件,常用来接通或断开“控制电路‘(其中电流很小),从而达到控制电动机或其他电气设备运行目的的一种开关。按钮按下放开按钮与Arduino控制器的连接按钮与LED发光模块一样,也有三个针脚,接Arduino控制器的数字口。黑线接GND,红线接VCC,绿线接D。如何把按钮的状态传递给Arduino呢?按钮状态的读取:此模块可读取数字口的电平高低按下高电平1true放开低电平0false初步尝试按钮控制LED根据按钮的两种状态,设置最简单的一种按钮控制LED,即按下开,放开关。进一步探究按钮控制LED1)走廊里的灯,亮了之后过一会自动关闭2)中国地质大学学生发明了投币式台灯,当硬币投入台灯下的储蓄罐中时,台灯便可开始照明,半小时后,灯自动熄灭。进一步探究按钮控制LED这些例子有一个共同点:灯打开之后,延时自动关语言描述:如果按下按钮,LED开,延时一段时间,LED自动关闭。进一步探究按钮控制LED那么如何判断按钮是否按下?需要选择结构真(1)课堂总结1.认识和掌握了按钮的使用。2.掌握了数字口的输入。3.能够正确使用选择结构。布置作业1)思考按钮控制LED还有哪些情况?2)思考还可以通过哪些方式控制LED的亮灭?聪明的按钮1)按钮按下LED亮,放开LED灭2)按钮按下LED亮,延时一段时间LED灭上节回顾聪明的按钮按钮按下LED亮,按钮再按下LED灭。按钮控制LED灯如何根据按钮按下的次数决定灯是亮还是灭呢?【提示】首先判断按钮是否按下,如果按下改变LED状态,这时我们需要用到变量,作为按钮状态与LED状态的桥梁。变量变量:指在程序中用来代表数据的字符,这些字符的值是可以变化的,其中变量有多种类型,如数字变量、模拟变量、字符串变量、字符变量等等。数字变量的值为0或者1(高电平或者低电平),而模拟变量的值为任意整数。数字变量总结:所以我们可以用数字变量和模拟变量来记录按钮按下的次数,变量的值决定LED的亮或灭,这节课我们先来学习数字变量。按钮状态数字变量LED按下HIHG(1)亮再按下LOW(0)灭变量如何根据按钮按下的状态,改变数字变量的值呢?非运算符。非运算符:就是取与表达式相反的值。如果变量值为0,则非k为1;如果为1,则非k为0。变量问题:按钮按下LED不稳定。解释:抖动。【按钮抖动会导致一次按键被误读为多次按键,为了使系统对按钮的一次闭合仅作一次处理,必须对按钮进行去抖动处理。】处理:延时消抖。课堂总结1.进一步掌握了按钮的使用2.掌握了变量和非运算符。3.理解了按钮抖动和消抖方法。布置作业1.按钮控制LED还有哪些情况?2.能否用按钮控制LED的亮度呢?1)按钮按下LED亮,放开LED灭2)按钮按下LED亮,延时一段时间LED灭上节回顾聪明的按钮按钮按下LED亮,按钮再按下LED灭。按钮控制LED灯如何根据按钮按下的次数决定灯是亮还是灭呢?【提示】首先判断按钮是否按下,如果按下改变LED状态,这时我们需要用到变量,作为按钮状态与LED状态的桥梁。变量变量:指在程序中用来代表数据的字符,这些字符的值是可以变化的,其中变量有多种类型,如数字变量、模拟变量、字符串变量、字符变量等等。数字变量的值为0或者1(高电平或者低电平),而模拟变量的值为任意整数。数字变量总结:所以我们可以用数字变量和模拟变量来记录按钮按下的次数,变量的值决定LED的亮或灭,这节课我们先来学习数字变量。按钮状态数字变量LED按下HIHG(1)亮再按下LOW(0)灭变量如何根据按钮按下的状态,改变数字变量的值呢?非运算符。非运算符:就是取与表达式相反的值。如果变量值为0,则非k为1;如果为1,则非k为0。变量问题:按钮按下LED不稳定。解释:抖动。【按钮抖动会导致一次按键被误读为多次按键,为了使系统对按钮的一次闭合仅作一次处理,必须对按钮进行去抖动处理。】处理:延时消抖。课堂总结1.进一步掌握了按钮的使用2.掌握了变量和非运算符。3.理解了按钮抖动和消抖方法。布置作业1.按钮控制LED还有哪些情况?2.能否用按钮控制LED的亮度呢?呼吸灯灯光在微电脑控制之下完成由亮到暗的逐渐变化,感觉像是在呼吸。实例:手机如果有未处理的短信或者电话,呼吸灯就会由暗到亮的变化,像呼吸一样那么有节奏,起到一个通知提醒的作用。PWMLED模块要接数字口,数字口的输出是高低电平,也就是灯亮或灭,那么如何来控制LED的亮度呢?PWM——脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,可以将数字信号转换成模拟信号。PWM值范围为0~255。Arduino与PWMArduino控制器上面有6个针脚支持PWM:3,5,6,9,10,11。提示:不同的板卡支持PWM的针脚号可能不同;LED必须是可以调节亮度的。模拟口的输出0~2553,5,6,9,10,11如何控制灯光亮度呢?这时我们需要用到:基础任务——初步控制LED亮度设置不同的值,控制LED的亮度。循环当循环当条件成立即为真(1)的时候,执行循环体内的语句,且循环体会重复执行;当条件不成立即为假(0)时,跳出循环,结束循环。当条件始终成立,则会进入死循环,循环会一直执行下去。模拟变量模拟变量的值用于改变LED的亮度。为此变量应该要发生变化,我们可以通过加减法来改变变量的值。课堂总结1.理解了PWM。2.掌握了模拟口的输出与当循环。3.能够编写程序实现呼吸灯。布置作业1.完成按钮控制呼吸灯效果。2.了解达文西之灯并实现。