【研究开源机器臂】(2):在Linux 上面使用便宜的3d打印机芯片 ESP32,成功上传数据,并可以控制led2灯进行闪烁,价格18.8元,选择这个主要比8266性能好,4MB闪存

本文主要是介绍【研究开源机器臂】(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 ShieldD1 R32 - ESP32
D14 AbortIO02
D15 HoldIO04
D16 ResumeIO36
D17 CoolEnIO34
D18 SDAIO38
D19 SCLIO39

在这里插入图片描述

以wemos 为坐标,右面的线路和对接图:

Arduino Uno CNC ShieldD1 R32 - ESP32
D0 RXRX0
D1 TXTX0
D2 X-STEPIO26
D3 Y-STEPIO25
D4 Z-STEPIO17
D5 X-DIRIO16
D6 Y-DIRIO27
D7 Z-DIRIO14
D8 ENIO12 拆掉CNC板子上的10K上拉电阻
D9 X-、X+IO13
D10 Y-、Y+IO05
D11 Z-、Z+IO23
D12 A-STEP、SpinEnIO19
D13 A-DIR、SpinDirIO18

在这里插入图片描述

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闪存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/554422

相关文章

Linux线程同步/互斥过程详解

《Linux线程同步/互斥过程详解》文章讲解多线程并发访问导致竞态条件,需通过互斥锁、原子操作和条件变量实现线程安全与同步,分析死锁条件及避免方法,并介绍RAII封装技术提升资源管理效率... 目录01. 资源共享问题1.1 多线程并发访问1.2 临界区与临界资源1.3 锁的引入02. 多线程案例2.1 为

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹

idea的终端(Terminal)cmd的命令换成linux的命令详解

《idea的终端(Terminal)cmd的命令换成linux的命令详解》本文介绍IDEA配置Git的步骤:安装Git、修改终端设置并重启IDEA,强调顺序,作为个人经验分享,希望提供参考并支持脚本之... 目录一编程、设置前二、前置条件三、android设置四、设置后总结一、php设置前二、前置条件

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

linux下shell脚本启动jar包实现过程

《linux下shell脚本启动jar包实现过程》确保APP_NAME和LOG_FILE位于目录内,首次启动前需手动创建log文件夹,否则报错,此为个人经验,供参考,欢迎支持脚本之家... 目录linux下shell脚本启动jar包样例1样例2总结linux下shell脚本启动jar包样例1#!/bin

Linux之platform平台设备驱动详解

《Linux之platform平台设备驱动详解》Linux设备驱动模型中,Platform总线作为虚拟总线统一管理无物理总线依赖的嵌入式设备,通过platform_driver和platform_de... 目录platform驱动注册platform设备注册设备树Platform驱动和设备的关系总结在 l