2020-8-22 17:59:50 [显示全部楼层]
5656浏览
查看: 5656|回复: 0

[项目] 骑行者-安全警示灯

[复制链接]
引言:
Arduino做的各种应用广泛被开源硬件爱好者喜欢。今天给大家介绍一个实用性强的arduino nano为主控的自行车灯,特别适合经常骑行的学生,项目包装了之后可以放在双肩背包或者是自行车座的后面,通常在车子做左右转弯时候会发生大的自行车倾角,这个时候数码点阵就会跟着一起亮了。这个项目利用了特别精确灵敏的倾角传感来对移动物体进行判别,达到可以在传感识别后发送指令给单片机,由单片机和跟它连在一起的8x8数码点阵来进行灯光信号的闪烁。这样就可以给后方来车一个提醒并避免交通事故。
骑行者-安全警示灯图2
相关视频会在3日内奉上。


第一步:展示内容
Tilt倾角传感经过倾斜后,数码点阵会进行大小两个圆形的灯光的由内向外的显示。

第二步:倾斜角的计算
用一个变量值来存储变化的倾角,当倾角打到其物理侦测值时候,给出反馈。

第三步:硬件搭建
所需器材:A rduino nano控制器(2);DF的tilt倾角传感器(3);nano扩展板(4);7.4v
锂电池;(5);USB数据线;(6);Max7219 8x8数码点阵 (7);连接线若干
骑行者-安全警示灯图1
第四步:了解一下关键硬件的参数
根据测试,tilt传感在垂直方向会反馈0值。这样数码点阵将空显示。

第五步:
发一些硬件的图片。让人有个直观的认识
参考硬件清单图

第六步:总体介绍
自行车灯设计系统是由arduino nano,倾角传感和88数码块来完成的。nano收集到倾角的反馈后,触发数码点阵完成相应的灯光图案来。
使用过后的感觉是简单实用。外壳部分还需要打磨包装。

第七部:连线图
骑行者-安全警示灯图3
第八部:代码部分的设计
代码部分的数码点阵的程序的设计思路是写出-空显示-小园-大圆。三个点阵需要显示的内容。根据需要把大小园显示的时间分隔用代码表示出来。
[mw_shl_code=applescript,false]#include <Wire.h>
int TiltSwitch = 3;
int val ;

#include <LedControl.h>
int DIN = 8;
int CS  = 9;
int CLK = 10;

LedControl lc = LedControl(DIN, CLK, CS, 0);
byte zero[8] = {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0};
byte inner[8] = {0x0,0x0,0x18,0x24,0x24,0x18,0x0,0x0};
byte outer[8] = {0x0,0x1C,0x3E,0x63,0x63,0x3E,0x1C,0x0};

void setup(void) {
  Serial.begin(9600);
    lc.shutdown(0, false);    //The MAX72XX is in power-saving mode on startup
    lc.setIntensity(0, 5);   // Set the brightness to maximum value
    lc.clearDisplay(0);       // and clear the display
    pinMode (TiltSwitch, INPUT);
}

void loop() {
val = digitalRead (TiltSwitch);
    if (val == HIGH)
  {
    Serial.print ("Value: ");//You can remove the serial print section.
    Serial.println (val);
    printByte(inner);
    delay(200);
    printByte(outer);
    delay(200);
    printByte(inner);
    delay(200);
    printByte(outer);
    delay(200);
  }
else if (val == LOW) {
    printByte(zero);
    Serial.print ("Value: ");//You can remove the serial print section.
    Serial.println (val);
    //delay(100);
}
}

void printByte(byte character []) {
    int i = 0;
    for(i = 0; i < 8; i++) {
        lc.setRow(0, i, character);
    }
}[/mw_shl_code]

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail