0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跑鞋里程表的制作

454398 来源:wv 2019-08-28 11:41 次阅读

第1步:材料

对于这个项目,我使用了以下组件:

- Arduino Nano

- 4针OLED LCD屏幕(背光)

- 10K欧姆电阻

- 4针按钮

- 电线

- 3D打印机

步骤2:设置OLED屏幕

跑鞋里程表的制作

我首先确保屏幕工作并且可以通过Arduino很好地控制 - 我开始使用常规尺寸模型并最终缩小使用Arduino Nano,希望设计更加紧凑。

如图所示,屏幕的四个引脚应连接到Arduino,如下所示:

VCC - 》 5V电源

GND - 》 GND

SCL - 》 A5

SDA - 》 A4

然后可以使用芯片控制屏幕。可以在https://randomnerdtutorials.com/guide-for-oled-display-with-arduino/找到一些基本的入门代码。 Adafruit GFX和SSD1306库是必需的,并且包含了使屏幕工作的繁重工作,因此在Arduino IDE中实现简单的内置模式或文本显示相对简单。

步骤3:添加按钮

我希望此设备具有交互性,因此我在其设置中添加了一个按钮。这非常简单,我们只需将按钮上的一个引脚连接到Arduino的3.3V电源,另一端连接到其第二个数字输入。按钮也与10K欧姆电阻器串联接地。

一旦到位,Arduino就可以从按钮接收输入并在屏幕上显示结果。

第4步:编程

我已粘贴下面设备的代码。它只包含几个if循环,并定义一个里程变量,当按下按钮时,里程变量会增加并显示在屏幕上。我还包括延迟,因此如果按下按钮,它会更快地增加。

#include

#include

#include

//OLED显示TWI地址#define OLED_ADDR 0x3C

Adafruit_SSD1306显示(-1);

#if(SSD1306_LCDHEIGHT!= 64)#error(“高度不正确,请修复Adafruit_SSD1306.h!”); #endif

//常量不会改变。它们用于设置引脚号:const int buttonPin = 2;//按钮引脚的数量const int ledPin = 13;//LED引脚的编号

//变量将改变:int buttonState = 0;//用于读取按钮状态的变量int miles = 240;//计算里程数

void setup(){//将LED引脚初始化为输出:pinMode(ledPin,OUTPUT);//将按钮引脚初始化为输入:pinMode(buttonPin,INPUT);

//初始化并清除display display.begin(SSD1306_SWITCHCAPVCC,OLED_ADDR); display.clearDisplay(); display.display(); Serial.begin(9600);//更新显示所有上述图形display.display(); }

void loop(){//读取按钮值的状态:buttonState = digitalRead(buttonPin);

//检查是否按下了按钮。如果是,则buttonState为HIGH:if(buttonState == HIGH){//打开LED:digitalWrite(ledPin,HIGH);//增量里程变量display.clearDisplay();里程+ = 1;延迟(100); } else {//关闭LED:digitalWrite(ledPin,LOW); }

//检查鞋子是否太旧(超过250英里)if(miles》 250){display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,55); display.print(“新对的时间!”); } else {display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0,55); display.print(“你很高兴!”); }//display field values//display Headers display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(5,0); display.print(“Miles Run:”);

display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(15,30); display.print(“”); display.print(英里);//display message display.display(); Serial.print(英里); }

步骤5:装置设备

为了使器件更小,我换成了Arduino Nano。这个代码都不需要改变,但是Arduino最近更换了他们的bootloader,所以如果你从中国购买一台带有CH34X芯片的廉价Nano,你可能需要下载一些驱动程序并使用旧的bootloader(这是一个选项) IDE)。我将组件直接焊接到芯片上,然后3D打印出一个可以在这里找到的小盒子。我在前面为屏幕切了一个洞,然后在侧面有两个小孔,用于充电线和按钮。因为这只是一个原型而且专注于电子功能,所以我用一些电工胶带将它们固定在一起,并用安全销固定在鞋子上。我试图通过将电池的正极引线连接到Arduino上的Vin和负极引线接地来切换到电池供电(使用9V)以使设备更便携。我包括一个与正极引线串联的拨动开关来控制电源。这首先工作,但由于某种原因,其他开关不起作用,屏幕偶尔会出现故障。我认为我发现的拨动开关可能有问题,但为了时间的缘故,我现在决定放弃电池的想法。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 里程表
    +关注

    关注

    1

    文章

    15

    浏览量

    9854
收藏 人收藏

    评论

    相关推荐

    开关电源设计与制作

    电子发烧友网站提供《开关电源设计与制作.doc》资料免费下载
    发表于 10-24 16:36 5次下载

    无线充电技术:电动汽车未来的里程焦虑解药

    长期以来,电动汽车的里程焦虑一直是阻碍消费者购买的重要因素。然而,无线充电技术的出现有望改变这一局面,为电动汽车的普及带来新的希望。   无线充电技术通过简化充电过程,降低充电站的建设成
    的头像 发表于 10-24 14:22 623次阅读

    特斯拉里程碑达成:第1亿颗4680电池震撼问世

    特斯拉的4680电池技术再次跨越重要里程碑,公司于9月15日欣然宣布,其第1亿颗创新性的4680电池已成功下线,这一成就标志着特斯拉在电池制造领域的飞速进展。特斯拉首席执行官埃隆·马斯克通过社交媒体向辛勤工作的电池团队致以热烈祝贺,彰显了公司对这一里程碑事件的自豪与重视。
    的头像 发表于 09-18 15:30 1155次阅读

    光刻掩膜版制作流程

    光刻掩膜版的制作是一个复杂且精密的过程,涉及到多个步骤和技术。以下是小编整理的光刻掩膜版制作流程: 1. 设计与准备 在开始制作光刻掩膜版之前,首先需要根据电路设计制作出掩模的版图。这
    的头像 发表于 09-14 13:26 477次阅读

    远程电表抄:智能电网的新里程

    1.界定与基本原理远程电表抄,又被称为全自动电能计量,是一种通过无线网络或通信网络技术性,完成电力企业远程获得用户电表读值的专业技术。这种系统不再依赖人工上门服务抄,反而是通过传感器、物联网产品
    的头像 发表于 05-22 14:16 511次阅读
    远程电表抄<b class='flag-5'>表</b>:智能电网的新<b class='flag-5'>里程</b>碑

    指针万用和数字万用有什么区别?

    指针万用和数字万用都是用于测量电压、电流、电阻等电气参数的仪器,它们在电气维修、检测和电子制作等领域有着广泛的应用。
    的头像 发表于 05-13 17:43 2787次阅读

    小鹏汽车智驾总里程假期5天超1800万公里

    小鹏汽车官方公布了五一假期期间的智驾数据,总里程5天已超过1800万公里! 5月4日智驾总里程达384.1万公里; 5月4日智能泊车6.3万次; 5月4日智驾里程渗透率约55.9%; 4月30日---5月4日智驾总
    的头像 发表于 05-06 18:31 1073次阅读

    迈凯伦F1全球最短里程再拍,新东家三年仅行驶23公里

    值得注意的是,该F1在2021年的拍卖中,里程表显示仅行驶了387公里。尽管实际成交价远高于1500万美元的预期,且刷新了当年最昂贵拍卖车型及Gooding & Company拍卖行车展期间最高成交纪录,但在过去三年间,新主人并未对其进行过多驾驶。
    的头像 发表于 04-28 10:11 460次阅读

    汽车HMI发展,带动MCU市场的需求转变

    。   什么是HMI   HMI是Human Machine Interface,也就是所谓的人机界面,可以泛指用户与设备进行信息交换的途径,是人与计算机之间进行交换信息和对话的接口。HMI的形式可以是多样的,早期汽车的仪表盘主要是以机械指针为主,包括了车速里程表、转速
    的头像 发表于 03-15 09:08 5171次阅读
    汽车HMI发展,带动MCU市场的需求转变

    cadence LOGO如何制作

    电子发烧友网站提供《cadence LOGO如何制作.docx》资料免费下载
    发表于 03-07 14:28 0次下载

    SL3036国产新品 48V/60V电动车里程增程器供电芯片

    随着电动车的普及,里程焦虑成为了很多电动车用户面临的问题。为了解决这个问题,SL3036国产新品应运而生,它是一款48V/60V电动车里程增程器供电芯片。这款芯片的出现,为电动车用户提供了更加可靠
    发表于 01-16 17:23

    百度地图宣布城市车道级导航取得里程碑突破

    近日,百度地图宣布其城市车道级导航取得里程碑突破,已率先覆盖全国超100城普通道路。
    的头像 发表于 01-09 17:28 1136次阅读
    百度地图宣布城市车道级导航取得<b class='flag-5'>里程</b>碑突破

    Arduino制作循迹小车教程

    Arduino制作循迹小车完全教程
    发表于 01-05 11:09 4次下载

    快速制作PCB中的秘密

    快速制作PCB中的秘密
    的头像 发表于 12-14 18:27 727次阅读
    快速<b class='flag-5'>制作</b>PCB中的秘密

    机器人里程计数据的上传与接收

    1.通信协议 里程计数据格式(19字节) 2.STM32端 /** * @brief 发送里程计数据 */ void DataTrans_Odom ( void ) { uint8_t _cnt
    的头像 发表于 11-16 16:48 465次阅读
    机器人<b class='flag-5'>里程</b>计数据的上传与接收