Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   845 / 845
(#) GPeti1977 válasza Unfi hozzászólására (») Sze, 20:38 / 1
 
Csak analóg láb, se bemenet sem kimenet nem lehet
(#) Unfi válasza GPeti1977 hozzászólására (») Sze, 20:52 /
 
Köszönöm.
(#) Rober_4 hozzászólása Vas, 23:25 /
 
Sziasztok!
Ezt a billentyűmátrixot szeretném vezérelni egy Arduino Nanoval.
D10-D13 lábakon címezgetem
A lenyomott billentyűk bájtját D2-D9-ig kapnám.
A fenti kód kicsit összevissza adja vissza a lenyomott billentyűket. Gondolkodom azon, hogy esetleg a bemeneteket le kellene húznom alacsony szintre valamilyen ellenállással. Minden ötletet szívesen fogadok!
  1. void setup() {
  2.   // Set MIDI baud rate:
  3.   //Serial.begin(38400);
  4.    Serial.begin(31250);
  5.  
  6.  
  7.   pinMode(10, OUTPUT);
  8.   pinMode(11, OUTPUT);
  9.   pinMode(12, OUTPUT);
  10.   pinMode(13, OUTPUT);
  11.  
  12.   Serial.print("end output\n");
  13.   pinMode(2, INPUT);
  14.   pinMode(3, INPUT);
  15.   pinMode(4, INPUT);
  16.   pinMode(5, INPUT);
  17.   pinMode(6, INPUT);
  18.   pinMode(7, INPUT);
  19.   pinMode(8, INPUT);
  20.   pinMode(9, INPUT);
  21.  
  22.   Serial.print("end input\n");
  23. }
  24.  
  25. void loop() {
  26.  
  27.   Serial.print("scan\n");
  28.   for (int i = 10; i <= 13 ; i++)
  29.   {
  30.     digitalWrite(10, LOW);//28
  31.     digitalWrite(11, LOW);//30
  32.     digitalWrite(12, LOW); //32
  33.     digitalWrite(13, LOW);
  34.     digitalWrite(i, HIGH);
  35.    
  36.     if (digitalRead(2)) //21. láb
  37.     {
  38.       String a = String(i * 4 + 0);
  39.       Serial.print(a + " ");
  40.     }
  41.  
  42.     if (digitalRead(3)) //23. láb
  43.     {
  44.       String a = String(i * 4 + 1);
  45.       Serial.print(a + " ");
  46.     }
  47.  
  48.     if (digitalRead(4)) //25. láb
  49.     {
  50.       String a = String(i * 4 + 2);
  51.       Serial.print(a + " ");
  52.     }
  53.  
  54.  
  55.     if (digitalRead(5)) //27. láb
  56.     {
  57.       String a = String(i * 4 + 3);
  58.       Serial.print(a + " ");
  59.     }
  60.     if (digitalRead(6)) //27. láb
  61.     {
  62.       String a = String(i * 4 + 4);
  63.       Serial.print(a + " ");
  64.     }
  65.     if (digitalRead(7)) //27. láb
  66.     {
  67.       String a = String(i * 4 + 5);
  68.       Serial.print(a + " ");
  69.     }
  70.     if (digitalRead(8)) //27. láb
  71.     {
  72.       String a = String(i * 4 + 6);
  73.       Serial.print(a + " ");
  74.     }
  75.    
  76.     if (digitalRead(9)) //27. láb
  77.     {
  78.       String  a = String(i * 4 + 7);
  79.       Serial.print(a + " ");
  80.     }
  81. }
(#) wbt hozzászólása 11:12 /
 
Sziasztok!
Egy 0-20mA/0-10V leválasztott I/O shield-et kellene szobornom. Mivel sülthal vagyok az arduinohoz meg a hideg ráz a C++-tól, a szakiktól kérdezném, milyen portokra érdemes rakni a 4db optocsatolós kimenetet és egy darab visszajelző (hiba, ha a fesz. zárlatos vagy az áram nyitott) bitet? Mi lenne a kívánság, gondolom az HW-SPI adja magát, csak ki-hogyan szokta meg (főleg, aki ismer más shield-eket, nehogy alapból ütközzek vele). Aki ismeri a libeket, hogy egyből használni is tudja, ne okozzon gondot a portolása stb. (most oda kötöm, ahova akarom...akarják...)
Következő: »»   845 / 845
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem