Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino uno Arduino按钮和led程序_Arduino Uno - Fatal编程技术网

Arduino uno Arduino按钮和led程序

Arduino uno Arduino按钮和led程序,arduino-uno,Arduino Uno,“我正在尝试制作一个程序,其中我通过一个按钮控制6种模式,问题是,在SOS例行程序之后,例行程序将永远持续下去,直到我将其与SOS的最后一个S完美计时时,才会遵守按钮的按下。下面是一个程序,请解释一下我如何在按下一个按钮后摆脱常规 第二,这个程序可以转换成.hexfile吗?对于PIC12微控制器? 当做 法瓦德” 更频繁地使用digitalRead 在每个“SOS”字母的中间和末尾添加一个按钮验证例程,以清除ledMode 比如: 不,你的建议不起作用……可以通过类似的案例基础来实现吗? //

“我正在尝试制作一个程序,其中我通过一个按钮控制6种模式,问题是,在SOS例行程序之后,例行程序将永远持续下去,直到我将其与SOS的最后一个S完美计时时,才会遵守按钮的按下。下面是一个程序,请解释一下我如何在按下一个按钮后摆脱常规

第二,这个程序可以转换成.hexfile吗?对于PIC12微控制器? 当做 法瓦德”


更频繁地使用
digitalRead

在每个“SOS”字母的中间和末尾添加一个按钮验证例程,以清除
ledMode

比如:


不,你的建议不起作用……可以通过类似的案例基础来实现吗?
// Uses button presses to switch an LED between off, dim, medium, high brightness & SOS.


// constants for this sketch
const int buttonPin = 2;       // pushbutton pin
const int led =  9;            // LED  pin
int dit = 500;                 //MORSE CODE dit
int dah = dit*3;               //MORSE CODE dah  
int blankTime = 100;            // GAP IN BETWEEN DIT AND DAH

// variables for this sketch
int ledMode = 1; // variable for recording button presses
int ledState = 6;
void setup() 
{
  // initialize the output pins:
  pinMode(led, OUTPUT);

  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop()
{ 
  // check if the pushbutton is pressed.
  if (digitalRead(buttonPin) == HIGH) 
  {     delay(100);
    // if it is, count a press
    ledMode = ledMode + 1;

    // if we've counted to an invalid mode 
    if (ledMode == 6)
    {delay(100);
      // reset to mode 1
      ledMode = 1;
    }
  }

  // Detect the current mode and set the LED appropriately
  if (ledMode == 1)
  {
    //Mode 1 - LED is off
    analogWrite(led, 0);
  }
  else if (ledMode == 2)
  {
    //Mode 2 - LED is dim
    analogWrite(led, 64);
    delay(100);
  }
  else if (ledMode == 3)
  {
    //Mode 3 - LED is medium
    analogWrite(led, 128);
delay(100);  
}
    else if(ledMode==4){

    //Mode 4 - LED is bright
    analogWrite(led, 255);
  delay(100);
}
else if(ledMode==5)
{
//Mode 5 -MORSE CODE
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait  
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait  
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait

  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dah);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dah);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dah);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait

  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);               // wait
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);               // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime); }              // wait
  if(ledState==6){ 
return;}    
//return ;        
}
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);                // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);          // wait
  if (digitalRead(buttonPin) == HIGH) //READ
  {     delay(100);                   //DELAY
  ledMode = ledMode + 0;              //CLEAR
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);                // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);          // wait  
  if (digitalRead(buttonPin) == HIGH) //READ
  {     delay(100);                   //DELAY
  ledMode = ledMode + 0;              //CLEAR      
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(dit);                // wait
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(blankTime);          // wait
  if (digitalRead(buttonPin) == HIGH) //READ
  {     delay(100);                   //DELAY
  ledMode = ledMode + 0;              //CLEAR