Keresés

Részletes keresés

Vargham Creative Commons License 2014.08.18 0 0 366

A rádió nagyon megbízhatatlan csatorna. Azt feltételezed, hogy mindig, minden byte a megfelelő helyen érkezik. Pedig a két eszköz nincs szinkronizálva.

 

Szerintem nem jó ötlet folyamatosan küldeni az adatokat. Ha lemarad egy-egy byte, azt honnan tudja a vevő?

Először készíts belőle adatcsomagokat (packet).

Adj hozzá headert, footert, esetleg CRC-t.

A vevő oldal pedig keresse ki a stream-ből a csomagot, dekódolja, és utána adjon értéket a tömb elemeinek.

 

Ha kétirányú a rádiód:

Utána legyen mindig nyugtázás. Amíg nem jött a másik féltől nyugtázás, addig ne küldje a következő csomagot.

 

Röviden: A rádiós library annyit tesz, hogy a kapott adatokat ráülteti a fizikai rétegre. Nem ellenőriz, nem szinkronizál, stb. Ezeket neked kell megoldanod.

Előzmény: Razidargh (364)
Prof Creative Commons License 2014.08.18 0 0 365

Nem volt időm alaposan átrágni magam rajta. Első körben a Serial.print a megoldáshoz vezető első kulcs a változók kiírásával. A kódfejtésben mondjuk némi segítség lenne a void.Setup().

Persze mindez az adó és a vevő oldalon is (szívás, mert ugye két futó terminálképernyő kell hozzá, és nem tudom, hogy ez megvalósítható-e, soha nem próbáltam).

Előzmény: Razidargh (364)
Razidargh Creative Commons License 2014.08.17 0 0 364

Sziasztok!

 

Egy mozgásérzékelőt kötöttem egy Nano-ra, s a kapott adatokat RF24 rádióval átlőni egy másik RF24-gyel felszerelt Uno-ra. A következő kódom van adó oldalon:

 


void loop()
{

  xtengely=(analogRead(xpin));
  ytengely=(analogRead(ypin));
  ztengely=(analogRead(zpin));
  helyzet=(xtengely/3+ytengely/3+ztengely/3);

  riaszt=abs(helyzet-x);
  if (riaszt > erzekenyseg)   // csak mozgás esetén küld rádiójelet
  {
    joystick[0] = 1;
    joystick[1] = riaszt;
    joystick[2] = ztengely;
    radio.write( joystick, sizeof(joystick) );
  }


  // 2 másodperces eltolással vizsgálja a helyzetet - lassú mozgásokra
  unsigned long currentMillis = millis();
  if(currentMillis - previousMillis > 2000) {
    previousMillis = currentMillis;   
    riaszt=abs(longhelyzet-x);

    if (riaszt > erzekenyseg)
    {
      joystick[0] = 2;
      joystick[1] = riaszt;
      joystick[2] = ztengely;
      radio.write( joystick, sizeof(joystick) );

    }
    longhelyzet=(xtengely/3+ytengely/3+ztengely/3);
  }

  // Bejelentkezés 2 másodpercenként
  if(currentMillis - previousMillis2 > 2000) {
    previousMillis2 = currentMillis;
    joystick[0] = 3;
    joystick[1] = riaszt;
    joystick[2] = ztengely;
    radio.write( joystick, sizeof(joystick) );
  }
  x = helyzet+1;

}//--(end main loop )---

 

Az a gondom vele, hogy a mozgást simán átlövi, és annak megfelelően a vevő rendesen megkapja az adatokat. Tehát az első if lefut. A második és harmadik feltétel is lefut, de ott a rádió már nem küld jelet. A Nano-n látom felvillanni a 13. kimenethez csatlakozó ledet, ami jelzi, hogy rádiókommunikáció van. A vevő mégis csak az első feltétel teljesülése esetén fogadja az adatokat. A vevő lényes kódja:

 

      done = radio.read( joystick, sizeof(joystick) );

 

Ugyanazt a tömböt használom, a tömb minden eleme mindig integer, mégsem kapom meg a két másodpercenkénti bejelentkező jelet. A bejelentkezést néha akkor kapom meg véletlenszerűen, ha megmozgatom a szenzort, s akkor több csomag között esetleg megy egy bejelentkezés is. Van valakinek esetleg ötlete? Próbáljak más libraryt a rádiókhoz?

Prof Creative Commons License 2014.08.04 0 0 363

Honnan kapja a tápot?

Tippem szerint (nem mértem) táp-gond lesz. A 3 ultrahang plusz ez a negyedik opto már határra húzhatja a Nano-t. Bár a specifikációk szerint összesen nincs ki 100 mA, de jobb kétszer mérni. Feszültséget és áramokat is mérj, külön-külön és egybe is.

Plusz nem lenne nagyon hátrány egy Fritzing rajz sem a bekötésről.

 

Előzmény: Spike89 (361)
Törölt nick Creative Commons License 2014.08.04 0 0 362

Nem vagyok guru, de nem is értem a problémát. Az ultrahangos szenzorokkal nem távolságot mérsz? Akkor miért kell ez a cucc? Vagy ezzel elmozdulást akarsz érzékelni? A specifikáció egyébként 10 uF-ot javasol, és az eszköz közelében.

Előzmény: Spike89 (361)
Spike89 Creative Commons License 2014.08.04 0 0 361

Üdv.

 

Arduino nano-ra van rákötve 3 ultrahangos szenzor, amik jól is működnek, míg rá nem csatlakoztatom ezt:

http://www.sharpsma.com/webfm_send/1487 Ekkor ugyanis elkezdek hibás értékeket kapni az ultrahangos szenzorok felől. 100 nF -os kondit kötöttem az 5V és a GND közé. Mi lehet a hiba? 

John Zero Creative Commons License 2014.07.29 0 0 360

Nem, ahhoz túl buta. Összesen 32 kbyte a programtár, és 2 kbyte a RAM. Abba nem sok minden (nagy adat) fér bele :-)

 

Előzmény: Tomizom (359)
Tomizom Creative Commons License 2014.07.28 0 0 359

Az arduinohoz, zenét lejátszani, csak az mp3 shield, el lehet? Mármint azt valahogy nem lehet megoldani, hogy egy mp3 fájlt, küldjek ki az arduinora, az meg továbbítsa, egy hangszóróra?

Vargham Creative Commons License 2014.07.14 0 0 358

Ha ide teszed fel a kérdésed, akkor később abból mások is tanulhatnak. Pont ez lenne a fórum lényege. :-)

Előzmény: Sári Bence (356)
Törölt nick Creative Commons License 2014.07.11 0 0 357

Nem lenne egyszerűbb ide feltenni a kérdéseid? Akkor többen olvassák, nagyobb az esélye, hogy találsz hozzáértőt.

Előzmény: Sári Bence (356)
Sári Bence Creative Commons License 2014.07.11 0 0 356

Sziasztok, keresek egy illetőt aki segítene nekünk, először is néhány kérdés megválaszolásával. Aki úgy érzi elég toppon van az elektronikában és az arduino világában, írjon erre az emailcímre: zlapser@gmail.com. 

Röviden kis motorok vezérléséről lenne szó majd, remélem lesz pár érdeklődő aki segítene. 

Törölt nick Creative Commons License 2014.07.10 0 0 355

Például:

https://learn.adafruit.com/adafruit-arduino-lesson-13-dc-motors/arduino-code

Előzmény: Tomizom (354)
Tomizom Creative Commons License 2014.07.10 0 0 354

Egy kis kérdés, hogyan lehet egy dc motor sebességét szabályozni legegyszerűbben, és ha lehet potenciométer nélkül, teljesen a gépről irányítva.

Törölt nick Creative Commons License 2014.07.04 0 0 353

Utánanéztem, van egyszerűbb megoldás is. A legtöbb terminál program tudja ezt, bár ez nem kényemes. De találtam egy Gobetwino nevű programot, az többek között ezt is tudja, valószínűleg azt fogom használni.

Előzmény: Prof (352)
Prof Creative Commons License 2014.07.03 0 0 352

Mármint az Arduino IDE alapja.

Előzmény: Prof (351)
Prof Creative Commons License 2014.07.03 0 0 351

Az Arduino alapja egy Processing nevű szoftver. Valamivel komplexebb, mint az Arduino IDE, de alapvetően hasonló elveken működik. Ebben lehet olyan szoftvert írni, amelyik ezt meg tudja csinálni (mondjuk kell hozzá már némi programozási ismeret). Van rá pár egyéb szoftver is.

 

Azzal kell vigyázni, hogy:

1. a baud rate a mintavételezést is befolyásolja sajnos,

2. ha magas baud rate-tel dolgozol, akkor kegyetlen nagy lesz a redundanciád (ami lehet jó is), illetve hatalmas fájlok fognak keletkezni nagyon gyorsan.

 

Elvileg ezzel a felállással, ha elég stabil a géped, elég komplex telemetriát lehet csinálni, ha a grafikai részt leprogramozod, akár F1-szinten is. Riasztásokkal, szélsőértékekkel, ilyen-olyan mérési adatokkal. Sőt, a számításigényesebb műveletekre (pl. PID-szabályozás) simán lehet a gépet használni és csak az analóg/digitális vezérlőjelet visszaküldeni. ez esetben az arduino csak egy sima A/D konverterként működik (a D/A konverzióhoz az UNO kevés, ilyen emlékeim szerint csak a Due-n van, már külön D/A konverter és valódi analóg kimenet).

 

De van pár megoldás erre az arduino.cc oldal tudástárában (kommunikáció PC-vel rész alatt).

Előzmény: Törölt nick (350)
Törölt nick Creative Commons License 2014.07.03 0 0 350

Én is kérdeznék: hogy lehet azt Win 7 alatt megoldani, hogy a terminálra küldött adatokat egy file-be mentsük. Mondjuk a turbinán mért hőmérséklet értékeket szeretném naplózni.

Előzmény: Prof (348)
Törölt nick Creative Commons License 2014.07.03 0 0 349

Én is inkább kíváncsiságból vettem, bár ez annyira nem volt olcsó, szálítással 31 USD, de műxik rendesen.

Előzmény: Prof (348)
Prof Creative Commons License 2014.07.03 0 0 348

Hát ez sok pici kínai másolatnál előfordul sajnos... :-)

Nekem gsm egyelőre nem kell, de jó tudni, hogy van és funkcionál rendesen.

Előzmény: Törölt nick (347)
Törölt nick Creative Commons License 2014.07.03 0 0 347

Ja, meg annyi, hogy a saját könyvtárát kell hozzá használni, mert amit gyárilag adnak az IDE környezethez, az nem jó.

Előzmény: Prof (344)
Törölt nick Creative Commons License 2014.07.03 0 0 346

Ez nem eredeti, kell hozzá SIM kártya. (Kár hogy nem lehet a hozzászólást utólag szerkeszteni.)

Előzmény: Prof (344)
Törölt nick Creative Commons License 2014.07.03 0 0 345

Nekem működik, mindn további nélkül egy feltöltőkátyával, Európában.

Előzmény: Prof (344)
Prof Creative Commons License 2014.07.03 0 0 344

A GSM-re kíváncsi vagyok, hogy működik-e itthon rendesen. Vagy nem eredeti és kell bele magyar sim?

Előzmény: Törölt nick (343)
Törölt nick Creative Commons License 2014.07.03 0 0 343

Megjött a GSM és az ethernet shield. Folyt. köv.

Törölt nick Creative Commons License 2014.07.02 0 0 342

Üdv a fórumnak! Nemrég vettem egy Arduino Uno-t, elkezdtem az ismerkedést vele. A célom egy ECU építése egy gázturbinához, amit szintén én építek. (Akit érdekel, megnézheti a Gázturbina építés topikot.) Először csak mérném a turbina paramétereit, (hőmérsékletek, nyomások, furdulatszám) utána vezérelném is a cuccot. Nem tudom hogy egy UNO elég lesz-e, majd elválik.

Tomizom Creative Commons License 2014.06.30 0 0 341

Köszi szépen.

És igen nincs leírva, hogy miért kell az arduino, de nem szerettem volna túl bonyolítani, mert nekem ez pont elég amit elküldtél.

Előzmény: Prof (340)
Prof Creative Commons License 2014.06.30 0 0 340

Ehhez felesleges az arduino, illetve amiért érdemes lenne használni, az nincs benne a specifikációban (pl. folyamatos működtetés és/vagy pwm -- fordulatszámszabályozás -- stb.)

http://www.electronicecircuits.com/electronic-circuits/dc-motor-clockwise-anticlockwise-control-h-bridge-circuit

Ez bőven elég rá, az alkatrészigénye max 2000 forint, és ebben már a próbapanel, kábelek is benne vannak.

A tranzisztorokat valósznű helyettesíteni kell, de ez nem egy nagy történet.

 

Egyébkétn az arduinoval való funkcionalitáshoz majdnem ugyanez a felállás kell, lényegében a két nyomógombot váltja ki az arduino egy-egy optocsatolón keresztül.

Előzmény: Tomizom (339)
Tomizom Creative Commons License 2014.06.30 0 0 339

Szevasztok!

Egy olyan kérdésem lenne, arduinoval szeretnék működtetni egy egyszerű DC motort, ez a motor képes arra, hogy 2 irányba forogjon, attól függően, hogy kötöd rá az elemet, na én ezt szeretném megoldani arduinoval, hogy ne keljen fordítgatni az elemet hanem egy gomb nyomásra történjen. Ha lehet valami olcsó megoldás legyen, ne keljen túl sok extrém alkatrész hozzá. (ha lehet ne keljen külföldről rendelni se ebayröl, se hasonló oldalakról, maradjunk Magyar o.-n belül.)

Előre is köszönöm a választ.

Prof Creative Commons License 2014.06.27 0 0 338

Amíg nem tudjuk, hogy mi az, amit vezérelni kell, milyenek a kapcsolási idők, van-e valami speciális elvárás, nehéz jó döntést hozni. Napi használatban lévő holmit én elvből nem rakok össze próbapanelen. Legalább egy tesztnyák, rendes forrasztásokkal.

Én a korrekt galvanikus leválasztást hiányolom róla kicsit, egyébként tök alap megoldás, nem cifrázták túl.

Megnéztem a SainSmart oldalát. Nekem vannak tőlük cuccaim és a legtöbb egészen korrekt. De ez: Jaj, sírtam. :-)

Előzmény: John Zero (337)
John Zero Creative Commons License 2014.06.27 0 0 337

Én is úgy látom, hogy simán megoldható, és még csak nem is a hardver a nagy költség -- azt legjobb modulokból összevásárolni, ha lehet, pl. port expander modul, 8-as relé modul vagy SSR modul, gondolom 10-20-30 ezerből megvan.

 

Én, ha lehet, nem szórakoznék egyedi alkatrészekkel, NYÁKokkal.

Persze az is kérdés, hogy mihez lesz, eladásra, nem eladásra, életvédelem, tanúsítványok, stb?

 

8 csatornás SSR modul 5200 Ft körül:

http://www.dx.com/p/8-channel-5v-solid-state-relay-module-blue-black-green-250v-2a-213880#.U60PY7En-HY

8-Channel 5V Solid State Relay Module - Blue + Black + Green (250V / 2A)

Bár nem biztos, hogy érdemes a legolcsóbb kínait venni, bár itt látszólag megvan a szakszerű légrés a nyákon.

 

 

Na de utána? Ha valakinek rámegy 2 hét munkája, hogy elkészítse a vezérlőprogramot, az a nagy tétel. Bár ha leonardoatis megcsinálja, akkor ez már az ő költsége.

 

Előzmény: Prof (336)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!