用无线插板控制RC(远程遥控)小车

博客
多亏了它的开源平台和易用的软件&硬件,在线有详细的数以千计的Arduino项目,供每个爱好者享用。这个项目展示了,如何改装一个不昂贵的RC小车套件,并可以用网络界面控制。你可以在这个Arduino板子上编程,让这个小车实现任意方向的行驶~ 第一步:备齐材料 来自Sparkfun的迷你Bot套件 我使用了如下材料: Sparkfun的迷你Bot套件:ProtoSnap MiniBot提供一个Arduino兼容控制器,发动机控制器板,红外接近传感器&大量的原型空间都在一个单板上。 WIZnet的无线插板:WizFi插板利用完全认证的WizFi210无线模块,提供Arduino无线功能。SPI接口用来提供更快的传输速度&空出Arduino UART接口。所有的软件&硬件的材料都是免费且开源的 锂电池 第二步:将WizFi插板与迷你Bot套件连接 要用Wi-Fi控制RC小车,我们需要6个GPIO和1个模拟引脚(如下)。 描述 Arduino 兼容板 WizFi 插板 SCLK D13 JP2.13 MISO D12 JP2.12 MOSI D11 JP2.11 /SS_WIFI D10 JP2.4 Data_ready D9 JP2.3 WIFI_RST D8 JP2.2 电池电压检测器 A2 分压后 连接电池输出 第三部:代码 Sparkfun的教程使用3个引脚来控制,但是我们需要6个引脚来分别控制两个轮子。代码如下: #define LEFT_PWM 3 #define LEFT_1 4 #define LEFT_2 2 #define RIGHT_PWM 6 #define RIGHT_1 5 #define RIGHT_2 7 void pinSetup() { // Motor control pins- the PWM pins are speed control while the other pins // control the "mode" of operation- forward, reverse, stop, brake. These // functions are abstracted in some utility functions below, so a user need // only call the "driveFwd()" function, eg, to move the robot forward. pinMode(LEFT_PWM, OUTPUT); pinMode(LEFT_1, OUTPUT); pinMode(LEFT_2, OUTPUT); pinMode(RIGHT_PWM, OUTPUT); pinMode(RIGHT_1, OUTPUT); pinMode(RIGHT_2, OUTPUT); } void driveStop() { rightStop(); leftStop(); }…
Read More

【视频】Arduino 以太网插板介绍

博客
http://v.youku.com/v_show/id_XNTYzMzg0OTYw.html 视频中,为您介绍Arduino插板的结构以及简单的使用方法。   Arduino以太网插板----连接你的Arduino到网络仅需几分钟。将此模块插入到你的Arduino板子上,用一个RJ45连接到网络,遵循简单的指令通过互联网来控制你的世界。它的每一个元素的平台——硬件、软件和文档——都是免费和开源的。这意味着你可以确切地了解他们是怎样制造和使用它的设计,以此作为你开始自己电路的起点。 Arduino以太网插板允许一个Arduino电路板连接到互联网。基于WIZnet W5100 以太网芯片。WIZnet W5100 提供了一个网络(IP)堆栈,支持TCP和UDP。它支持多达四个同步socket连接。 需要一个Arduino板子 5V电压(Arduino板子提供) 以太网控制器:W5100--带有16K的缓冲区 连接速度:10/100Mb 通过Arduino SPI 端口连接
Read More

W5100E01-AVR(W5100评估板)演示手册(二)

博客
W5100E01-AVR是为AVR开发者提供的W5100评估板。今天给大家继续介绍W5100E01-AVR演示手册的第二部分! 9)  若 W5100E01-AVR  显 示 信 息 已 是 所 要 设 置 的 信 息 , 则 跳 过 以 下 W5100E01-AVR 设置步骤,直接进入 11)演示步骤。 10) W5100E01-AVR 设置步骤 注意事项: a)    输入不区分英文大小写; b)    在发送框中输入信息,敲击回车只是表示发送,不能代表命令输入。若想表示 命令输入,须在所发信息后加上回车符号的十六位进制表示“0d0x”,支持回 格键修改; c)    在输入框输入信息,敲击回车则表示命令输入,无需在填入“0d0x”。另外, 在输入框中每输入一个字符都代表字符已经发送,故不支持回格键修改。 设置步骤 重启 W5100E01-AVR,当 Terminal 中显示如下时,输入“m”或“M”(7 秒钟 之内)。进入 W5100E01-AVR 的配置模式。 i.       在输入框输入 1  进入网络设置(Network Config)页 各个设置菜单功能: 默认的出厂设置为: 例如:修改 Source IP Address 在输入框中输入 1,进入 Source IP Address 配置模式,在输入框中输入想要设 定的参数,如:192.168.11.50  。 在输入框中按级输入“e”,退出配置模式,查看是否设置成功。 设置成功! ii.       在输入框输入 2  进入信道设置(Channel Config)页 各个设置菜单功能: 信道的工作方式设置: 工作方式配置菜单: 默认的出厂设置为: 例如:设置 1st Channel 为 TCP Loopback Client (Port 4000) 在 1st Channel 配置界面的输入框中输入 2: 在输入框中接着输入想要设定的端口值 4000: 在输入框中按级输入“e”退出设置,查看是否设置成功。 设置成功! iii.       在输入框中输入 5 进入 Web Server 模式 注意: a)    IE 浏览器的内置默认端口号为 80,故若已经在配置模式中将端口号设置 为 80,则直接在 IE 浏览器中输入 W5100E01-AVR 的 IP 地址(缺省为:192.168.0.2)就可以进入片内 Web 页进行配置。 b)   若在配置模式中没有将端口号设置为 80,而是其他值(比如:100),则 要想进入片内 Web 页进行配置则需输入 W5100E01-AVR 的 IP 地址和端 口号。(如:http://192.168.0.2:100) Web Server 模式 11) 设置完成后按级输入“E”退出 W5100E01-AVR 设置 12) 打开传递测试程序 AX1 (按上述 W5100E01-AVR 设置方法,将 W5100E01-AVR 的 1st  Channel 设为 TCP Loopback…
Read More

W5100E01-AVR (W5100评估板) 演示手册(一)

博客
W5100E01-AVR是为AVR开发者提供的W5100评估板。本文给大家介绍一下如何使用W5100E01-AVR,为您提供简单快速的方法。 1. 产品介绍  特点 -  使用了 Atmega128 (8MHz)数据传输速度高于 6Mbps。 -  通过使用外部 96 引脚连接件, AVR&rsquos  的所有引脚都能使用。 -  有效的 SPI 接口测试程序。 -  提供各种应用程序源代码 Loopback, Webserver, Ping -  支持 ISP & JTAG  接口。 规格 开发环境 -所有源代码是由 GCC 编译器编译的。 - ISP 电缆固件编程 内容 2. 演示软件 串口控制设置软件:  Terminal 传递测试程序:           AX1         3. 工作过程图 注:切记需将用户机与 W5100E01-AVR 须连接到同一网段内才能实现通信。 4. 演示过程 1)  正确的使用线材将 W5100E01-AVR 与用户机连接(参考工作过程图)。 a)   使用串口电缆/串口转 USB 电缆将用户机与 W5100E01-AVR 串行借口连接; b)   使用 UTP 电缆(网线)将 AP 与 W5100E01-AVR 的 RJ-45 网口连接; c)    用户机使用 UTP 电缆(网线)与 AP 相连。用户机与 W5100E01-AVR 连接到同一台 AP 上才能实现通信; d)   将电源适配器接到 W5100E01-AVR 的电源借口上,并接通电源; 2)  若使用了串口转 USB 线材需要安装相关驱动(详见驱动光盘)。 3)  成功安装线材驱动,打开设备管理器查看串口信息。 4)   打开串口配置软件---- Terminal 。查看 Terminal  端口信息,尤其注意Terminal 端口号与设备管理器中显示的相同。其他信息(波特率,数据位, 停止位,奇偶校验,流量控制)都可以从 Terminal 直接配置。 注:若 Terminal 未能成功的读取串口       a)    检查是否重复打开 Terminal 程序,或者检查是否有其他程序占用串口。若没              有则执行下一步;       b)    点击 ReScan  重新扫描;若还是无法成功读取串口则执行下一步;      c)    关闭 Terminal,修改设备管理器中串口的端口号(不能修改成已使用的端口), 确定之后,重启Terminal 程序,点击 ReScan  重新扫描端口。 d)    若还是未能读取串口,关闭 Terminal,拔下串口线,再重新插入,修改设备管 理器中串口的端口号(不能修改成已使用的端口),确定之后,重启 Terminal。 5)…
Read More

【科研论文】基于以太网通信的等效设备设计

博客
摘要: To match, test, and determine the working conditions  and correctness of each function of the aircraft  measurement system.This article proposes a design of  equivalent test platform which can produce digital  and analog signals for the self-testing of  measurement system.By using the ethernet protocol  chip W5300 to achieve the high-speed communication  between host computer and equivalent device. Communication uses UDP unicast data transfer mode  with advantages of high-speed and long-distance  transmission, and the Phenomenon of data packet loss  is not easy in transmission. 匹配、测试并确定工作条件以及保证飞机测量系统每个功能的正确性。本文提出了一种等效测试平台,可以产生数字和模拟信号来进行测量系统的自测试。通过使用以太网协议芯片W5300实现主机与等效设备的高速通信。通过使用UDP单播数据传输模式进行通信,具有高速和可长距离传输的优势,数据丢包现象在传输过程中极度减少。 作者: Huixin Zhang,Yanlu Zheng, Yanran Chen,Haiguang Yang 作者单位: 1. Science and Technology on Electronic Test & Measurement Laboratory,North University of China,Taiyuan 030051 Key Laboratory of Instrumentation Science & Dynamic Measurement,Ministry of Education,North University of China,Taiyuan 030051 2. Science and Technology on Electronic Test & Measurement Laboratory,North…
Read More

MirandaSoft! Arduino Mega 2560: WIZnet 以太网插板项目

博客
回到原点! Raspberry Pi 已呈现在了我的计算机安全项目上(Seeeduino 328)。我的WIZnet以太网插板可供新的Arduino相关项目使用,不幸的是,我不能用在Arduino DUE上(买自element 14)。Seeeduino 328 和 WIZnet以太网插板已经运行嵌入式计算机安全项目超过15个月,我不断地迁移之前的代码到Raspberry Pi上。现在我已经忘了如何使用我的WIZnet以太网插板,所以要从头开始。 我的Arduino Mega原型板曾用于一个Twitter项目;板上的LED用于状态显示。LM35温度传感器 仍连接在模拟引脚Pin 7。图片中没有显示,是我的DIP开关被植入已备将来使用,像我的新Arduino DUE一样。LED被激活,目的是为了在图片上展示到。 一个简单的Telnet(远程登录)服务器 远程登录活动快照 显示,我的WIZnet以太网插板任然在正常运作。虽然以太网服务器代码已经在线公开,我还是决定发下属于“我自己的化身”,用于未来的项目。 很棒的源代码 /************************************************************************ * Arduino Mega 2560: Wiznet Ethernet Shield Project      Version: 1.00 * ************************************************************************ * Arduino IDE v1.5.2 from http://arduino.cc/en/Main/Software           * * Configuration: Arduino Mega 2560 or Mega ADK on /dev/ttyUSB0         * * Operating System: Xubuntu Linux 13.04 Raring Ringtail (32-bit)       * * Created: April 26, 2013              Latest Revision: April 29, 2013 * ************************************************************************ *    Kuya Marc's Linux Life - Pasig City, Metro Manila, Philippines    * *         http://www.element14.com/community/blogs/mirandasoft         * ************************************************************************ *                          Reference Links                             * *            Arduino Mega 2560        : http://goo.gl/D2jtI            * *            ACEduino Mega 2560       : http://goo.gl/MFOLO            * *            Arduino Mega Proto Shield: http://goo.gl/Lz0Nn            * *            Arduino Ethernet Shield  : http://goo.gl/MTU48            * *            Wiznet Ethernet Shield   : http://goo.gl/CS7rP            * *            Ethernet…
Read More

【转】物联网跟我动手做系列教程—第三篇 实验三如何用arduino+ethernet shield与yeelink结合5分钟实现web远程家电控制(代码已更新)

博客
实验内容:很多朋友都有这样的想法,能不能通过网页,直接从任何一台计算机,控制和访问自己的单片机或者arduino板呢?这个有趣的功能,相信很多的电子爱好者都可能会想,这个功能如果能实现,是不是意味着就能在web页面,直接通过点击按钮,就能够通过互联网完成对arduino板上的资源甚至是挂接到arduino板上的设备的控制。好像听起来有点耳熟?这是不是就是当下很火爆的数字家庭概念吗?是的没错,如果arduino驱动的是继电器或者可控插座,那么,我们就能很容易的在web上控制普通家用电器啦,想象一下,下班之前,在电脑上登陆自己的yeelink账号,然后点击“热水器烧水”,回家就能洗上舒舒服服的热水澡啦!   硬件要求: Arduino主板 以太网板(参加下图模块的模样和与arduino的连接方式进行连接,并且从这个链接获取ENC的网络函数驱动库并安装即可: http://geek-workshop.com/forum.php?mod=attachment&aid=NDc1M3w4OTExYjg1M3wxMzM5MzM4Mzk1fDgwN3wyMDA%3D 原理介绍: 为了实现远程控制,为简便起见,我们先讲讲如何web遥控arduino UNO板上的LED灯开关。 yeelink平台提供了两种方式,一种是arduino/单片机通过直接socket网络连接的办法,连入平台上,保持和服务器的长连接,这种方法控制的实时性相对较强;另外一种办法是arduino作为客户端,定期的向服务器查询传感器(LED)的当前值,如果我们要改变arduino的状态(如点亮LED),只需改变当前传感器的值(其实是发送HTTP的post命令,更新一下当前的设备状态),则arduino在定时周期到的时候,发出(HTTP  get)命令来获取当前LED状态的时候,发现最近的值有变化(从0变为1)的时候,则相应的改变驱动LED的IO口状态,从而实习远程控制,这里注意,在arduino板上,如果是触发性的操作(只操作一次),则可以在get数据并操作好后,直接发送POST改变服务器上吗的传感器状态,保证不会在arduino端重复触发。 首先,照例我们要先申请到yeelink的API-KEY才可以进行: 如何免费获取API-KEY,和如何添加设备,请移步 快速入门 来开始吧。 第一步: 注册之后,增加一个开关类的传感器 第二步,获取这次插入的控制设备的设备号和传感器号:如下图来说,就是设备号=63,传感器号=57 第三步,好了,控制按钮安装完毕,下面,将第七个PIN和GND之间连上电阻和LED灯,下载下面的arduino程序,更改三个地方,就可以通过点击网页上的按钮,进行控制了。(居然这么简单???是的,就是这么简单…下面想想你能怎么玩更爽吧) arduino程序中需要修改的地方有 程序中需要改的地方是: 1.APIKEY: 这个需要更换成你自己账号的APIKEY 2.DEVICEID :这个需要换成设备号 3.SENSORID:这个需要换成传感器号 OK,就这些了,5分钟内学会如何做家庭电器控制,你行的! 另外,需要注意一点,下文中的ethernet shield是需要你家中的路由器开启DHCP功能的,如果没有开启,可以参考将 1. 代码中添加 byte ip[] = { 192, 168, 1, 12 };  (根据网络环境更改) 2. 将Ethernet.begin(mac) 替换成Ethernet.begin(mac, ip); 从这下载程序YeelinkPowerSwitch 具体的程序在下面 /* Yeelink 网页远程控制Arduino演示代码 1. 使用arduino UNO和 ethernet shield 2.  使用数字7管脚网页控制LED灯 */ #include <SPI.h> #include <Ethernet.h> #include <Wire.h> #include <math.h> byte buff[2]; // for yeelink api #define APIKEY “4bb08000082a070000e2e3c580000000″ //更换 yeelink api key #define DEVICEID 63 // 更换设备IDreplace your device ID #define SENSORID 57 // 更换传感器IDreplace your sensor ID // 分配MAC地址. byte mac[] = { 0×00, 0x1D, 0×72, 0×82, 0×35, 0x9D}; // 初始化以太网库: EthernetClient client; char server[] = “api.yeelink.net”; // yeelink API的域名 unsigned long lastConnectionTime = 0; // last time you connected to the server, in…
Read More

WIZnet基于全硬件TCP/IP的安防产品应用及方案

博客
WIZnet立足于生产全硬件TCP/IP协议栈芯片,为单片机提供理想的解决方案。总体来说,其应用领域还是十分广泛的,以智能电表为代表的Smart Energy;以数字楼宇为代表的智能家居;以门禁、DVR为代表的安防领域;以条码扫描仪及POS机为代表的数字消费领域及以工业协议及接口转换为代表的工业自动化领域。 安防系统是WIZnet产品的一个重要的应用领域,门禁卡内的线圈与感应设备起感应,将卡内储存的ID代码通过WIZnet网络接入模块上传至网络服务器,实现对数据库中对应信息的更新,并有效解决信息存储的问题,WIZnet的网络模块出色地利用了网络无处不在、无时不在的海量数据存储。下图列出了曾经使用WIZnet产品,应用于安防领域的客户。 无论是机房空调、温湿度传感器、烟感器、摄像机还是门禁系统,内嵌WIZnet全硬件TCP/IP协议栈芯片,可卸载单片机对网络协议的处理负担,提升系统的数据处理和传输性能,为您轻松连接网络,省去麻烦的开发过程。 以下是利用W7100芯片应用于各安防应用的图样: 感谢阅读!
Read More

【视频】网络遥控LED

博客
http://v.youku.com/v_show/id_XNTYwNzU2MjY0.html 之前已经给大家介绍过用Arduino连接网络,实现控制LED灯的制作。 此视频又是一个这样的制作,视频中,演示者给大家介绍了一下以太网插板的各个部分,并演示是怎样通过网络服务器,远程操控Arduino板子,并对LED进行颜色以及亮暗程度进行控制。 希望对大家的操作有更多的帮助。
Read More

无线模块WizFi630问题集锦

博客
1. WizFi630如何在client模式下将ip packet通过无线传送目标主机 问题详述: 我目前正在开发一款产品,目的是通过贵公司的WizFi630为现有产品增加无线功能。该系统有两个终端,希望通过无线将二者连接起来,其中一台终端是AP,另一台通过网线和WizFi630相连,WizFi630工作在client模式下。需要两个终端进行ip packet的数据交换。不知道WizFi630是否支持该功能。 解答: 如您所说,WizFi630wi支持该功能。 此时WizFi630相当于非AP终端的无线网卡。使用Client模式或AP Client模式,具有NAT功能。 详情参阅WizFi630用户手册。 2. WizFi630如何在client模式下与linux下建立的无线节点进行通信 问题详述: 您好,我在实际的开发中想通过WizFi630模块把以太网的内容发送到linux下创建的access point中,并且通过无线接收access point 发送的命令再转发到以太网,说白了,就是用WizFi630作为一个无线中继模块。linux的access point 不是很稳定,我目前用一个无线路由器作为access point,WizFi630和一台笔记本通过无线连接到路由器,另一台笔记本通过有线连接到wizfi630。连接wizfi630的笔记本的ip是192.168.16.11,是WizFi630分配的。另一台笔记本的ip是192.168.1.87是无线路由分配的。现在从192.168.16.11 ping 192.168.1.87可以,但是从192.168.1.87 ping 192.168.16.11不行,请问如何解决。 解答: 您好,你说的问题是正常现象,下层可以ping通上层,但上层ping不通下层。这个是路由协议所决定的。 您所说的网络拓扑,与WizFi630 连接的PC(192.168.16.11)为通过WizFi630这个无线网卡连接到上层AP。您现在应该可以Ping通WizFi630 Wlan口的IP。 举个简单的例子,您家里的PC 可以Ping 通任意一个网站。但是,这些网站公司向反向ping 通您的电脑是不可以的。 3. WizFi如何恢复成出厂模式 问题详述: 本人对无线路由表做了一些添加后,在浏览器中输入192.168.16.254无法打开控制界面,并且ping 192.168.16.254也无法成功。也尝试使用WIZSmartScript通过串口进行复位,一直是serial command error。感觉WIZSmartScript没有任何用处。现在请问还有什么办法能恢复成出厂模式 解答: 首先,WizFi630恢复出厂设置有2种方式: 1)  软复位: WIZsmart WIZsmart 进入串口配置模式 串口输入<+++>进入AT command 模式,然后输入<WF>恢复出厂设置,借着输入<WR>重启; 2)  硬件复位 复位管脚38: EJT_TDO (复位管脚GPIO17) 另外,我觉得你这个问题,应该是你进入了AT command模式,而不是数据模式。 WIZSmartScirpt 其实就是串口通信,只不过是软件代客户输入AT命令罢了。你可以先确认一下,串口能否通信。可以参考一下,我们的AT command 命令手册。 4.  WIFI模块自己的DHCP的DNS信息无法设置和获取,在Multi-Bridge 模式下DHCP是禁用的。 解答: 当WizFi630 链接上层AP的时候,DNS地址会自送从上层AP获取; 你可以尝试用以下命令配置静态DNS,再试一下<RT> or <RV>显示命令:<WT0_172.31.254.113_255.255.255.0_192.31.254.113_202.106.46.51> 5.  WIFI模块设置为AP-Client模式,用<PI>命令去连接其他AP时,手册上提示,所要连接的AP必须采用WEP的加密方式,如果采用其他加密方式请使用PU命令,测试发现使用PU命令之后在使用PI命令,返回值依然是<4>。 请问: PU命令完成的是什么功能?上级AP如果采用除WEP之外的加密方式进行加密,那么该怎么去连接? 解答: PU 是配置WizFi630 的安全加密模式。 如:配置为WPA模式,输入<PU_5(WPA)or7(WPA2)_2(TKIP)or3(AES)_1(Default Key)_keyvalue> 注:若连上级AP,则需要与上级AP的加密模式相同; PI 是连接AP命令。 注:无论WEP,WAP还是其他安全模式都用此命令连接上级AP,但是除WEP外,其他的安全模式都需要用PU先配置,之后才能用PI连接; 感谢阅读!
Read More