步骤1:零件清单
R1 = 10至220Ω½W取决于首选的LED亮度
R2,R3 = 10ΚΩ¼W
Arduino Uno
霍尔传感器
7805 5V稳压器TO-220
C1,C2 = 220 uf
7段LED显示屏(共阳极)
9-12 v电池(否则连接设备
连接电线,通用PCB。
步骤2:工作原理
主要工作原理基于AVR Arduino UNO。
读取两个霍尔传感器和空档开关的信号,并将当前档位输出到7段LED指示器,通过
在最大输出功率下,传感器和传感器产生的热量很大。或出于这个原因,我们将其直接安装在接地层上以实现最大的散热。
步骤3:电路图
int ledPinA = 13; // LED connected to digital pin 3
int ledPinB = 12; // LED connected to digital pin 4
int ledPinC = 11; // LED connected to digital pin 5
int ledPinD = 10; // LED connected to digital pin 6
int ledPinE = 9; // LED connected to digital pin 7
int ledPinF = 8; // LED connected to digital pin 8
int ledPinG = 7; // LED connected to digital pin 9
#define BUTTON_DOWN 4
#define BUTTON_UP 6
步骤4:源代码
#define BUTTON_DOWN 4
#define BUTTON_UP 6
int ledPinA = 13; // LED connected to digital pin 3
int ledPinB = 12; // LED connected to digital pin 4
int ledPinC = 11; // LED connected to digital pin 5
int ledPinD = 10; // LED connected to digital pin 6
int ledPinE = 9; // LED connected to digital pin 7
int ledPinF = 8; // LED connected to digital pin 8
int ledPinG = 7; // LED connected to digital pin 9
int val_down = 0;
int old_val_down = 0;
int val_up = 0;
int old_val_up = 0;
int state = 0;
int gear = 0;
// The setup() method runs once, when the sketch starts
void setup()
{
pinMode(BUTTON_DOWN, INPUT);
pinMode(BUTTON_UP, INPUT);
// initialize the digital pin as an output:
pinMode(ledPinA, OUTPUT);
pinMode(ledPinB, OUTPUT);
pinMode(ledPinC, OUTPUT);
pinMode(ledPinD, OUTPUT);
pinMode(ledPinE, OUTPUT);
pinMode(ledPinF, OUTPUT);
pinMode(ledPinG, OUTPUT);
}
void led0()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, HIGH);
}
void led1()
{
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
}
void led2()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, HIGH);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, LOW);
}
void led3()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, LOW);
}
void led4()
{
digitalWrite(ledPinA, HIGH);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
}
void led5()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
}
void led6()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, HIGH);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
}
void led7()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, HIGH);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, HIGH);
digitalWrite(ledPinG, HIGH);
}
void led8()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, LOW);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
}
void led9()
{
digitalWrite(ledPinA, LOW);
digitalWrite(ledPinB, LOW);
digitalWrite(ledPinC, LOW);
digitalWrite(ledPinD, LOW);
digitalWrite(ledPinE, HIGH);
digitalWrite(ledPinF, LOW);
digitalWrite(ledPinG, LOW);
}
void setLed(int number)
{
switch (number) {
case 0:
led0();
break;
case 1:
led1();
break;
case 2:
led2();
break;
case 3:
led3();
break;
case 4:
led4();
break;
case 5:
led5();
break;
case 6:
led6();
break;
case 7:
led7();
break;
case 8:
led8();
break;
case 9:
led9();
break;
}
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void oldloop()
{
// wait for a second
led0();
delay(1000); // wait for a second
led1();
delay(1000); // wait for a second
led2();
delay(1000); // wait for a second
led3();
delay(1000); // wait for a second
led4();
delay(1000); // wait for a second
led5();
delay(1000); // wait for a second
led6();
delay(1000); // wait for a second
led7();
delay(1000); // wait for a second
led8();
delay(1000); // wait for a second
led9();
delay(1000); // wait for a second
}
void loop()
{
val_up = digitalRead(BUTTON_UP);
if ((val_up == HIGH) && (old_val_up == LOW)&&gear《7 ) {
gear += 1;
delay(100);
}
old_val_up = val_up;
val_down = digitalRead(BUTTON_DOWN);
if ((val_down == HIGH) && (old_val_down == LOW)&&gear》1 ){
gear -= 1;
delay(100);
}
else if ((val_down == HIGH) && (old_val_down == LOW)&&(gear《1))
{
gear += 1;
delay(100);
}
else if ((val_down == HIGH) && (old_val_down == LOW)){
gear += -1;
delay(100);
}
old_val_down = val_down;
if (gear 》= 6) {
gear = 6;
}
setLed(gear);
}
第5步:安装
将所有电路组装在一起后,电路便可以正常工作并可以安装在摩托车上了。
在我的照片中,我将这种指示器用于基于杜克自行车发动机的汽车
因此自行车的安装技术类似。..
注意:齿轮机构与自行车相同。
责任编辑:wv
-
指示器
+关注
关注
0文章
251浏览量
38395
发布评论请先 登录
相关推荐
使用新思科技LucidShape软件的摩托车前照灯设计
![使用新思科技LucidShape软件的<b class='flag-5'>摩托车</b>前照灯设计](https://file1.elecfans.com/web3/M00/07/6E/wKgZPGelzAeAA3wyAAA24hwpbZY421.png)
虹科免拆案例 | 2012 款哈雷戴维森摩托车冷机急加速熄火
![虹科免拆案例 | 2012 款哈雷戴维森<b class='flag-5'>摩托车</b>冷机急加速熄火](https://file.elecfans.com/web2/M00/3F/D7/poYBAGJqPMKAEXjWAAAOpepuZJ8475.jpg)
亿纬锂能亮相米兰国际摩托车展
上海贝岭功率器件在电动轻便摩托车控制器的应用解析
![上海贝岭功率器件在电动轻便<b class='flag-5'>摩托车</b>控制<b class='flag-5'>器</b>的应用解析](https://file1.elecfans.com/web2/M00/0C/43/wKgaomcys2KANKjEAAAZDuU4Jn8778.png)
线路故障指示器如何复位
联合电子2024北京国际摩托车展览会精彩回顾
国内市场蓝海重要信号摩托车正在加快高端化智能化电动化转型
![国内市场蓝海重要信号<b class='flag-5'>摩托车</b>正在加快高端化智能化电动化转型](https://file1.elecfans.com/web2/M00/06/29/wKgZombiiuuAHOTFAAHsyXaegnw479.jpg)
跨越速度与激情:SIMSCAN三维扫描仪成雅马哈摩托车新晋检测利器
![跨越速度与激情:SIMSCAN三维扫描仪成雅马哈<b class='flag-5'>摩托车</b>新晋检测利器](https://file1.elecfans.com/web2/M00/F9/00/wKgaomaGZBaAUyCUAAJLW4kdQE0233.png)
TomTom通过创新导航支持BMW摩托车的全球产品线
博世参展2024北京国际摩托车展览会,助力两轮摩托车全面提升性能
PMP22557.1-适用于电动摩托车 BMS 应用的高压降压转换器 PCB layout 设计
![PMP22557.1-适用于电动<b class='flag-5'>摩托车</b> BMS 应用的高压降压转换<b class='flag-5'>器</b> PCB layout 设计](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论