试图让arduino闪烁摩尔斯电码
我试图制作一个arduino草图,从串行输入中获取一个0-9的数字,并在莫尔斯电码中为该数字闪烁一盏灯。如果你不知道数字的摩尔代码,这很简单,这是一张图片 数字闪烁后,led应闪烁5秒钟,然后程序应等待输入另一个数字。程序正在做的是等待输入,然后一直闪烁。它甚至从来没有达到闪烁5秒钟的程度。这是我的密码:试图让arduino闪烁摩尔斯电码,arduino,led,Arduino,Led,我试图制作一个arduino草图,从串行输入中获取一个0-9的数字,并在莫尔斯电码中为该数字闪烁一盏灯。如果你不知道数字的摩尔代码,这很简单,这是一张图片 数字闪烁后,led应闪烁5秒钟,然后程序应等待输入另一个数字。程序正在做的是等待输入,然后一直闪烁。它甚至从来没有达到闪烁5秒钟的程度。这是我的密码: void setup() { // put your setup code here, to run once: pinMode(LED_BUILTIN, OUTPUT); Ser
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Serial.println("Enter a number to be blinked in moose code");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0){
int num=Serial.read();
delay(2);
if(num>=0){
if(num<6){
for(int i=0;i<num;i++){
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<5; i++){
delay(1200);
digitalWrite(LED_BUILTIN, HIGH);
delay(1200);
digitalWrite(LED_BUILTIN, LOW);
}
}
else{
for(int i=0; i<(num-5); i++){
delay(1200);
digitalWrite(LED_BUILTIN, HIGH);
delay(1200);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<10; i++){
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
digitalWrite(LED_BUILTIN, LOW);
}
}
digitalWrite(LED_BUILTIN, HIGH);
delay(5000);
digitalWrite(LED_BUILTIN, LOW);
}
}
}
void setup(){
//将安装代码放在此处,以便运行一次:
引脚模式(LED内置,输出);
Serial.begin(9600);
Serial.println(“输入要在moose代码中闪烁的数字”);
}
void循环(){
//将主代码放在此处,以便重复运行:
如果(Serial.available()>0){
int num=Serial.read();
延迟(2);
如果(num>=0){
如果(num我修复了我的代码,那么我读取数据的方式就会出现问题
long num=0;
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Serial.print("Enter a number to be blinked in moose code");
}
void loop() {
// put your main code here, to run repeatedly:
while(Serial.available()==0){}
if(Serial.available()>0){
num=Serial.parseInt();
delay(2);
if(num>=0){
if(num<6){
for(int i=0;i<num;i++){
delay(400);
digitalWrite(LED_BUILTIN, HIGH);
delay(400);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<6; i++){
delay(400);
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
digitalWrite(LED_BUILTIN, LOW);
}
}
else{
for(int i=0; i<(num-5); i++){
delay(400);
digitalWrite(LED_BUILTIN, HIGH);
delay(2000);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<10; i++){
delay(400);
digitalWrite(LED_BUILTIN, HIGH);
delay(400);
digitalWrite(LED_BUILTIN, LOW);
}
}
digitalWrite(LED_BUILTIN, HIGH);
delay(5000);
digitalWrite(LED_BUILTIN, LOW);
}
}
}
long num=0;
无效设置(){
//将安装代码放在此处,以便运行一次:
引脚模式(LED内置,输出);
Serial.begin(9600);
串行打印(“输入一个在moose代码中闪烁的数字”);
}
void循环(){
//将主代码放在此处,以便重复运行:
而(Serial.available()==0){}
如果(Serial.available()>0){
num=Serial.parseInt();
延迟(2);
如果(num>=0){
if(numand)你的问题是什么?我会在不同的地方放一些Serial.println(num);语句来帮助你调试。