24-11-2015, 00:18
(Ten post był ostatnio modyfikowany: 25-11-2015, 11:35 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Witam,
Trafiłem na forum ponieważ na etapie wdrażania się w świat arduino natknąłem się na problem.
Mój projekt zakładał do dziś że za pomocą klawiatury przyciski 1,2,3,A będą uruchamiały 1 pin i nadawał mu rożne warianty.
Układ miał wyglądać następująco
case 1. podawaj sygnał 5v co 10 sek (po naciśnięciu przycisku 1)
case 2. podawaj sygnał 5v co 50 sek (po naciśnięciu przycisku 2)
case 3. podawaj sygnał 5v co 100 sek (po naciśnięciu przycisku 3)
case 4. stan wysoki (po naciśnięciu przycisku 4)
ta sama funkcja na kolejnym pinie
Mamy pytanie czy pomiędzy case mam zastosować jakiś warunek który zatrzyma obecnie realizowane zadanie?
Proszę o wyrozumiałość.
kod:
Trafiłem na forum ponieważ na etapie wdrażania się w świat arduino natknąłem się na problem.
Mój projekt zakładał do dziś że za pomocą klawiatury przyciski 1,2,3,A będą uruchamiały 1 pin i nadawał mu rożne warianty.
Układ miał wyglądać następująco
case 1. podawaj sygnał 5v co 10 sek (po naciśnięciu przycisku 1)
case 2. podawaj sygnał 5v co 50 sek (po naciśnięciu przycisku 2)
case 3. podawaj sygnał 5v co 100 sek (po naciśnięciu przycisku 3)
case 4. stan wysoki (po naciśnięciu przycisku 4)
ta sama funkcja na kolejnym pinie
Mamy pytanie czy pomiędzy case mam zastosować jakiś warunek który zatrzyma obecnie realizowane zadanie?
Proszę o wyrozumiałość.
kod:
Kod:
#include <Keypad.h>
#define LEDPIN10 10
#define LEDPIN11 11
const byte ROWS = 4;
const byte COLS = 4;
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
pinMode(LEDPIN10, OUTPUT);
pinMode(LEDPIN11, OUTPUT);
digitalWrite(LEDPIN10, HIGH);
digitalWrite(LEDPIN11, HIGH);
}
void loop()
{
char key = keypad.getKey();
if(key) // Check for a valid key.
{
switch (key)
{
case '1':
digitalWrite(LEDPIN10, LOW);
delay(10000)
break;
case '2':
digitalWrite(LEDPIN10, LOW);
delay(50000)
break;
case '3':
digitalWrite(LEDPIN10, LOW);
delay(100000)
break;
case 'A':
digitalWrite(LEDPIN10, HIGH);
break;
case '4':
digitalWrite(LEDPIN11, LOW);
delay(10000)
break;
case '5':
digitalWrite(LEDPIN11, LOW);
delay(50000)
break;
case '6':
digitalWrite(LEDPIN11, LOW);
delay(100000)
break;
case 'A':
digitalWrite(LEDPIN11, HIGH);
break;
default:
Serial.println(key);
}
}
}