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   865 / 865
(#) asch válasza Frankye hozzászólására (») Vas, 0:12 /
 
Csinálhatsz két párhuzamos állapotgépet, és az egyik vezérelheti a másikat. A "külső" gombnyomásra 20 másodpercig van aktív állapotban. A belsőt a külső aktiválása indítja és állítja le és közben ismételgeti amit kell neki. A sokat emlegetett állapotgépes megoldással így néz ki kb:
  1. static uint32_t process1time;
  2. static uint32_t process1state = 0;
  3. static uint32_t process2time;
  4. static uint32_t process2state = 0;
  5. static bool process2enabled = false;
  6. void process1(uint32_t time)
  7. {
  8.         uint32_t dt=time-process1time; // Az átfordulást jól kezeli, az eltelt időnek kell 2^31 alatt maradni amikor hasznaljuk
  9.         switch(process1state)
  10.         {
  11.         case 0:
  12.                 if(isButtonPressed())
  13.                 {
  14.                         process1time=time;
  15.                         process1state=1;
  16.                         process2enabled = true;
  17.                 }
  18.                 break;
  19.         case 1:
  20.                 if(dt>=20000)
  21.                 {
  22.                         process2enabled = false;
  23.                         process1state=0;
  24.                 }
  25.                 break;
  26.         }      
  27. }
  28. void process2(uint32_t time)
  29. {
  30.         uint32_t dt=time-process2time;
  31.         if(!process2enabled)
  32.         {
  33.                 process2state = 0;
  34.                 outputLed(false);
  35.         }
  36.         switch(process2state)
  37.         {
  38.         case 0:
  39.                 if(process2enabled)
  40.                 {
  41.                         process2time=time;
  42.                         process2state=1;
  43.                         outputLed(true);
  44.                 }
  45.                 break;
  46.         case 1:
  47.                 if(dt>=200)
  48.                 {
  49.                         process2time=time;
  50.                         outputLed(false);
  51.                         process2state=2;
  52.                 }
  53.                 break;
  54.         case 2:
  55.                 if(dt>=200)
  56.                 {
  57.                         process2time=time;
  58.                         outputLed(true);
  59.                         process2state=1;
  60.                 }
  61.                 break;
  62.         }
  63. }
  64. void loop()
  65. {
  66.         uint32_t t=millis();
  67.         process1(t);
  68.         process2(t);   
  69. }


Ha hosszútávon pontos időzítést akarsz, akkor
  1. process2time=time;
helyett
  1. process2time+=200;
-at írhatsz. Ilyenkor észnél kell lenni, hogy el ne rontsuk, de ha nem rontjuk el, akkor hosszú távú átlagban is tűpontos lesz minden. Akár használhatsz mikroszekundomos órát is ezzel a technikával.
(#) asch válasza Régi motoros hozzászólására (») Vas, 0:21 /
 
A hátránya, hogy szerintem sokkal érzékenyebb lesz mint egy Arduino UNO.
Nem hülyeség egyébként teljes Linuxot tenni Wifihez, mert amint drót nélkül kapcsolódunk azonnal kritikussá válik, hogy titkosítva legyen a kapcsolat, és ezt Linux alatt gyerekjáték megcsinálni - például SSH-val -, mikrovezérlő alapon meg egyáltalán nem egyszerű.
Szerintem a díszdobozos UNO árába beleférhet ez is, olyasmi árúnak képzelem, mint egy router. A háttértár és a RAM az általam elképzelt célokra jócskán túlméretezett, de az nem baj. Az STM-eket szeretem, jó doksijuk van és jók hozzá a toolok is.
(#) cua válasza asch hozzászólására (») Vas, 4:17 /
 
(#) Frankye válasza asch hozzászólására (») Vas, 5:23 /
 
Köszönöm. Nem teljesen világos (még) minden, de majd tanulmányozom.
(#) tki válasza Régi motoros hozzászólására (») Vas, 11:25 /
 
Az a bajom vele, hogy szép, szép, csak tökéletlen megoldás, mivel mezítláb látványos, de ha csak egyetlen shield-et is rádugsz közvetlenül... Azokat majd átlátszó alkatrészekből építik?

Egyébként 8x12, megszámoltam. : -] Bár nem szeretem azokat a parányi kijelzőket, amik mostanában a kisebb projectekhez nem irritálóan drágák, de talán mégis célszerűbb lett volna, akár kihosszabbíthatóan. Sok ilyen létezik.
(#) pipi válasza tki hozzászólására (») Vas, 11:35 /
 
Hátulról/alulról kell dugni
A hozzászólás módosítva: Vas, 11:36
(#) tki válasza pipi hozzászólására (») Vas, 11:58 /
 
Gondoltam rá, de alulról mintha nem lehetne csatlakoztatni őket, és azokon még inkább lehetnek kezelőszervek, kijelzők. Maradnak a szalagkábelek.
(#) Josi777 válasza pipi hozzászólására (») Vas, 18:51 /
 
Alulról az UNO féle csatlakozó kiosztás nem érhető el, kizárólag felülről. Cserébe alul van rengeteg kivezetése a panelnek, amik meg 1,8 V-osak. Érdekes koncepció.
(#) pipi válasza Josi777 hozzászólására (») Vas, 19:22 /
 
Tüske/hüvelysor ráforrasztható alulra utólag, nem?
(#) Josi777 válasza pipi hozzászólására (») Vas, 19:28 / 1
 
Persze, megoldható (Kellő ügyességgel, de nem hinném, hogy szakszerű lenne, mivel egy eleve beforrasztott csatlakozósor forrasztási pontjaihoz kellene forrasztani az új csatlakozót. Vagy kiveszed az eredetit és alulra nézve forrasztasz be tüskesort.), de akkor valójában nem férsz hozzá a többi csatlakoztatási ponthoz, pont azokhoz, ami miatt érdemes beruházni egy ilyen lapkába.
Következő: »»   865 / 865
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