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   458 / 855
(#) szeg76 válasza devilke3000 hozzászólására (») Júl 9, 2018 /
 
Lehet, pl. ezzel a módosítással:

  1. if(allapot)
  2.       {
  3.       strip.setPixelColor(0,0,0,0);
  4.       strip.show();
  5.       interval=500;
  6.       }
  7.     else  
  8.       {
  9.       strip.setPixelColor(0,100,100,100);
  10.       strip.show();
  11.       interval=2000;
  12.       }
(#) pisti hozzászólása Júl 9, 2018 /
 
Egy programban szükség lenne a 3x4-es billentyűzetről beolvasott kétjegyű számot használni. Szeretném a *-gal törölni, (ha rosszul írtam be) és a # indítani a további műveletet. Pl egy lift adatbevitele.
Találtatok-e hasonló kódot valamelyik projektben?
(#) devilke3000 válasza szeg76 hozzászólására (») Júl 9, 2018 /
 
else aktiv folyamatosan (nem villog)....
(#) devilke3000 válasza szeg76 hozzászólására (») Júl 9, 2018 /
 
Én toltam el!
Amit irtál az tökéletes!
Köszönet!
  1. #include <Adafruit_NeoPixel.h>
  2. #define PIN 5
  3.  
  4. Adafruit_NeoPixel strip = Adafruit_NeoPixel(1, PIN, NEO_GRB + NEO_KHZ800);
  5.  
  6. void setup() {
  7.   strip.begin();
  8.   strip.show(); // Initialize all pixels to 'off'
  9. }
  10.  
  11. unsigned long interval;
  12. unsigned long previousMillis=0;
  13.  
  14. byte allapot=0;  // ebben tároljuk a LED állapotát
  15.  
  16. void loop()
  17. {
  18.   unsigned long currentMillis=millis();
  19.  //if(currentMillis - previousMillis > interval)
  20.   if(currentMillis > previousMillis + interval) //50day ok!
  21.   {
  22.     // save the last time you blinked the LED
  23.     previousMillis = currentMillis;
  24.  allapot=1-allapot;
  25.     if(allapot)
  26.       {
  27.       strip.setPixelColor(0,0,0,0);
  28.       strip.show();
  29.       interval=2000;
  30.       }
  31.     else  
  32.       {
  33.       strip.setPixelColor(0,100,100,100);
  34.       strip.show();
  35.       interval=5;
  36.       }
  37.       }
  38.    
  39.   }
A hozzászólás módosítva: Júl 9, 2018
(#) tbarath válasza pisti hozzászólására (») Júl 10, 2018 /
 
Kiindulásanak szerintem ez: Bővebben: Link.
Egyébként google-be beírod, hogy arduino keypad, esetleg egy input utána, aztán találsz bőven példakódot.
(#) devilke3000 válasza pisti hozzászólására (») Júl 10, 2018 /
 
Ez ha segit csatolok egy példát...
(#) krauszkrisztian14 hozzászólása Júl 10, 2018 /
 
Üdv!
Hogyan leget egy nyomtató enkódert összekötni arduinoval, és a jelét feldolgozni?
Megvan még a csíkozott szallag is meg a barázdás kör.
Előre is köszönöm!
(#) Kera_Will válasza krauszkrisztian14 hozzászólására (») Júl 10, 2018 /
 
Keressél pl.: forgató gombos encoder kezelő rutinokat , mintákat.

A sok fizikálisan kialakított barázda/rés letapogatásával jönnek létre villamos jelek(jobb esetben optoelektronikai úton , rosszabb esetben mechanikusan amik általában négyszögjelek amit illik előtte formázni) amik egymáshoz képest időben/fázisban elvannak tolva , ezt a változást kell feldolgozni a programnak.
(#) Kera_Will válasza krauszkrisztian14 hozzászólására (») Júl 10, 2018 /
 
(#) pisti válasza pisti hozzászólására (») Júl 10, 2018 /
 
Nem találtam olyan programot, ezért kezdtem egyet összerakni. Nem tudom, hogy lehetne-e elegánsabban? Íme:

#include <Keypad.h>
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {8, 7, 6, 5};
byte colPins[COLS] = {4, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
int E; // egyes helyiérték
int T; // tizes helyiérték
int SZ; // végeredmény
int N; // beolvasott értéket konvertálja számmá
char key=' '; // padról beolvasott
int i=0;

void setup()
{
Serial.begin(9600);
}

void loop()
{
i=1;
do
{ // addig míg a beolvasott karakter a #
key = keypad.getKey();
if (key != NO_KEY)
{
N=key; // charból int
N=N-48; // ASCII kód miatt
switch(i) // helyiértékeket számol
{
case 1:
T=N*10; // tizesek
i++; // a helyiérték váltáshoz lép
break;

case 2:
E=N; // egyesek
i++;
break;
}

if (key == '*')
{
i=1; // törlés
T=0;
E=0;
}

if (key == '#' )
{
SZ=T+E;
}
}
}
while (key != '#' ); // addig fut a ciklus amíg a jel nem a #
Serial.println(SZ);
key=' ';
}
(#) pisti válasza pisti hozzászólására (») Júl 11, 2018 /
 
Sajnos csak Ctrl C-vel tettem be. Mellékelve a program.
(#) Kera_Will válasza pisti hozzászólására (») Júl 11, 2018 /
 
Ezt az OFF gombbal használatával írtam :
CTRL+C is használhatod DE ELŐTTE A Kód gombot kell !

Kód gomb után ez lesz a végeredmény([ ] a szögletes zárójeles karakter sorokat ne írd át) :
  1. #include <Keypad.h>
  2. const byte ROWS = 4;
  3. const byte COLS = 3;
  4. char keys[ROWS][COLS] = {
  5. {'1','2','3'},
  6. {'4','5','6'},
  7. {'7','8','9'},
  8. {'*','0','#'}
  9. void setup()
  10. {
  11. Serial.begin(9600);
  12. }
A hozzászólás módosítva: Júl 11, 2018

Kod-gomb.PNG
    
(#) kapu48 válasza pisti hozzászólására (») Júl 11, 2018 /
 
Az a gond a programoddal, hogy beírás közben nem látod, hogy mit írsz be.
Mikor már látható az eredmény akkor meg nem lehet törölni, ha mégis el lett ütve.
(#) pisti válasza kapu48 hozzászólására (») Júl 11, 2018 /
 
Az csak most maradt ki. Próbálgatás alatt a sorosra írattam ki, de a következőben egy 1602 LCD-re megy a folyamat.
(#) krauszkrisztian14 hozzászólása Júl 11, 2018 /
 
Üdv!
Ha micro SD kártyát szeretnék kötni az arduinora, akkor a képen látható bekötés jó?
A hozzászólás módosítva: Júl 11, 2018
(#) tbarath válasza krauszkrisztian14 hozzászólására (») Júl 11, 2018 /
 
Ekkora kép alapján a válaszom egy határozott talán...
(#) krauszkrisztian14 válasza tbarath hozzászólására (») Júl 12, 2018 /
 
Ezen az oldalon van az eredeti kép. Ott talán jobban látszik.
(#) TavIR-AVR válasza krauszkrisztian14 hozzászólására (») Júl 12, 2018 /
 
Nem. A Táp 3.3V az SD-nek, de az I/O lábai 5V rendszerhez mennek....

Azaz az adatlábak 5V-ot kapnak az Arduino felől....
(#) krauszkrisztian14 válasza TavIR-AVR hozzászólására (») Júl 12, 2018 /
 
És hogyan lehetne kijavítani?
(#) GPeti1977 válasza krauszkrisztian14 hozzászólására (») Júl 12, 2018 /
 
(#) krauszkrisztian14 válasza GPeti1977 hozzászólására (») Júl 12, 2018 /
 
Ilyenem nincs, és sokára jönne meg.
(#) GPeti1977 válasza krauszkrisztian14 hozzászólására (») Júl 12, 2018 / 1
 
Így is jó lesz:

sdarduino.jpg
    
(#) krauszkrisztian14 válasza GPeti1977 hozzászólására (») Júl 12, 2018 /
 
Az nagy baj, ha 2kOhmos és 3kOhmos ellenállást használok?
(#) kapu48 válasza krauszkrisztian14 hozzászólására (») Júl 12, 2018 /
 
Ne fűzzél nagy reményt a passzív ellenállásos megoldáshoz!
A gyorsabb kártyák sebességét nem lehet kihasználni vele.

A kínaiak sem passzióból dobják ki a pénzt szint illesztő IC-re.
(#) vargham válasza krauszkrisztian14 hozzászólására (») Júl 12, 2018 /
 
Járasd 3,3 Voltról az Arduinot, és akkor nem kell szintillesztő.
(#) TavIR-AVR válasza vargham hozzászólására (») Júl 13, 2018 /
 
Jó az ellenállásos is.
De: ne spirálisan köszörültet használj (ha lehet), mert nagyfrekin tekercs is lesz belőle....
Amúgy Arduino alatt az írási/olvasási sebességet úgyse használod ki.
A nyers (adatfeldolgozás nélküli, FAT16 alapú) SD sebesség íráskor ~40..50kbyte/sec, olvasás 50...55kbyte/sec.
Hol van ez a kártyák 20-40-90MByte sebességétől?
Mondjuk ha DUE mellett vagy nagyobb/gyorsabb mellett hazsnálod, ott tényleg jobb az IC-s illesztő... Meg persze: rövid kábelhossz az SPI miatt....
(#) vargham válasza TavIR-AVR hozzászólására (») Júl 13, 2018 /
 
DUE mellé nem kell illesztő, mert az max 3,3 Volton megy.
(#) devilke3000 hozzászólása Júl 13, 2018 /
 
Nem értem a count érték mért nem növekszik +1 el amikor a void test lefut pl 1x!?
  1. void test(){
  2.  
  3. byte count = 0;
  4.  
  5.   Serial.println(count);
  6.  
  7. count+=1;
  8.  
  9. //count++
  10.  
  11. //count=1+ count;
  12.  
  13.   if(count<3)
  14.   {
  15.   //count=0;
  16.  
  17.  mySwitch.send(7297810, 24);
  18.  
  19.  
  20.   }
  21.  
  22.   }
(#) _BiG_ válasza devilke3000 hozzászólására (») Júl 13, 2018 /
 
Mert a count++ -t kommentezted ki
(#) szeg76 válasza devilke3000 hozzászólására (») Júl 13, 2018 /
 
A count változó a test() függvény minden lefutásánál újra megkapja a 0 kezdőértéket.
Ha azt szeretnéd, hogy egy változó a függvényből való kilépés után is megőrizze az értékét, használd a static módosítót.
Pl.:
  1. static byte count = 0;
Következő: »»   458 / 855
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