1848浏览
查看: 1848|回复: 2

[用户分享] TinkterNode试用第三弹——正品出炉

[复制链接]
自从上次发帖,机器人都没动过。
为啥?
少部件啊!
就比如下面这个:

TinkterNode试用第三弹——正品出炉图1
这是个啥?
简单介绍一下吧......
它叫......
算了,放图
TinkterNode试用第三弹——正品出炉图2
知道了吧?
好了,正片开始
TinkterNode试用第三弹——正品出炉图3
————————————————————
上面说到我请来了一位大将——74HC595,然后收到货几天后,我做出了这个玩意儿
TinkterNode试用第三弹——正品出炉图5

这是我自制的74HC595拓展模块,做起来不是 一般的麻烦。
然后焊上新买的L9110测试一下
TinkterNode试用第三弹——正品出炉图4

背面来一张
TinkterNode试用第三弹——正品出炉图6

然而,理想很丰满,现实很骨感。
现实就是:这块74HC595根本用不了......
这个问题至今无解。
上网搜了一下,我默默打出一串??????
我就奇怪了,你们对UART有什么意见吗?
为什么没有UART转IO接口的方案呢?
非得用那么多接口的芯片,整块ATTINY它不香吗?
等等我好像说了什么。
我正好闲置着两块Attiny85,可以用它来拓展IO,但因为懒的问题,就算了。
值得一提的是,这款终于能够只用一个IO控制电机了。
(事实是红板的电源焊盘脱落了)
然后我默默地把L9110拆了下来,然后焊了两根线接到两个IO。
这样下来还多出了一个IO,不知道拿来干啥,就先放着吧。
程序部分我上回讲过了,使用的软件是Blynk。
比起上次,我删除了很多的东西,只剩下两个按钮,两个滑杆,一个Terminal。
TinkterNode试用第三弹——正品出炉图8
然后终于是完整版程序:
TinkterNode试用第三弹——正品出炉图7
[mw_shl_code=c,false]#include <BlynkSimpleEsp32_BLE.h>
#include <BLEDevice.h>
#include <BLEServer.h>
#include <Servo.h>

#define BLYNK_PRINT Serial
#define BLYNK_USE_DIRECT_CONNECT
String str;
WidgetTerminal terminal(V5);
int l, r;
Servo left, right;
char auth[] = "5BBvwEhC6qLfVfNBVwgGoZLZbHAKx1jZ";
BLYNK_WRITE(V0)
{
  left.write(param.asInt());
}
BLYNK_WRITE(V1)
{
  right.write(param.asInt());
}
BLYNK_WRITE(V3)
{
  if (l == param.asInt())
  {
    digitalWrite(D2, HIGH);
  }
  else
  {
    digitalWrite(D2, LOW);
  }
}
BLYNK_WRITE(V4)
{
  if (param.asInt() == 1)
  {
    digitalWrite(D3, HIGH);
  }
  else
  {
    digitalWrite(D3, LOW);
  }
}
BLYNK_WRITE(V5)
{
  str = param.asStr();
  if (str == "AT")
  {
    terminal.println("OK");
  }
  else if (str == "AT+RESET")
  {
    terminal.println("System will restart in 10 seconds");
    delay(10000);
    ESP.restart();
  }
  else if (str == "AT+VERSION?")
  {
    terminal.print("+VERSION:");
    terminal.println(BLYNK_VERSION);
    terminal.println("OK");
  }
  else if (str == "")
  {
    terminal.println("Unkhown Command");
  }
  terminal.flush();
}
void setup() {
  left.attach(D0);
  right.attach(D1);
  Serial.begin(9600);
  Serial.println("Waiting for connections...");
  pinMode(D2, OUTPUT);
  pinMode(D3, OUTPUT);
  Blynk.setDeviceName("Robot");
  Blynk.begin(auth);
}

void loop() {
  Blynk.run();
}[/mw_shl_code]
最后我发现,
电机线
TM断了
!!!!!!!!!!!!!!

好了
告辞








小刚郭  初级技师

发表于 2020-4-16 20:33:51

扩展io可以用荔枝糖fpga
但是代码要自己写
也可以用其他fpga,多的可以扩展出100个高速gpio,延迟是几乎没有的
但是速度取决于算法设计和spi接口的速度,而且不需要cpu参与发送,但是同样要很长的代码
而且价格不美丽
回复

使用道具 举报

小刚郭  初级技师

发表于 2020-4-16 20:40:07

不支持uart是因为它太慢了,不靠谱,用一下你就绝望了,spi都慢,跟别说uart跟spi不是一个数量级的
虽然最快的是PCIE,但也只有真正的大佬才会驱动,那个速度比arduino总线速度快多了,我们是搞不出来的
可以一秒传输几百MB,spi一秒只有几MB垃圾中的战斗机
或者用TTL接口也不错,再好一点PHY接口速度还勉强够用
除了PCIE,其他的都不如内部GPIO速度快,因为GPIO交换矩阵是固化在板子上的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail