SR защелка с двумя кнопками и одним светодиодом (Arduino) - PullRequest
0 голосов
/ 10 октября 2019

Что не так с моим кодом? Я продолжаю получать

значение, необходимое в качестве левого операнда назначения

Я пытаюсь построить SR latch с двумя кнопками, если нажаты две кнопки, светодиоддолжен быть на НИЗКОМ. И если нажать на любую из них, светодиод должен оставаться включенным до тех пор, пока он не будет сброшен другой кнопкой

#include <arduinio.h>


const int buttonPin[] = {2,3};     // the number of the pushbutton pins
const int ledPin =  4;      // the number of the LED pin

// variables will change:
int buttonState1 = 0;         // variable for reading the pushbutton status
int buttonState2 = 0; 
void setup() {
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);  
  digitalWrite(ledPin, LOW);  
  // initialize the pushbutton pin as an input:
  pinMode(2,INPUT);
  pinMode(3,INPUT);
}

void loop(){
 buttonState1 = digitalRead (2);
  buttonState2 = digitalRead (3);
  Serial.println(buttonState1);
  Serial.println(buttonState2);

  if (buttonState1 = 1 && buttonState2 = 0) {    
      // turn LED on:  
      digitalWrite(ledPin, HIGH);
    }
      else if (buttonState1 = 0 && buttonState2 = 1) {    
      // turn LED on:  
      digitalWrite(ledPin, HIGH);
    }
    else if (buttonState1 = 0 && buttonState2 = 0) {    
      // turn LED on:  
      digitalWrite(ledPin, HIGH);
    }
    else {    
      // turn LED on:  
      digitalWrite(ledPin, LOW);
    }
}

1 Ответ

0 голосов
/ 10 октября 2019

Проблема в том, что вы используете = вместо == в , если условия. Должно быть так:

if (buttonState1 == 1 && buttonState2 == 0) {}
...