Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sun SPOT外部接口 University Outreach Programs in China

Similar presentations


Presentation on theme: "Sun SPOT外部接口 University Outreach Programs in China"— Presentation transcript:

1 Sun SPOT外部接口 University Outreach Programs in China
蒋清野(John) Sun 中国技术社区,高级经理 Qingye Jiang (John) Senior Manager Sun Developer Network, China 1

2 Sun SPOT外部接口 6 个模拟信号输入(A0-A5) 5 个GPIO(D0-D4) 2 个按钮开关(SW1-SW2)
LED1 LED8 A4 A5 GND +3 P1 D4 +5 VH H0 H1 H2 H3 D0 D1 D2 D3 A0 A1 A2 A3 6 个模拟信号输入(A0-A5) 5 个GPIO(D0-D4) 2 个按钮开关(SW1-SW2) 4 个高电流(100mA)输出(H0-H3) 8 个RGB LED(LED1-LED8) 1 个+3伏直流电压输出(+3) 1 个+5伏直流电压输出(+5) import com.sun.spot.sensorboard.io.*;

3 Sun SPOT模拟信号 引针编号A0 - A5 输入信号范围0 到3 伏 读数精度为10位 使用IScalarInput类读取数据
编程方法: EDemoBoard db = EDemoBoard.getInstance(); IScalarInput analog = db.bindScalarInput(EDemoBoard.A0); int analogValue = analog.getValue();

4 Sun SPOT电压输出 引针VH为外接输入电压 引针H0到H3为输出电压 输出电压等于输入电压 +3伏和+5伏引针可以作为输入电压
编程方法: EDemoBoard db = EDemoBoard.getInstance(); IOutputPin[] pin = db.getOutputPins(); pin[EDemoBoard.H0].setHigh(); // 设定为高电平输出 pin[EDemoBoard.H0].setLow(); // 设定为低电平输出

5 Sun SPOT直流马达 假设马达的工作电压为5V 假设马达的控制引针为H0 将+5V 引针和VH引针相连接
将GND 引针和马达的电源负极相连接 编程方法: EDemoBoard db = EDemoBoard.getInstance(); IOutputPin[] pin = db.getOutputPins(); pin[EDemoBoard.H0].setHigh(); // 驱动马达 pin[EDemoBoard.H0].setLow(); // 停止马达

6 Sun SPOT直流马达 编程方法: EDemoBoard db = EDemoBoard.getInstance();
马达一 马达二 编程方法: EDemoBoard db = EDemoBoard.getInstance(); IOutputPin[] pin = db.getOutputPins(); pin[EDemoBoard.H0].setHigh(); // 驱动马达 pin[EDemoBoard.H0].setLow(); // 停止马达

7 Sun SPOT直流电机 假设电机的工作电压为5V 假设电机的控制引针为H0 将+5V 引针和VH引针相连接
电机电源 电机负极 假设电机的工作电压为5V 假设电机的控制引针为H0 将+5V 引针和VH引针相连接 将H0引针和电机的信号输入端相连接 将GND 引针和电机的电源负极相连接 电机还需要外接电源 编程方法: EDemoBoard db = EDemoBoard.getInstance(); Servo myServo = new Servo(pin[EDemoBoard.H0]); myServo.setValue(1500); // 设定脉冲宽度 myServo.setPosition(0.01); // 设定相对0 点的位置(0~1之间)

8 Sun SPOT数字信号 引针编号D0 - D4 使用TTL信号() 读取输入信号,判断电平高低 编程方法:
EDemoBoard db = EDemoBoard.getInstance(); IIOPin[] pin = db.getIOPins(); pin[EDemoBoard.D0].isHigh(); // 判断是否为高电平输入 pin[EDemoBoard.D1].isLow(); // 判断是否为低电平输入 pin[EDemoBoard.D0].setHigh(); // 设定为高电平输出 pin[EDemoBoard.D1].setLow(); // 设定为低电平输出 int pulse = db.getPulse(pin[EDemoBoard.D0], true, 0); // 测量输入脉冲信号长度

9 Sun SPOT数字信号 引针编号D0 - D4 使用TTL信号() 读取输入信号,判断电平高低 编程练习:
将+3V与某个模拟接口对接,测量+3V的实际输出电压 将H0与D0对接,设定H0输出固定长度的脉冲,用D0进行测量H0的输出信号

10 Sun SPOT数字信号 直接作为UART使用 接收D0(RX) 发送D1(TX) 可以经TTL/RS-232转接到DB-9接口 编程方法:
EDemoBoard db = EDemoBoard.getInstance(); db.initUART(38400, true); //设定UART通讯参数 db.sendUART('A'); // 发送字符'A' db.sendUART('T'); // 发送字符'T' byte b = db.receiveUART(); // 接收下一个字符 int length = db.UARTAvailable(); // UART缓冲区内的字符数

11 串口通讯调试方法 将RX和TX对接,TX发送的内容由RX接收(loop back device) 两个SPOT设备相互通讯
利用TTL/RS-232电平转换器,通过终端模拟器进行调试 Windows的超级终端 Linux的minicom

12 Sun SPOT外部接口 编程练习: 1 利用Sun SPOT的高电流输出驱动一只小型直流马达,使得马达转动10秒
后停止转动,等待10秒后又继续转动。 2 基于练习1 设计一个遥控马达,其中一只Sun SPOT控制马达,另外一只 Sun SPOT作为遥控器。当遥控器端按下SW1的时候,控制切换远程马达的 运行状态。 3 基于Sun SPOT编写一个串口回显设备。该设备接收RS-232数据线发送 过来的数据,并且按照同样的序列将数据回显给发送数据的设备。(使用超 级终端进行调试。) 4 驱动一个简单的步进电机HS-85 MG(舵机)。

13 Sun SPOT外部接口 University Outreach Programs in China
蒋清野(John) Sun 中国技术社区,高级经理 Qingye Jiang (John) Senior Manager Sun Developer Network, China 13


Download ppt "Sun SPOT外部接口 University Outreach Programs in China"

Similar presentations


Ads by Google