资料介绍
描述
该项目允许您“记录”感官输入并将其存储以备后用。信息存储在 EEPROM 而不是动态存储器中,因此即使在电路板关闭时也可以记住它(就像一个微型硬盘驱动器)。
材料:
作为一名亚马逊合作伙伴,我从符合条件的购买中赚取收入。
第 1 步:制作电路

根据上图制作电路:
- 电位器到引脚 A0
- 按钮到 D2
- 伺服到针 D3
- 导致引脚 D13
在这里查看电路模拟!
第 2 步:上传代码
将此代码上传到您的 Arduino(无需额外的库安装):
#include
#include //used to store recorded values
Servo myServo;
float resolution = 1000;//MUST be less than EEPROM.length()
float recordTime = 5; //delay time
bool recording = false;
void setup() {
pinMode(13, OUTPUT); //status led
pinMode(2, OUTPUT);
myServo.attach(3);
Serial.begin(9600);
digitalWrite(2, HIGH);
//Serial.println(EEPROM.length());
}
void loop() {
if (recording == true) {//record
for (int i = 1; i <= resolution; i++) {
digitalWrite(13, HIGH); //light status led
int val = map(analogRead(A0), 0, 1023, 0, 180);
EEPROM.write(i, val);
//Serial.println(EEPROM.read(i));
myServo.write(val);
delay(recordTime);
}
digitalWrite(13, LOW); //turn off status led
delay(1000);//give time for person
recording = false;
}
else {
for (int i = 1; i <= resolution; i++) {//playback
if (digitalRead(2) == 0) {//stop playback and record new values
recording = true;
break;
}
int readval = EEPROM.read(i);
myServo.write(readval);
//Serial.println(readval);
delay(recordTime);
}
digitalWrite(13, HIGH); //show a new repeat
delay(100);
digitalWrite(13, LOW);
}
}
注意说的评论//MUST be less than EEPROM.length()
要查找您的板的 EEPROM 存储的大小,取消注释//Serial.println(EEPROM.read(i));
这将在串行监视器中打印 EEPROM 的大小,您可以相应地更改注释变量的值。
如何使用
要使用该电路,您只需按下按钮开始记录并通过电位器输入所需的信息。现在,板子会无休止地重复你的动作(每次迭代都会闪烁一个 LED),直到你再次按下按钮来记录新的动作。您还可以通过更改 和 的值来改变记录的时间resolution
量recordTime
。
笔记
这段代码在 Arduino 上使用了大量的 EEPROM 内存,因此有一些解决方案:
- 您可以一次只记录一个位置,而不是“流畅”的录音,让它更加“跳跃”。只需将伺服器移动到新位置并按下按钮即可。这样做,直到你拥有所有你想要的职位。
- 存储在 PROGMEM(程序存储器)而不是 EEPROM
- 如果您不需要在断电期间保存信息,请使用常规整数数组而不是 EEPROM。
- 写入外部存储,例如 microSD 卡
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
- 播放复音开源设计
- WIZwiki W7500 WebRadio播放器开源
- 迷你视频录制和流媒体机器人开源分享
- 和弦Netduino音乐播放器开源分享
- Arduino WAV播放器开源
- 8瓦迷你功放开源项目
- 媒体播放模块组件的框架实现 1次下载
- 媒体组件的播放和录制功能实现教程 1次下载
- 使用LabVIEW实现简单播放机的资料免费下载 6次下载
- 使用VS1053B模块播放mp3和录制adpcm音频的使用记录详细说明
- 如何在Linux录制一个终端操作视频详细资料分析 2次下载
- 基于DSP的智能功放开关电源的设计 17次下载
- LXE播放器 0次下载
- VB写的一个简单的音频播放器
- 借助基于网络的录制功能录制、分发和归档Cisco WebEx
- 如何在播放视频过程中插入音频 272次阅读
- cd播放机开关失灵如何处理 1125次阅读
- 变速播放器1和2的区别 236次阅读
- 为什么好的播放器还要配解码器 1528次阅读
- 如何使用音频接口播放音频文件 685次阅读
- 字节发布机器人领域首个开源视觉-语言操作大模型,激发开源VLMs更大潜能 561次阅读
- 【AWTK开源智能串口屏方案】方案介绍和工作原理 1036次阅读
- MX Player在线播放优化 816次阅读
- ffmpeg开发播放器学习 738次阅读
- 前沿开源技术领域的开源大数据一一解读 1180次阅读
- OpenHarmony视频录制流程介绍 687次阅读
- 在DAYU200上实现OpenHarmony视频播放器 1028次阅读
- 数字视频播放机的嵌入式操作系统平台的搭建和解决方案 3312次阅读
- 谷歌开源TFGAN轻量级的工具库 目的是让训练和评估GAN变得更加简单 4963次阅读
- 新型嵌入式MP3播放器设计方案 5027次阅读
下载排行
本周
- 1STM32开发板教程之STM32开发指南免费下载
- 24.88 MB | 176次下载 | 3 积分
- 2EN60335-1安规标准 中文版本
- 1.86 MB | 52次下载 | 1 积分
- 3LT7406FJ N沟道增强型功率MOSFET规格书
- 1.38 MB | 2次下载 | 免费
- 4米尔-瑞芯微RK3562核心板开发板,4核CPU,ARM中量级多面手
- 3.45 MB | 2次下载 | 免费
- 5STM32系列产品选型-中文
- 1.81 MB | 1次下载 | 免费
- 6LTS6802FJCB N沟道增强型功率MOSFET规格书
- 1.00 MB | 1次下载 | 免费
- 7运算放大电路入门教程
- 0.70 MB | 1次下载 | 免费
- 8开源鸿蒙版真4K显示器广告机主板AIoT-6780SE彩页
- 613.79 KB | 1次下载 | 免费
本月
- 1STM32开发板教程之STM32开发指南免费下载
- 24.88 MB | 176次下载 | 3 积分
- 2DeepSeek:从入门到精通
- 5.36 MB | 92次下载 | 1 积分
- 3EN60335-1安规标准 中文版本
- 1.86 MB | 52次下载 | 1 积分
- 4OAH0428最新规格书(中文)
- 2.52 MB | 27次下载 | 10 积分
- 5UHV系列雷电冲击电压发生器试验装置详细说明使用
- 1.07 MB | 17次下载 | 免费
- 6Altium-常用3D封装库(Step)接插件篇
- 4.95 MB | 14次下载 | 免费
- 7介绍一些常用的电子元器件
- 3.20 MB | 7次下载 | 免费
- 8麻将机升降电路
- 0.12 MB | 6次下载 | 1 积分
总榜
- 1matlab软件下载入口
- 未知 | 935124次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420063次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191371次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183336次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81583次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73814次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论