【研究开源机器臂】(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

相关文章

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

Java实现数据库图片上传功能详解

《Java实现数据库图片上传功能详解》这篇文章主要为大家详细介绍了如何使用Java实现数据库图片上传功能,包含从数据库拿图片传递前端渲染,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、数据库搭建&nbsChina编程p; 3、后端实现将图片存储进数据库4、后端实现从数据库取出图片给前端5、前端拿到

Linux虚拟机不显示IP地址的解决方法(亲测有效)

《Linux虚拟机不显示IP地址的解决方法(亲测有效)》本文主要介绍了通过VMware新装的Linux系统没有IP地址的解决方法,主要步骤包括:关闭虚拟机、打开VM虚拟网络编辑器、还原VMnet8或修... 目录前言步骤0.问题情况1.关闭虚拟机2.China编程打开VM虚拟网络编辑器3.1 方法一:点击还原VM

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用