Arduino Polska Forum

Pełna wersja: Pomoc z kodem
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Hej
Mam do napisania program zaliczeniowy, w którym kontroluje się za pomocą klawiatury analogowej 4x4 kostkę LED 3x3x3, gdzie układ klawiatury ma wyglądać tak (przyciski "?" nie mają żadnej funkcji):

[Obrazek: 2zjgz88.jpg]

Z arduino dopiero co zaczynam, nie mam dostępu do płytki, więc korzystam z symulatora i próbuję podłączać i zaprogramować, żeby sterować za pomocą 5 guzików 4 diody (gdzie 2 diody to jedna warstwa, a kolejne to 2 warstwa) a guziki to 1. wybór diody 1 2. wybór diody 2 3. wybór warstwy 1 4. wybór warstwy 2 5. zapal/zgaś wszystkie,
lecz nie wychodzi mi nawet zwykłe włączenie diody za pomocą guzika (z kodu, który znalazłam w internecie, żeby przetestować  Big Grin ).
Czy tutaj wszystko jest odpowiednio podłączone?
[Obrazek: xpr8si.png]
Kod, który zaczęłam:

Kod:
int klawisz[]={1,2,3,4,5,6,7,8,9}
int poziom[] = {1,2,3};
int warstwa_1[] = {2, 3, 4, 5, 6, 7, 8, 9, 10}; ///piny led z kazdej warstwy
int warstwa_2[] = {11, 12, 13, 14, 15, 16, 17, 18, 19};
int warstwa_3[] = {20, 21, 22, 23, 24, 25, 26, 27, 28};
int i;


void setup() {
 // put your setup code here, to run once:
pinMode(klawisz[], INPUT);
pinMode(warstwa_1[], OUTPUT);
pinMode(warstwa_2[], OUTPUT);
pinMode(warstwa_3[], OUTPUT);
}

void loop() {


 ////// tym sposobem?:
if (poziom[1] == HIGH) {
 if (warstwa_1[2] == HIGH{
   digitalWrite(warstwa_1[2], HIGH);
   }
     else{
       digitalWrite(warstwa_1[2], LOW);
       }
 
 }
//////////////ALBO TYM?//////////////////////
if (poziom[2] == HIGH) {

 stan = digitalRead(warstwa_2[]);

   if (stan == HIGH){
     //zapal:
     digitalWrite(warstwa_2[i], HIGH);
     }
     else {
       //zgas:
      digitalWrite(warstwa_2[i], LOW);
       }
 
 }
////////////////////////////////////////
if (poziom[3] == HIGH) {
 stan = digitalRead(warstwa_3[]);
 }


}

Z góry dziękuję za każdą pomoc z kodem oraz z układem.  Big Grin
Nauka arduino tak nie działa, czytania też tak nie działała. Na początku poznajesz literki, bez istotnego wytłumaczenia po co i na co, potem słowa, a po latach piszesz wypracowania.
Na forbocie jest kurs Arduino, przerób go, potem przykłady z Arduino, potem zadawaj pytania.
Kostkę możesz sobie podzielić na warstwy, trzy od dołu, trzy od lewej, trzy od przodu. Dla każdego takiego podziału przypisujesz trzy przyciski. Wciśnięcie wybranej kombinacji trzech przycisków, po jednym z każdej grupy, zaświeci wybraną LED. Miłej nauki.