本文主要是介绍【研究开源机器臂】(2):在Linux 上面使用便宜的3d打印机芯片 ESP32,成功上传数据,并可以控制led2灯进行闪烁,价格18.8元,选择这个主要比8266性能好,4MB闪存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1,这个主控是ESP32 但是超级便宜
Wemos D1 R32 ESP32开发板简介
只有 18.8 元!
https://detail.1688.com/offer/656424665619.html
然后配合之前的项目:
2,有人说是需要重新安装驱动
https://blog.csdn.net/wangmj_hdu/article/details/110528620
下载驱动:
https://www.wch.cn/downloads/CH341PAR_LINUX_ZIP.html
3,我的linux 上不能加载模块:
https://blog.csdn.net/qq_43135204/article/details/118547385
关闭 bios 安全启动
4,找不到设备,brltty驱动占用问题
https://blog.csdn.net/weixin_49513223/article/details/127068065
sudo dmesg | grep brltty
若果出现[ 7033.078452] usb 1-13: usbfs: interface 0 claimed by ch341 while ‘brltty’ sets config #1 这样的结果,则意味着是驱动占用问题;
运行
sudo apt remove brltty
5,永久解决ttyUSB0权限问题
https://blog.csdn.net/qq_52102933/article/details/126839474
一般使用USB口,启动时容易出现 /dev/ttyUSB0 permission denied.
因为一般情况下不是root用户,对端口没有权限.
sudo chmod 777 /dev/ttyUSB0
6,然后在arduino上设置 ESP32 设备
然后就可以编程了,先来个hello world
编译一个Blink程序
#include <dummy.h>/*Wemos D1 ESP32 WiFi蓝牙4MB4闪存UNO R32
一:编译一个Blink程序*/void setup() {// initialize digital pin LED_BUILTIN as an output.Serial.begin(115200); // 初始化串口通信,波特率为115200pinMode(2, OUTPUT);
}void loop() {digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)delay(500); // wait for a seconddigitalWrite(2, LOW); // turn the LED off by making the voltage LOWdelay(500); // wait for a second
}
运行成功,需要找到主板的说明:
7,还真有使用这个方案的:Wemos D1 R32 ESP32 +Arduino CNC Shield v3
https://zhuanlan.zhihu.com/p/619773089
但是购买的步进电机还没有到呢。
到了就可以供电然后连调下了。
这个讲的超级详细。
http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/
然后就是项目,
源代码是:source: http://reprap.org/wiki/RAMPS_1.4
但是,这个项目是改造的机械臂。
8,然后就是把相关的PIN 修改下,就可以进行控制使用了
参考这个文章:
http://www.taichi-maker.com/homepage/reference-index/motor-reference-index/arduino-cnc-shield/#other-pins
以wemos 为坐标,左面的线路和对接图:
Arduino Uno CNC Shield | D1 R32 - ESP32 |
---|---|
D14 Abort | IO02 |
D15 Hold | IO04 |
D16 Resume | IO36 |
D17 CoolEn | IO34 |
D18 SDA | IO38 |
D19 SCL | IO39 |
以wemos 为坐标,右面的线路和对接图:
Arduino Uno CNC Shield | D1 R32 - ESP32 |
---|---|
D0 RX | RX0 |
D1 TX | TX0 |
D2 X-STEP | IO26 |
D3 Y-STEP | IO25 |
D4 Z-STEP | IO17 |
D5 X-DIR | IO16 |
D6 Y-DIR | IO27 |
D7 Z-DIR | IO14 |
D8 EN | IO12 拆掉CNC板子上的10K上拉电阻 |
D9 X-、X+ | IO13 |
D10 Y-、Y+ | IO05 |
D11 Z-、Z+ | IO23 |
D12 A-STEP、SpinEn | IO19 |
D13 A-DIR、SpinDir | IO18 |
9,然后修改 arduino 配置
#ifndef PINOUT_H_
#define PINOUT_H_/** pinout of RAMPS 1.4** source: http://reprap.org/wiki/RAMPS_1.4*///RAMPS 1.4 PINS
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_MIN_PIN 3
#define X_MAX_PIN 2#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19#define E_STEP_PIN 26
#define E_DIR_PIN 28
#define E_ENABLE_PIN 24#define Q_STEP_PIN 36
#define Q_DIR_PIN 34
#define Q_ENABLE_PIN 30#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13#define FAN_PIN 9#define PS_ON_PIN 12
#define KILL_PIN -1#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 14 // ANALOG NUMBERING//RAMPS AUX-1
#define STEPPER_GRIPPER_PIN_0 40
#define STEPPER_GRIPPER_PIN_1 59
#define STEPPER_GRIPPER_PIN_2 63
#define STEPPER_GRIPPER_PIN_3 64#endif
好像没有对上,需要根据实际的板子写代码。
这篇关于【研究开源机器臂】(2):在Linux 上面使用便宜的3d打印机芯片 ESP32,成功上传数据,并可以控制led2灯进行闪烁,价格18.8元,选择这个主要比8266性能好,4MB闪存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!