玩Arduino开发板

在学校科技节比赛中稍稍玩了会 Arduino

以前在淘宝买过一个摇摇棒套件,用的单片机是 Atmel 的 AT89S52,大致的原理是当晃动开关连通后延时控制发光二极管的亮暗,达到显示文字/图案的效果,按按钮可以切换存储的多套文字/图案。电路是卖家设计的,程序给了个模版。

修改程序先用字模软件生成阴码/阳码,放到程序中后用 Keil 软件通过 ISP 串口烧写。

相较于那个套件,这次比赛中使用的 Arduino 开发版就显得简单些了。

关于比赛

介绍

设计一个十字路口,搭建交通灯系统,可以有自己的创新

材料

硬件:

  • Arduino MEGA 2560 开发板
  • Arduino MEGA 2560 扩展板
  • TM1637 数码管
  • LED 灯
  • 杜邦线
  • esp8266 (自己加的)

软件:

  • Mixly For Windows
  • 代码模版
  • 连接教程、效果示例视频
  • Arduino (要什么 Mixly,Arduino 不香吗)

部分代码实现及介绍

Arduino MEGA 2560

1
2
3
4
5
6
7
8
#include <TM1637.h>            //使用Grove4Display的库
TM1637 digit1(CLK,DIO); //设置数码管管脚
digit1.init(); //初始化数码管digit1
digit1.set(BRIGHT_TYPICAL); //数码管设置亮度
digit1.display(0-3,0-9); //使某位显示数字
pinMode(R/Y/G, OUTPUT); //设置输出管脚
digitalWrite(R/Y/G,HIGH/LOW); //使R/Y/G 亮/暗
Serial.begin(115200); //使用串口通信 速率115200

基本就这些,再加几个判断和循环就没问题

Esp8266

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <ESP8266WiFi.h>
#define APSSID "SSID" //设置无线接入点名称
#define APPSK "password" //设置无线接入点密码
#include <ESP8266WebServer.h>
ESP8266WebServer server(80); //Web服务器在80端口运行
Serial.begin(115200); //使用串口通信 速率115200

//设置Web服务器路径及相应内容
server.on("/", []() {
server.send(200, "text/html", "<h1>Traffic Light</h1><br /><a href=\"/ns\">Turn N-S to green</a><br /><a href=\"/we\">Turn W-E to green</a><br />");
});

server.on("/ns", []() {
server.send(200, "text/plain", "N-S turned to green");
Serial.print("NS");
});

server.on("/we", []() {
server.send(200, "text/plain", "W-E turned to green");
Serial.print("WE");
});

server.begin(); //启动Web服务器
server.handleClient();

它在这次的作品中通过串口与 Arduino MEGA 2560 建立数据连接,通过 Wi-Fi 与控制端建立数据连接,起到无线控制的作用。

Arduino MEGA 2560 连接 esp8266

P.S.:为什么我会买这块 Esp8266 呢?

Jimmy Tian 在他的视频中介绍过它:

【百元科技神器-01】如何「黑」掉你学校的指纹考勤机? by Jimmy Tian

我觉得比较有意思、价格也很亲民就买了(NodeMcu 版本的便于开发,如果仅买一小块 Esp8266 也能用)

年轻人的第一块 Wi-Fi 模块

体验了一下这个固件,对于 2.4Ghz 的 Wi-Fi 来说 deauth 攻击的效果明显、且便于携带隐藏,但 esp8266 不支持工作在 5Ghz,退一步讲就算它支持 5Ghz,原先的攻击方式起不了作用,目前似乎也没有对 5Ghz 较为有效的 deauth 攻击方式

写在后面

Arduino Uno

在另一个比赛中摸过 Arduino Uno、PS 2 手柄及接收模块,也是挺好玩的

以前玩的比赛我都用的是能力风暴的机器人,这次玩的 Arduino 能实现的功能要比它多,但相对的编写调试甚至于上传程序,Arduino 都要比它麻烦一些