【研究开源机器臂】(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之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

springboot上传zip包并解压至服务器nginx目录方式

《springboot上传zip包并解压至服务器nginx目录方式》:本文主要介绍springboot上传zip包并解压至服务器nginx目录方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录springboot上传zip包并解压至服务器nginx目录1.首先需要引入zip相关jar包2.然

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效