由风控制的雄鹿甲虫
我有一个坏了的老雄鹿甲虫玩具, 有有线遥控器。我修改了它, 使它可以从智能手机与 ble 远程操作!
目次
宪法
使用 ble 装备的微型计算机 Adafruit 羽毛32u4 蓝果 le 和电机驱动器来控制雄鹿甲虫从 blynk 应用的智能手机。
部分
- BLE-equipped microcomputer Adafruit Feather 32u4 bluefruit LE
- Motor driver drv8835
- Li-ion polymer battery 400mAh
装配
- 切割线
电线里有四根金色、绿色、红色和蓝色的漆包线。雄鹿甲虫玩具里有两个马达。
电机 1 (金色-蓝色) 和电机 2 (红色-绿色) 操作如下:
正向旋转 反 电机1 把 进展电机2 剪刀 头部摆动 - 微控制器和电机驱动器的接线/连接
电机驱动器的模式引脚连接到 gnd。
http://akizukidenshi.com/download/ds/akizuki/AE-DRV8835-Ss.pdf - 我做剪刀
是我用塑料布做剪刀的, 因为它坏了。
混合设置
- 在智能手机上安装 “混合” 应用
- 创建新项目。在硬件中选择 arduino uno, 因为还没有 Adafruit 羽毛 32u4 ble。autough token 将做一个笔记, 以便您在生成 arduino 代码 (发送邮件) 时使用。
- 放置 ble 小部件和按钮小部件。
- 按钮小部件设置。将四个按钮小部件输出设置为虚拟引脚 v0-v3。
阿杜伊诺计划
最新的库位于以下位置: https://github
.com/blynkkk/blynk-library。
这里使用的是 adafruit 羽毛32u4 蓝果 le, 因此 arduino 代码是参照以下内容生成的:
[示例]-> [Blynk]-> [主板 _ ble]-> [Adafruit_Feather_32u4_BLE]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
#define BLYNK_USE_DIRECT_CONNECT #define BLYNK_PRINT Serial #include <BlynkSimpleSerialBLE.h> #include <Adafruit_BLE.h> #include <Adafruit_BluefruitLE_SPI.h> #include <SPI.h> // You should get Auth Token in the Blynk App. // Go to the Project Settings (nut icon). char auth[] = "YourAuthToken"; // SHARED SPI SETTINGS (see adafruit webpages for details) #define BLUEFRUIT_SPI_CS 8 #define BLUEFRUIT_SPI_IRQ 7 #define BLUEFRUIT_SPI_RST 4 // Optional but recommended, set to -1 if unused #define BLUEFRUIT_VERBOSE_MODE true // Create ble instance, see pinouts above Adafruit_BluefruitLE_SPI ble(BLUEFRUIT_SPI_CS, BLUEFRUIT_SPI_IRQ, BLUEFRUIT_SPI_RST); void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); ble.begin(BLUEFRUIT_VERBOSE_MODE); ble.factoryReset(); // Optional ble.setMode(BLUEFRUIT_MODE_DATA); Blynk.begin(auth, ble); } //Button Wedget V0 BLYNK_WRITE(V0) { if(param.asInt()){ //motor2 Reverse rotation digitalWrite(6, HIGH); digitalWrite(11, LOW); digitalWrite(12, HIGH); digitalWrite(13, HIGH); }else{ digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); } } //Button Wedget V1 BLYNK_WRITE(V1) { if(param.asInt()){ //motor1 Forward rotation digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, LOW); digitalWrite(13, HIGH); }else{ digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); } } //Button Wedget V2 BLYNK_WRITE(V2) { if(param.asInt()){ //motor2 Forward rotation digitalWrite(6, LOW); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); }else{ digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); } } //Button Wedget V3 BLYNK_WRITE(V3) { if(param.asInt()){ //motor1 Reverse rotation digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, LOW); }else{ digitalWrite(6, HIGH); digitalWrite(11, HIGH); digitalWrite(12, HIGH); digitalWrite(13, HIGH); } } void loop() { Blynk.run(); } |
混入式连接
单击以设置 “bbwejit” 的 “blynk” 项目。
当显示 “adafruit le” 时, 单击 “连接 ble 设备”, 然后单击 “确定” 进行连接。
经营
这个动作是相当真实的!