Zdravím mám problém... jsem začátečník a potřebuji poradit...

Odpovědět
Lukas_Slavkov
Příspěvky: 2
Registrován: 27 bře 2020, 19:22
Reputation: 0

Zdravím mám problém... jsem začátečník a potřebuji poradit...

Příspěvek od Lukas_Slavkov » 27 bře 2020, 19:31

Zdravím, začínám s arduinem a mam desku Uno ale na ní mám Shield... Nicméně potřebuji udělat to aby se mi při stisknutí tlačítka na A1 a A2 měnily módy tak jak jsou vypsané a ne že by mi to přepnulo pouze při držení tlačítka. Předem děkuji za odpověď a přeji krásný zbytek dne. :D

char ledPinD1 = 13; // Ledka na shieldu
char ledPinD2 = 12; // Ledka na shieldu
char ledPinD3 = 11; //Ledka na shieldu
char ledPinD4 = 10; //Ledka na shieldu
char ledPinD5 = 5; //Spínač
char ledPinD6 = 6; //Spínač
const int analogInPin = A0; // potenciometr
const int buttonPin1 = A1; //tlačítko
const int buttonPin2 = A2; //tlačítko
int sensorValue = 0;
int buttonState1 = 0;
int buttonState2 = 0;

void setup()
{
pinMode(ledPinD1, OUTPUT);
pinMode(ledPinD2, OUTPUT);
pinMode(ledPinD3, OUTPUT);
pinMode(ledPinD4, OUTPUT);
pinMode(ledPinD5, OUTPUT);
pinMode(ledPinD6, OUTPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
Serial.begin(9600);
}

void loop()
{
sensorValue = analogRead(analogInPin);
Serial.print("sensor = ");
Serial.print(sensorValue);
Serial.println("");
buttonState1 = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
if (buttonState1 == HIGH) {
if(sensorValue > 799){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD2, HIGH);
digitalWrite(ledPinD1, HIGH);
digitalWrite(ledPinD3, LOW);
}
else if(sensorValue > 599){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, HIGH);
digitalWrite(ledPinD2, LOW);
digitalWrite(ledPinD1, LOW);

}
else if(sensorValue > 399){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, HIGH);
digitalWrite(ledPinD1, HIGH);
digitalWrite(ledPinD2, LOW);
}
else if(sensorValue > 199){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, HIGH);
digitalWrite(ledPinD2, HIGH);
digitalWrite(ledPinD1, LOW);
}
switch (sensorValue) {
case 0 ... 498:
digitalWrite(ledPinD5, LOW);
digitalWrite(ledPinD6, HIGH);
break;
case 499 ... 798:
digitalWrite(ledPinD6, LOW);
digitalWrite(ledPinD5, HIGH);
break;
case 799 ... 2000:
digitalWrite(ledPinD5, LOW);
digitalWrite(ledPinD6, LOW);

}
delay(250);
}
if (buttonState2 == HIGH) {
if(sensorValue > 799){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD2, HIGH);
digitalWrite(ledPinD1, LOW);
digitalWrite(ledPinD3, HIGH);
}
else if(sensorValue > 599){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, HIGH);
digitalWrite(ledPinD2, LOW);
digitalWrite(ledPinD1, HIGH);

}
else if(sensorValue > 399){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, HIGH);
digitalWrite(ledPinD1, LOW);
digitalWrite(ledPinD2, LOW);
}
else if(sensorValue > 199){
digitalWrite(ledPinD4, HIGH);
digitalWrite(ledPinD3, LOW);
digitalWrite(ledPinD2, HIGH);
digitalWrite(ledPinD1, HIGH);
}
switch (sensorValue) {
case 0 ... 498:
digitalWrite(ledPinD5, LOW);
digitalWrite(ledPinD6, LOW);
break;
case 499 ... 798:
digitalWrite(ledPinD6, HIGH);
digitalWrite(ledPinD5, LOW);
break;
case 799 ... 2000:
digitalWrite(ledPinD5, HIGH);
digitalWrite(ledPinD6, LOW);
}
}
}

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů