1.ESP32入门「09」:Arduino-ESP32 TOUCH API 详解
2.如何在Atom编译Arduino程序和上传到单片机?
3.机器鱼的例源制作分享
4.Arduino开源机器人汇总(基于 GRBL或Marlin)
5.超详细教程!自制一个Arduino NES(红白机)游戏机!源码
6.[Arduino编程]使用LiquidCrystal_I2C库驱动LCD1602液晶显示屏
ESP32入门「09」:Arduino-ESP32 TOUCH API 详解
本文深入解读ESP芯片的例源触摸传感器及其API,通过实例程序展示应用功能,源码并附带源代码。例源 触摸传感器是源码扑克时间 定制 源码一种电容式器件,通过测量固定时间内GPIO引脚上的例源充电/放电频率来感应触摸。触摸时,源码手指电荷改变电路状态,例源导致计数器值变化,源码进而验证触摸动作。例源这些引脚便于集成电容垫,源码替代机械按钮。例源 触摸传感器的源码API包含核心功能,如读取触摸数据、例源设置测量周期、附加中断、参数化中断处理以及唤醒模式控制。API支持通用和ESP芯片专用版本,满足不同需求。 具体功能如下:touchRead():获取触摸传感器数据,计数器记录充电/放电周期数,扫描文件源码变化指示触摸。
touchSetCycles():配置测量周期,影响读数、阈值和精度。
touchAttachInterrupt():将中断与触摸板关联,根据阈值触发。
touchAttachInterruptArg():中断处理函数中加入参数。
touchDetachInterrupt():解除中断与触摸板的关联。
touchSleepWakeUpEnable():设置深度睡眠唤醒源。
ESP芯片专用API包含:touchInterruptSetThresholdDirection():定义中断激活条件。
touchInterruptGetLastStatus():获取中断状态,确认触摸状态。
应用示例包括读取触摸传感器和使用中断检测触摸。源代码基于ESP Arduino Core文档。 总结,本文旨在提供ESP触摸传感器及API的详尽介绍,通过实例和代码实现应用。敬请期待后续ESP开发教程更新。 欢迎知友们参与讨论,提出意见和优化建议。如何在Atom编译Arduino程序和上传到单片机?
如果编译和上传分离到不同的android评论源码机器上执行,可以使用下面方式。
依赖
安装arduino环境
sudo apt-get install arduino
编译
在Arduino IDE环境下,写好源码程序(以.ino结尾的文件)。然后
Arduino -> Preferences ->”Show verbose output during”选择”compilation”。点击编译,在下方的输出框最后一行显示如下内容
/usr/share/arduino/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build.tmp/Blink.cpp.elf /tmp/build.tmp/Blink.cpp.hex
可以得知, 源码(.ino)编译后生成的二进制文件为/tmp/build.tmp/Blink.cpp.hex
上传
把上一步编译生成的二进制文件上传到arduino控制板上。
/usr/share/arduino/hardware/tools/avrdude -patmega -cwiring -P/dev/ttyACM0 -b -D -Uflash:w:/tmp/build.tmp/Blink.cpp.hex:i
机器鱼的制作分享
本文示例将实现R样机机器鱼胸鳍灵活上下摆动的功能。
本样机采用舵机模块进行仿生机器鱼结构设计。
在这个示例中,我们使用了以下硬件,请大家参考:
电路连接:将舵机连接在Bigfish扩展板的D4端口。
运动功能实现方面,我们采用了Arduino 1.8.编程环境。
下面提供一个机器鱼胸鳍上下摆动的参考例程(fishQi.ino),实验效果可参考演示视频。
此外,我们还提供了一个机器鱼鱼尾摆动的参考例程(fishTail.ino),您可以尝试调整舵机摆动角度参数,使机器鱼尾灵活摆动。
程序源代码及样机3D文件资料内容详见“机器鱼-概述”。游戏公会源码
Arduino开源机器人汇总(基于 GRBL或Marlin)
Arduino开源机器人汇总(基于GRBL或Marlin)
GRBL,作为开源的嵌入式CNC框架,因其高效和低成本,被广泛应用于多种开源机器人,如绘图机器人、机械手臂等,它的代码质量高且易于定制。XYZ结构机器人
XYZ结构常见于CNC设备,如3D打印机,每个轴独立控制,运动规划简单,步进数与滑台位置关系明确。推荐入门项目如DrawBot绘图机器人,使用GRBL控制。CoreXY结构
CoreXY结构以单同步带控制XY运动,紧凑且能提供更大的工作空间,运动速度快。大鱼DIY写字机器人V2.0 Pro就采用了这种结构。经典项目举例
DrawBot V1.1: henryarnold和MoustafaElkady的开源作品,GRBL控制。
DREMEL CNC: Nikodem Bartnik设计,微猎手 源码使用GRBL,教程详尽。
INDYMILL: 金属版CNC升级,GRBL控制,付费安装教程。
大鱼DIY写字机器人V2.0 Pro: GRBL支持,开源且有视频教程。
sffactory 机械臂: Marlin 2.0控制,结构改进,内容丰富。
DArm: 廖洽源作品,Marlin 2.0,提供Solidworks工程。
Drawbot机械臂: Marlin控制,基于DArm设计,但未开源源码。
UArm Swift Pro: GRBL-Mega/Marlin版本,金属机身,结构封闭。
Mirobot六自由度机械臂: 周冬旭博士作品,GRBL控制,固件不开源。
MK2 Plus 机械臂: GRBL控制,作者为Jacky Le,基于MK1的改进。
超详细教程!自制一个Arduino NES(红白机)游戏机!
了解如何使用Arduino IDE构建便携式NES游戏机,无需复杂编译过程。首先,了解NES游戏机及其影响力,这款由任天堂于年发布的家用电子游戏机,因其独特的设计和丰富游戏库在全球风靡。
选用Nofrendo作为高效NES模拟器,它能在老系统上全速运行,兼容性良好。Nofrendo由Matthew Conte在上个世纪开发,支持多种操作系统。
将Nofrendo源代码转换为Arduino库,遵循rickyzhang的指导。理论上,任何具备足够RAM和处理能力的Arduino平台都能使用该库。esp-nofrendo示例由Espressif基于原始代码开发。
实现显示选项,使用Arduino_GFX库,支持多种分辨率的显示屏,包括4英寸x。显示变化需要特定的裁剪和放大处理。
选择两种音频输出方法,内置DAC或外部I2S放大模块,后者提供更好的信噪比和动态范围。
支持三种控制器类型,兼容不同接口,例如Arduino ESP I2C接口。
支持三种文件系统,包括SPIFFS、SD或SD_MMC,便于备份和长期使用。
安装必要的软件,包括Arduino IDE、ESP支持、Arduino ESP filesystem uploader、Arduino_GFX和Arduino Nofrendo库。
使用面包板原型进行概念验证,组合四个面包板支持4寸LCD。对线路和空间进行优化,移除不必要的电源线。
利用TTGO T8 V1.7进行改造,隐藏ESP开发板和线路,移除无法放置的3D天线。
固定模拟摇杆,重新映射GPIO引脚以减少使用次数,设计布局和引脚映射。
连接所有组件,进行面包板布线。可选加入电池以提高便携性。
上传Nofrendo程序,将ROM文件复制到SD卡或ESP SPIFFS。
实现无限恢复功能,使用X和Y按钮进行状态保存和加载。
了解预制的ESP游戏机选项,如TTGO T-Watch、ODROID-GO和M5Stack。
开始享受自制的Arduino NES带来的乐趣,并在现有基础上增加更多功能。
[Arduino编程]使用LiquidCrystal_I2C库驱动LCD液晶显示屏
在Arduino编程中,高效地操控LCD液晶显示屏是通过LiquidCrystal_I2C库实现的。这个库简化了原本并行数据传输的复杂性,支持I2C总线连接,让列2行的LCD显示屏更加易于集成和控制。
首先,安装LiquidCrystal_I2C库是关键步骤。Arduino IDE的新版本提供了便捷的库管理功能,可以直接搜索并添加所需库。另一种方法是下载库的.zip文件,通过IDE导入安装。
硬件连接时,务必按照特定的接线表连接四根I2C引脚到Arduino开发板上,确保电路正确无误。
在编写程序时,要从包含库文件和创建LCD对象开始。在程序的源代码开头,要包含LiquidCrystal_I2C库,并创建一个LCD对象,以便后续进行操作。在setup()函数中,进行必要的初始化设置,如开启背光,为后续显示做好准备。
在loop()函数中,你将编写驱动LCD的主体代码,比如接收串口数据并实时显示在屏幕上,这将展示出库的强大功能和灵活度。
最后,可以尝试编写一些示例程序,如动态显示从串口接收的信息,进一步熟悉和掌握如何利用LiquidCrystal_I2C库来控制LCD液晶显示屏。这将让你的Arduino项目更加实用和直观。
2024-12-22 16:32
2024-12-22 16:19
2024-12-22 16:18
2024-12-22 16:00
2024-12-22 15:59
2024-12-22 14:20