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   195 / 853
(#) siletto válasza kapu48 hozzászólására (») Feb 23, 2016 /
 
Ez érdekes, köszi
És ez a long-ból int konverzió jól működik, vagyis vissza lehet kapni az eredeti értéket belőle?

Annyira nem értek hozzá, de ez valami bit-shift a nyolcassal?
Mint amikor egy 0-t kell írni a végére, ha karakterből uint-et generálunk?
(#) kapu48 válasza siletto hozzászólására (») Feb 23, 2016 /
 
  1. // Miután vetted a 4 Bytet ebbe a tömbbe:
  2.  uint8_t dataL[4];
  3.  
  4.  // Vissza konvertálás:
  5.  long speedOfLight2 = 0;
  6. speedOfLight2 += dataL[3];
  7. speedOfLight2 <<= 8;
  8. speedOfLight2 += dataL[2];
  9. speedOfLight2 <<= 8;
  10. speedOfLight2 += dataL[1];
  11. speedOfLight2 <<= 8;
  12. speedOfLight2 += dataL[0];


Bővebben: Link
A hozzászólás módosítva: Feb 23, 2016
(#) siletto válasza kapu48 hozzászólására (») Feb 24, 2016 /
 
Elolvastam, de nem igazán jutottam előrébb a longgal kapcsolatban

Miért kell shiftelni, és miért pont 8-cal?
(#) Koleus válasza siletto hozzászólására (») Feb 24, 2016 /
 
A long 32 bit/ 4 Byte, az uint8_t pedig értelemszerűen 8 bit / 1 Byte. A programrészlet azt csinálja, hogy egy olyan long-ot amit szétbontottál egy 4x8bit tömbbe, újra összeállítod, "alulról" feltöltöd. A legmagasabb helyértékű Byte-ot beírod a "speedOfLight2"-be (6. sor) legalsó Byte-jába, shift 8-cal feltolod egy Byte-ot, majd "alulra" beírod a tömb következő elemét, az egészet ismét eltolod 8-cal, stb. Az egész művelet végén a "speedOfLight2"-ben lesz az egész tömb, dataL[3] a legmagasabb Byte-ban, a data[0] meg a legalacsonyabban.
(#) kapu48 válasza siletto hozzászólására (») Feb 24, 2016 /
 
Bővebben: Byte
Bővebben: int
Bővebben: long
A hozzászólás módosítva: Feb 24, 2016
(#) siletto válasza Koleus hozzászólására (») Feb 24, 2016 /
 
ÜDv! Ez így megvan, sokadjára skerült.
És törtszámot hogyan viszek át?
(#) kapu48 válasza siletto hozzászólására (») Feb 24, 2016 /
 
float-nak definiálod a változódat.
Bővebben: float

És mivel ez ís 4 Bytes! a többi konvertáló müveletek ua. mint előbb.
A hozzászólás módosítva: Feb 24, 2016
(#) pvsz hozzászólása Feb 25, 2016 /
 
Sziasztok! Abszolút kezdő vagyok, mi a különbség eközött a két Arduino között?

http://www.hestore.hu/prod_10035528.html?pic_id=21729
http://www.hestore.hu/prod_10033329.html?pic_id=19054

Az olcsóbbat rendeltem meg, és utána láttam hogy több féle is van, teljesen alap dolgokat szeretnék (led villogtatás, ilyesmi, nodejs-en keresztül szeretném majd programozni)

Köszönöm!
(#) RoliNyh válasza pvsz hozzászólására (») Feb 25, 2016 / 1
 
Na erre én is kíváncsi leszek...

(Egyébként ebayról harmad ennyiért is levadászhattad volna...)
(#) Kera_Will válasza pvsz hozzászólására (») Feb 25, 2016 / 1
 
Idézet:
„teljesen alap dolgokat szeretnék (led villogtatás, ilyesmi,”

Erre az Arduino nano vagy mini is megfelelne.
Persze ha idővel kinőnéd ezeket akkor lehet nagyobbat is keresni.
(#) pvsz válasza Kera_Will hozzászólására (») Feb 25, 2016 /
 
Igazából ami nekem fontosabb lenne, hogy node.js-sel tudjam programozni, ehhez találtam anyagokat is, és ahogy néztem sokkal egyszerűbb az uno-n. Ha az olcsóbbik, amit linkeltem ( AR-UNOR3) is megfelelő erre...
(#) siletto válasza kapu48 hozzászólására (») Feb 25, 2016 /
 
Üdv! A float, double nem konvertálható így, kipróbáltam
(#) kameleon2 válasza pvsz hozzászólására (») Feb 25, 2016 / 1
 
Pont ugyanannyira lesz jó mint ez: Arduino UnoR3 DIP tokos változat, vagy ez: Arduino Uno R3 Mega smd változat. Ennyiért már komplett kitet is kaphatsz: Mondjuk ilyet.
(#) pvsz válasza kameleon2 hozzászólására (») Feb 25, 2016 / 1
 
Köszönöm a választ!
(#) kapu48 válasza siletto hozzászólására (») Feb 25, 2016 /
 
Akkor szorzod 100-al a számodat. (gondolom 2 tizedes jegy elég lesz?)
És bele rakod int-be, az 2 Byte-os.
Felbontod Byte-kre, átküldöd. Összerakod.
Osztod 100-al az lesz az egész, kiraksz tizedes jelet.
Osztod újra modulo 100-al, az lesz a tizedes jegyek.
Bővebben: modulo
(#) szeg76 válasza kapu48 hozzászólására (») Feb 25, 2016 /
 
Vagy használj mutatókat és típuskonverziót.

  1. uint8_t  tomb[20];    
  2.  
  3. float  fl1=3.14, fl2=2.71;  
  4. int  i;
  5.  
  6. void  setup()
  7. {
  8.   Serial.begin(115200);
  9.   Serial.print("\nfl1 es fl2 float valtozok");    
  10.   Serial.print("\nfl1=");  Serial.print(fl1);
  11.   Serial.print("\nfl2=");  Serial.print(fl2);
  12.  
  13.   // tomb kezdőcímére beírjuk fl1 float változó értékét
  14.   *(float*)(tomb)=fl1;
  15.   // a tomb+4 címre beírjuk fl2-t
  16.   *(float*)(tomb+sizeof(float))=fl2;
  17.  
  18.  
  19.   Serial.print("\n\n'tomb' tartalma bajtonkent:\n");  
  20.   for(i=0;i<20;i++)
  21.     {
  22.      Serial.print(tomb[i]);
  23.      Serial.print(' ');
  24.     }
  25.  
  26.  
  27.   Serial.print("\n\n'tomb' tartalma 4 bajtonkent float-ra konvertalva\n");
  28.   for(i=0;i<5;i++)
  29.     {
  30.      Serial.print( *(float*)(tomb+i*sizeof(float)) );
  31.      Serial.print(' ');
  32.     }
  33.  
  34.   Serial.print("\n\nVisszaolvassuk az ertekeket 'tomb'-bol a float valtozokba" );
  35.   fl1=*(float*)(tomb);
  36.   fl2=*(float*)(tomb+sizeof(float));
  37.  
  38.   Serial.print("\nfl1=");  Serial.print(fl1);
  39.   Serial.print("\nfl2=");  Serial.print(fl2);
  40.      
  41. }
  42.  
  43. void  loop()
  44. {
  45. }
(#) kapu48 válasza szeg76 hozzászólására (») Feb 25, 2016 /
 
Húúú!

Egy kezdő kért tanácsot!!!
Talán nem kelenne így belökni a mélyvízbe!
Mikór még a szám tipusokkal sincsen tisztába!

Különben meg csak uint8_t tömb[x]-eket tud átküldeni az nRF24L01-eseken.
Mert szegányes demo libbek vanak hozzá!
(#) siletto válasza kapu48 hozzászólására (») Feb 25, 2016 /
 
Köszönöm, így tényleg jó! Sikerült működtetni.
Igaz ami igaz, kezdő vagyok, az llyen konverziós problémák meg még távolabb állnak tőlem.
Jó ideig tanultam Java-t, de ott nemigen volt ehhez hasonló hw-sw kommunikáció.
Ugye jól gondolom, hogy a 0dBm beállítás a PA+LNA moduloknál a maximum sugárzott teljesítmény beállítás?
(#) kapu48 válasza siletto hozzászólására (») Feb 25, 2016 /
 
Igen!

Az adatlap szerint:
Bővebben: 8. oldal
(#) kapu48 válasza siletto hozzászólására (») Feb 26, 2016 /
 
Örülök, hogy eddig OK!

De mivel szeg76 volt olyan kedves és bevezetet a mutatók rejtelmeibe!
Ajánlom tovább gondolni a példa programját. Már csak azért is, mert a túloldalon jó lenne tudni mit is kaptunk most.

Ezért az értékeink elé beszúrunk 1 rövid tájékoztató szöveget, ami alapján eldönthetjük a kapott értékek további feldolgozását.

Én így képzeltem:
  1. // pointers01.ino
  2.  
  3. uint8_t  tomb[20];  
  4. String  Neve1 = "kazan";
  5. // Elmenő C , Visszatérő C
  6. float  fl1=73.14, fl2=42.71;
  7. int  i;
  8.  
  9. void  setup()
  10. {
  11.   Serial.begin(115200);
  12.  
  13.   Serial.print("\nfl1 es fl2 float valtozok");  
  14.   Serial.print("\nfl1=");  Serial.print(fl1);
  15.   Serial.print("\nfl2=");  Serial.print(fl2);
  16.  
  17.   *(String*)(tomb)= Neve1;
  18.  
  19.   // tomb kezdőcímére beírjuk fl1 float változó értékét
  20.   *(float*)(tomb+sizeof(Neve1))=fl1;
  21.   // a tomb+4 címre beírjuk fl2-t
  22.   *(float*)(tomb+sizeof(Neve1)+sizeof(float))=fl2;
  23.  
  24.  
  25.   Serial.print("\n\n'tomb' tartalma bajtonkent:\n");
  26.   for(i=0;i<20;i++)
  27.     {
  28.      Serial.print(tomb[i]);
  29.      Serial.print(' ');
  30.     }
  31.   Serial.println();
  32.   Serial.println(*(String*)(tomb));
  33.  
  34.   Serial.print("\n\n'tomb' tartalma 4 bajtonkent float-ra konvertalva\n");
  35.   for(i=0;i<2;i++)
  36.     {
  37.      Serial.print( *(float*)(tomb+sizeof(Neve1)+i*sizeof(float)) );
  38.      Serial.print(' ');
  39.     }
  40.        
  41.         // A tuloldalon
  42.  
  43.   Serial.print("\n\nVisszaolvassuk az ertekeket 'tomb'-bol a float valtozokba\n" );
  44.   fl1=*(float*)(tomb+sizeof(Neve1));
  45.   fl2=*(float*)(tomb+sizeof(Neve1)+sizeof(float));
  46.  
  47.   if(*(String*)(tomb)== Neve1){
  48.         Serial.println(*(String*)(tomb));
  49.         Serial.print(F("\nKazan elmeno C = "));  Serial.print(fl1);
  50.         Serial.print(F("\nKazan vissza C = "));  Serial.print(fl2);
  51.   }  
  52. }
  53.  
  54. void  loop()
  55. {
  56. }
A hozzászólás módosítva: Feb 26, 2016
(#) soskajoska válasza Kera_Will hozzászólására (») Feb 26, 2016 /
 
Kezdőnek éppen hogy nem ajánlanám ezeket. Annó az UNO első blikkre elindult, sőt megbízható programozó híján az első időben még mega328-as IC-ket is programoztam vele.
Pro Minivel idestova második hete birkózok, hogy programozni tudjam. Először az FTDI-re gyanakodtam, ezért az UNO-ból "csináltam" ARDUINO ISP-t. Azzal sem kommunikált. Mondom jó, biztos gagyit vettem, nincs rajta bootloader (bár a program LED villog, mintha a "Blink" rajta lenne). Bootloadert simán feltöltöttem, azonban továbbra sem kommunikál.
Egyébként meg csak méretre kisebb! Hiszen ugyanúgy mega 328 van rajta!
(#) morzsa15 hozzászólása Feb 26, 2016 /
 
Sziasztok!

Olyan kérdésem lenne hogy arduino-val meg egy internet shieldel ami sd kártya foglalatos lehet-e csinálni esetleg egy "hálózati háttér tárolót"? Ha lehet hogyan?

Válaszotokat előre is köszönöm!
(#) sunside hozzászólása Feb 26, 2016 /
 
Sziasztok,
Arduinós profi segítségét keresem aki elmagyarázná/leírná hogy mit hova kell másolni ha letöltök valami programot kipróbálásra, vagy ha elkövetek valamit, azt hova mentsem?
Ez a libraries, lib, examples kezd egy kicsit kusza lenni nekem.
Hova kerüljön a "h", a "ccp", az "ino" fájl?
(#) bujan hozzászólása Feb 27, 2016 /
 
Tisztelt Fórumozók, Hozzáértők.
Szeretnék egy mátrixos óra meglepetést készíteni Húsvétra, de elakadtam. Mellékelem az eredeti és az átalakított programokat. Az eredeti 5 mátrixos, az átalakított csak 4 (nem futnak egy mátrixon csak a pontok). Mind a kettővel az a bajom, hogy az idő beállítása után, ha áramszünet van, nem számol, vagy nem frissít az RTC. A másik nagyobb baj, hogy nem lehet állítani az időt gombokkal, így áramszünet, vagy átállítás sem lehetséges programozás nélkül. Már mindent kipróbáltam a megszüntetésükre, de sajnos elfogyott a tudásom. Ha segítene valaki a fentiek megoldásában a szellemi termékéért nem volnék hálátlan. A megoldásokat javaslom kipróbálni, mert én is írtam sok „jó” programokat, csak nem működtek. Magamról: Nyugdíjas gépészmérnök, 35 éve gyakorlati elektronikával foglalkozom autodidakta módon, Arduino 60 órás tavaly májustól. A segítséget előre is köszönöm.
(#) StMiklos válasza sunside hozzászólására (») Feb 27, 2016 /
 
Szevasz!

Profi? Még kezdő se vagyok, a profik majd kiigazítanak, de ha haladni akarok, akkor valahogy meg kell oldanom a problémákat, megyek egyelőre a saját fejem után.
Most: bármi kipróbálandót találok, egyszerűen mint egy *.txt fájlt lementem, indítom az Arduinot, kitörlöm azt a pár sort, ami benne van (pontosabban egyelőre otthagyom, aztán értelemszerűen törlöm), bemásolom a filet, már is lehet feltölteni.
Aztán SAVEel valami általam értelmezhetőre nevezve lementem, nem foglalkozom, hogy hova akarom rakni, de megnézem hova rakja, onnan majd elő tudom hívni, de kb. legközelebb úgyis oda fog menni.
(Ma már persze én mondom meg neki hova rakja, külön pendrivon együtt van a program is, adat is.)
Üdv: StMiklos
A hozzászólás módosítva: Feb 27, 2016
(#) StMiklos válasza soskajoska hozzászólására (») Feb 27, 2016 /
 
Szevasz!

Mindig érdekelt a programozás, ezek az Atmel panelok tudásban meg kivívták csodálatomat. Nosza vettem egy Pro Minit (Ebay, gombokért). Aztán meglepi, hogy lehet ezt programozni? Háát, kéne valami, van is (Ebay). Nosza hozassunk, de figyelmesebben olvasva, és már értelmezve, megtaláltam az NANOt.. Jöjjön az is, egyszerűsítve dolgomat, azzal már tudtam "együttműködni", persze először a példaprogramok szintjén, azokba itt-ott belenyúlva, aztán persze bonyolítva (2*24 LCD-vel). Az se volt egyszerű, de az a tudatlanságom és adatlap hiánya miatt. Csak 4 bites "üzemet" tudott a csatlakozás szintjén, de az a felső 4 volt, nem az alsó...
A Pro Mini programozó interésze.. PC látja, felismeri, azonosítja, driver van, de programozni nem hajlandó.
Illetve egyszer meg tudtam tenni, a BLINKer időzítését megváltoztatva láttam, hogy sikerült.
Soha többet, azóta se... Pihen, talán örök álmát fogja aludni. Elérte, hogy békén hagyjam.

Üdv:Stmiklos
(#) hadhazik hozzászólása Feb 27, 2016 /
 
Sziasztok!
Megépítettem egy arduino nano alapú fűtésvezérlőt, amivel egy probléma akadt.
mint látható a képeken az optocsatolós relék elég közel vannak a nanohoz.
Ezek a relék kapcsolják a fűtéskeringető szivattyúk, az irányváltó szelepek 230V-ját.
A szivattyú lekapcsolásakor lefagy a nano, a wdt aktív, de nem reseteli, csak a 12V DC táp ki-be kapcsolása indítja újra.
Ez nem minden lekapcsolásnál jelentkezik, főleg a kazán leállást követően.
Azért okoz ez gondot, mert a puffer automata ürítése így nem működik tovább.
1. tegyek hálózati zavarszűrőt a szivattyúkhoz,
2. kapcsoljam egy -egy + 5V-os relével a szivattyúkat,
3. telepítsem külön a szivattyú kapcsoló reléket árnyékolva,
4. kapjon hálózati zavarszűrőt a nano 12V-os táp AC 230V-ja,
5. felejtsem el a nano automata vezérlő alkalmazását ?
(#) GPeti1977 válasza hadhazik hozzászólására (») Feb 27, 2016 /
 
Szilárdtest relé (tulajdonképpen triak + optocsatoló) kapcsolásakor nem keletkezik zavar, ezért azt használj;
persze attól még kellhet a hálózati zavarszűrő.
A hozzászólás módosítva: Feb 27, 2016
(#) hadhazik válasza GPeti1977 hozzászólására (») Feb 27, 2016 /
 
(#) RoliNyh válasza hadhazik hozzászólására (») Feb 27, 2016 /
 
Az a fél amper amit ez tud, elég kevéske szerintem...

A helyedben inkább ilyet használnék:

SSR 2A

Ebből van több csatornás is...

Vagy ilyet:

SSR 25A
A hozzászólás módosítva: Feb 27, 2016
Következő: »»   195 / 853
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