- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
嘿,我 wounderd 如果有什么。我可以继续阅读以改进此代码的突击队吗?至少它现在可以工作,但需要做一些微调:)
如您所见,代码非常困惑且难以阅读。希望有人能帮忙。
提前谢谢。
int potPin = 0;
int motorPin = 11;
int potValue = 0;
int on = 0;
int L2 = 2;
int L3 = 3;
int L4 = 4;
int L5 = 5;
int L6 = 6;
int L7 = 7;
int L8 = 8;
int L9 = 9;
int L10 = 10;
int M2 = 40;
int M3 = 75;
int M4 = 100;
int M5 = 125;
int M6 = 150;
int M7 = 175;
int M8 = 200;
int M9 = 225;
int M10 = 250;
void setup()
{
pinMode( motorPin,OUTPUT);
pinMode( potPin, INPUT);
pinMode (L2, OUTPUT);
pinMode (L3, OUTPUT);
pinMode (L4, OUTPUT);
pinMode (L5, OUTPUT);
pinMode (L6, OUTPUT);
pinMode (L7, OUTPUT);
pinMode (L8, OUTPUT);
pinMode (L9, OUTPUT);
pinMode (L10, OUTPUT);
Serial.begin(9600);
}
void loop()
{
Monitor();
Motorspeed();
LedBar();
};
void Monitor()
{
int val = Serial.read() - '0';
if (val == 1)
{
Serial.println("Motor is ON");
on = 1;
digitalWrite(motorPin, HIGH);
}
else if (val == 0)
{
Serial.println("Motor is OFF");
on = 0;
digitalWrite(motorPin, LOW);
}
Serial.flush();
}
void Motorspeed()
{
potValue = analogRead(potPin) /4;
if(on == 1)
{
analogWrite(motorPin, potValue);
}
}
void LedBar()
{
potValue = analogRead(potPin) /4;
if(on == 1){
if (on == 1, potValue > M2) {
digitalWrite(L2, HIGH);
}
else {
digitalWrite(L2, LOW);
}
if (on == 1, potValue > M3) {
digitalWrite(L3, HIGH);
}
else {
digitalWrite(L3, LOW);
}
if (on == 1, potValue > M4) {
digitalWrite(L4, HIGH);
}
else {
digitalWrite(L4, LOW);
}
if (on == 1, potValue > M5) {
digitalWrite(L5, HIGH);
}
else {
digitalWrite(L5, LOW);
}
if (on == 1, potValue > M6) {
digitalWrite(L6, HIGH);
}
else {
digitalWrite(L6, LOW);
}
if (on == 1, potValue > M7) {
digitalWrite(L7, HIGH);
}
else {
digitalWrite(L7, LOW);
}
if (on == 1, potValue > M8) {
digitalWrite(L8, HIGH);
}
else {
digitalWrite(L8, LOW);
}
if (on == 1, potValue > M9) {
digitalWrite(L9, HIGH);
}
else {
digitalWrite(L9, LOW);
}
if (on == 1, potValue > M10) {
digitalWrite(L10, HIGH);
}
else {
digitalWrite(L10, LOW);
}}
else
{
digitalWrite(2, LOW);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
}
}
最佳答案
简短回答:学习如何使用循环(for 和 while)和数组。
更长的一个:
这样定义 M:
int M[] = {40,75,...,250};
(将...替换为其余值)
并将 LedBar 函数更改为:
void LedBar()
{
int potValue = analogRead(potPin) /4;
if(on == 1)
for (int i=0;i<=8;i++)
if (potValue > M[i])
digitalWrite(i+2, HIGH);
else
for (int i=0;i<=8;i++)
digitalWrite(M[i+2], LOW);
}
此外,在设置中,您可以编写 pinMode (L.., OUTPUT);
行:
for (int i=2;i<=10;i++)
pinMode (i, OUTPUT);
关于c - Arduino 电机速度 LED(Led 条形图代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16363042/
嘿,我 wounderd 如果有什么。我可以继续阅读以改进此代码的突击队吗?至少它现在可以工作,但需要做一些微调:) 如您所见,代码非常困惑且难以阅读。希望有人能帮忙。 提前谢谢。 int potPi
我使用 AVR 作为微 Controller ,ATMEGA8 作为处理器(在微 Controller 内部)。带有微 Controller 的电路板有 4 个 LED。我能够刻录程序并点亮 LEDS
谁能解释一下两者之间的关系 LED 像素密度, LED像素高度和宽度 , 和 分辨率在创建模拟器时方法很详细。。并在启动时再次默认值:皮肤尺寸、密度;缩放密度以实现大小? 最佳答案 像素密度:每英寸像
我有一个由大小为 64*64 的 LED 组成的阵列。每个 LED 都可以点亮各种颜色,并且可以非常快速地改变颜色。我的最终目标是:对于网络摄像头接收到的每一帧,我希望能够从帧中“提取”LED 数组,
我正在使用 Arduino Uno 软件进行编码,但遇到了问题。我试图以随机顺序打开 8 个 LED,然后立即将它们全部关闭。我的问题是 LED 会多次点亮相同的 LED,但最终不会全部点亮。这使得电
当我使用Ethernet.begin(mac,ip)时,LED灯不会打开和关闭。但是当我不使用那条线时它就可以工作。但我需要使用以太网和 UPP 模块来打开和关闭。我怎样才能? 板卡型号:以太网08T
我试图顺时针和逆时针方向点亮我的 LED 灯。我使用mpu6050作为LED的方向控制。我检查了我的 mpu6050 驱动代码,它们没问题。顺时针方向工作时效果很好,所有 LED 灯均呈红色亮起。像这
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我是一名优秀的程序员,十分优秀!