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   539 / 839
(#) KoblogPerGyok válasza Jacksonps2 hozzászólására (») Jún 13, 2019 /
 
Helló!

Mannyire tudsz programozni? Ezt megoldani szinte semmi. Rengeteg példa van arra, hogy pl egy VB.NET asztali app felismerje, loggolja az adott eszközről az adatokat. Ezt átalakítani hogy valahova feltöltse szintén semmi. Azonban még mindig nem tudjuk, hogy a webszerver mit takar? Sima FTP kapcsolattal szövegfájlba, vagy adatbázisba? Mindkettő ok. Szerintem írj egyet. A programot meg beteszed az ütemezett feladatokba, hogy a PC indulásakor mindig elinduljon.

Így nem kell Ethernet modul az arduino-hoz, mert már megvan a soros portos kommunikáció. Azonban lehet könnyebb lenne Ethernet port, mert akkor azon keresztül lehetne csatlakozni a PC-hez. Sőt, már rögtön a webszerverre. Ez elég általános dolog, el kell döntenéd melyik irányban indulsz el.
(#) Nanok válasza Kovidivi hozzászólására (») Jún 13, 2019 /
 
Végül is az is egy megoldás, ha már mérni tudok. Majd építek mellé egy analóg, hangolható oszcillátort.
Tudnál kész projektet ajánlani? Mert amit én linkeltem be, valamiért nem működik.
(#) morgo válasza Nanok hozzászólására (») Jún 13, 2019 /
 
A TimerOne libraryval tudsz max 1MHz-es négyszögjelet generálni. A minimuma 8 másodperc körül van. Rákeresel, letöltöd, és biztosan van benne néhány mintaprogram.
Bővebben: Link
A hozzászólás módosítva: Jún 13, 2019
(#) Nanok válasza morgo hozzászólására (») Jún 13, 2019 /
 
Ahogy nézegettem, a 16Mhz-et, csak egész számokkal lehet osztani. Úgy meg nekem, nagyon nagyok az ugrások. De ha lenne egy pontos mérőműszer, az már fél siker lenne.
(#) proba válasza Nanok hozzászólására (») Jún 13, 2019 / 1
 
Ha valami komolyabb eszközt szeretnél, akkor tényleg rendelj egy DDS generátort. Ha építeni szeretnél, olyat ami csak a generátor maga, ha csak szeretnél egyet, akkor meg egy komplettet.A processzorból néhány Khz-nél többet kis lépésközzel ne várj. Talán 4 órajelenként tud a timmer osztani, ami ugye 4Mhz/2Mhz/1,33Mhz/1Mhz/0,8Mhz/0,666Mhz...Ez gondolom felbontásban igen szűkös 1Mhz környékén. Arra vigyázz, mielőtt nagyon csillogna a szemed, a DDS generátorok sem tudják négyszög/háromszög jelen azt amit szinuszon. Ha azokra is szükséged van, a kívánt frekvencia 10 szeresét tudó generátort keress legalább.
(#) ardukato válasza Nanok hozzászólására (») Jún 13, 2019 / 1
 
(#) Nanok válasza proba hozzászólására (») Jún 14, 2019 /
 
Értem, világos. Nagy pontosságú mérőműszert, ami 500khz-ig legalább tud mérni. Azt hogyan lehetne csinálni belőle?
(#) Jacksonps2 válasza pipi hozzászólására (») Jún 14, 2019 /
 
De egyszerűbb maradni az rs485-nél, csak még kérdéses hol lesz a PC, illetve milyen távol a mérlegtől és a net csatlakozás minden helyiségben van, viszont ha rs akkor külön kábelt kell behúzni. De most az a felállás, hogy lesz nem messze a mérlegtől egy PC, addig rs485, onnan meg már hálózaton keresztül hozzáférek akárhonnan ahhoz a PC-hez amire a mentett adatok kerülnek.

Meg azért érdekel, hogy nézne ki ez neten keresztül. Igen, ez nem rossz ötlet; " két arduinó ethernet modullal. Az egyik a jelenlegi, de a hálón tcp vagy udp csomagokat küld a PC oldali arduinónak, amit ez visszatesz a soros portra".

Elgondolkodtató, köszi a tippet!
(#) Jacksonps2 válasza KoblogPerGyok hozzászólására (») Jún 14, 2019 /
 
Ja igen, sima FTP kapcsolattal szövegfájlba menteni az adatokat. Hát ezzel kapcsban még szinte semmit nem tudok , de akkor belemerülök...igazából csak azért érdeklődöm, mert az is érdekelne, hogy tudom megoldani, hogy ha épp olyan igény merülne fel, hogy ne RS485-ön, hanem interneten keresztül menjen a kommunikáció az arduino és a PC között és a PC-re megérkező adatok (óránként néhány karakter) automatikusan mentésre kerüljenek például a merevlemezre (egy sima txt fájlba). Egyelőre viszont úgy néz ki, hogy rs485 keresztül lesz kommunikáció az arduino és pc között és a gép a terminalon keresztül menti az adatokat a merevlemezre...
Köszi a segítséget!
(#) pipi válasza Jacksonps2 hozzászólására (») Jún 14, 2019 /
 
Hali!
Ha mindenhol van falicsatlakozó, akkor miért kellene új kábelt kihúzni az rs485-höz?
Megkéred a rendszergizdát hogy a rendezőn dugja össze direktben neked a két helyen a falicsatit.
(#) KoblogPerGyok válasza Jacksonps2 hozzászólására (») Jún 14, 2019 /
 
Erre simán fejlesztenék egy kis appot, ami a Windows indulásakor elindul, a tálcán megjellene egy ikon, (notify) amivel lehetne váltani hogy hova mentse. Pl FTP, adatbázis és a PC-n fájlba, illetve parancsküldés az Arduino-nak, beállítások stb. Mindegyik külön szálon dolgozna természetesen. Szerintem jobban jársz mintha 2-3 külön appot próbálnál meg összehangolni, ráadásul úgy, hogy automatikusan csak az Arduino-ról jövő adatokat loggolja. (Pl Arduino spéci karakterekkel indít, így lehet tudni, hogy AZT kell loggolni stb. Sok lehetőség nyílik ilyenkor, ellenben az összekapart appok-nál nem. Illetve azokat nem is tudod változtatni.)Arduino-t úgy is programozol, a VB.NET-el meg tele van az internet.
(#) proba válasza Nanok hozzászólására (») Jún 14, 2019 /
 
Mit akarsz méri?, milyen pontosan? A nagy pontosság meg relatív. 0.01-0.02% nál pontosabbra az arduinó kristálya már nem alkalmas. Frekvencia mérésben ez már elég rossznak számít szerintem. Bár hangra lehet elég.
(#) morgo válasza proba hozzászólására (») Jún 14, 2019 /
 
Az arduino órajele valóban nem túl pontos. Ami a legszomorúbb, hogy a stabilitása is csapnivaló. Én már agyaltam olyan megoldáson, hogy egy külső TCXO-val kalibrálni kéne néhány mérésenként, és annak alapján lehetne korrigálni a frekvenciamérést. Mivel nem volt túlzottan fontos, így nem is nagyon erőltettem magam. Esetleg találkoztál már mar valami hasonló megoldással?
(#) proba válasza morgo hozzászólására (») Jún 14, 2019 /
 
Nem tesztelgettem az atmega processzorokat ilyen téren. PIC esetén ha órát építettem, a jó kvarc, megfelelő minőségű kondenzátorok esetén azért a napi 5-10 s eltérést szoba hőmérsékleten el lehetett érni. Ez már egy egyszerűbb frekvenciamérőnek jó lehet. A követező lépés az órákban alkalmazott kvarc használata, jó kondenzátorokkal napi 1-2s . Azután jön a termosztátos módszer. Gondolom ezek atmegával is működnek. Illetve javasolták, rádióadók ill GPS jelének felhasználását mint időalap. Ami még eszembe jutott, DS3232 óra ic kimenő jele is használható lenne. De szerintem ez már más témakör.
(#) Kovidivi válasza proba hozzászólására (») Jún 14, 2019 /
 
Az órakvarc még azért is jó, mert a karóra hőmérséklete szinte fix (a test fix hőmérsékleten tartja).
Én építettem ébresztőórát, amiben van kalibrációra lehetőség, fél év alatt nem veszek észre változást (tehát percen belül marad). Másik, kalibrálatlan órám kb. 3 havonta összeszed pár percet, de megszoktam, a beállítás tart kb. 10mp-ig...
(#) morgo válasza proba hozzászólására (») Jún 14, 2019 /
 
Értelek, de én Arduino alaplapra gondoltam. Azon meg olyan a kvarc/rezonátor amilyen. Nem sok esély van cserélgetni, és ez fogja elsősorban meghatározni az arduinos frekimérést. Mivel tervezgetek egy frekvencia, fordulatszám, meg hasolnó digitális dolgokat mérő shieldet Mega laphoz, azon elférne plusz TCXO. Régi telefonból bontott 26 MHz-es van pár darab, csak valamilyen osztó kell hozzá meg erősítő de az nem gond.
(#) KoblogPerGyok válasza morgo hozzászólására (») Jún 14, 2019 /
 
Használj sima ATMEGA Chip-et, USB stb. nélkül, azt simán fel tudod programozni és ahhoz használj külső, de stabil oszcillátort. Sokkal olcsóbb és akár jobb is lehet mint a gyári. (Ez azért nem 100%). Pár dollárért kapsz egy marék ATMEGA328-at. Egy maréknyi dollárért pluszban megkapod az oszcillátorokat is!
(#) suszitibi hozzászólása Jún 14, 2019 /
 
Sziasztok
Szeretnék segítséget kérni, Arduino-MIDI ügyben.
Azt szeretném elérni, hogy csak akkor küldjön a kimenetre note on-t, ha két adott nyomógombot nyomtam le. Csatolom a jelenlegit, ami nem működik. Nem tudom, hogyan írjam meg, hogy az adott két gomb egyszerre történő alacsony szintnél küldje a kódot. Ha valaki felvilágosítana, megköszönném.
Köszönettel: Tibi
(#) morgo válasza KoblogPerGyok hozzászólására (») Jún 14, 2019 /
 
Akad a fiókban ATmega 328. De mint írtam a Megával akarok kezdeni valamit, hogy pontosabb legyen.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
  1. ...
  2. if( (digitalRead( C ) == HIGH) && (digitalRead( dur ) == HIGH) )         // lenyomtak a C-t és a dur-t
  3. {...}

Vagy LOW szintre:
  1. ...
  2. if( (digitalRead( C ) == LOW) && (digitalRead( dur ) == LOW) )         // lenyomtak a C-t és a dur-t
  3. {...}
A hozzászólás módosítva: Jún 14, 2019
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
Whileben áll amig valamelyik feltétel igaz:
  1. while( digitalRead( F ) == LOW || digitalRead( dur ) == LOW )  
  2.         {
  3.          
  4.             delay( 5 );  
  5.         }
(#) suszitibi válasza kapu48 hozzászólására (») Jún 14, 2019 /
 
Köszönöm, ezer hála. Jelzem, mire jutottam.
(#) suszitibi válasza kapu48 hozzászólására (») Jún 14, 2019 /
 
Csak leddel próbáltam a midi kimeneten. Most, ha a két nyomógomb közül valamelyiket megnyomom, kigyullad a led és addig világít, míg a másik gombot meg nem nyomom. Visszafelé u.ez van. Elvileg, már akkor is küld valamit, amíg csak az egyik van lenyomva. Megnézem monitoron.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
Igaz, Nem az else ágba rakta?
  1. if( (digitalRead( C ) == HIGH) && (digitalRead( dur ) == HIGH) )  
  2. {Ha minden feltétel igaz?}
(#) suszitibi válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
Csináltam egy dúros és egy mollos bemenetet. Ha csak egy gombot nyomok, játssza végig a dúr, majd moll akkordokat, jó gyorsan.
A while-ban amit írtál a & karakter helyett, az mi? Mert én oda is azt tettem.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
OR = || = VAGY feltétel vizsgálat
AND = && = ÉS - " -
A hozzászólás módosítva: Jún 14, 2019
(#) suszitibi válasza kapu48 hozzászólására (») Jún 14, 2019 /
 
Ezt hogyan tudom beírni?
Az lenne a lényeg, hogy csak akkor menjen az akkord, ha mindkét nyomógomb lenyomott. Pl. a C és a dur is. Ha az egyiket elengedem, akkor el kellene hallgasson.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
  1. while( digitalRead( F ) == LOW && digitalRead( dur ) == LOW )
  2.         {
  3.          
  4.             delay( 5 );
  5.         }


|| = AltrGr + W * 2
A hozzászólás módosítva: Jún 14, 2019
(#) suszitibi válasza kapu48 hozzászólására (») Jún 14, 2019 /
 
Így hibát ír, hiányolja a zárójeleket.
(#) kapu48 válasza suszitibi hozzászólására (») Jún 14, 2019 /
 
Nekem OK!
  1. #include <MIDI.h>
  2.  
  3. MIDI_CREATE_DEFAULT_INSTANCE();
  4.  
  5. // a 12 hang és 4 húr nyomogombjai:
  6.  
  7. int As    = A5;
  8. int Es    = 1;
  9. int B     = 3;
  10. int F     = 4;
  11. int C     = 5;
  12. int G     = 6;
  13. int D     = 7;
  14. int A     = 8;
  15. int E     = 9;
  16. int H     = 10;
  17. int Fis   = 11;
  18. int Cis   = 12;
  19. int dur   = A0;
  20. int moll  = A1;
  21. int sept  = A2;
  22. int szuk  = A3;
  23.  
  24. void setup()
  25. {
  26.     MIDI.begin(1);
  27.     pinMode( As,    INPUT_PULLUP );
  28.     pinMode( Es,    INPUT_PULLUP );
  29.     pinMode( B,     INPUT_PULLUP );
  30.     pinMode( F,     INPUT_PULLUP );
  31.     pinMode( C,     INPUT_PULLUP );
  32.     pinMode( G,     INPUT_PULLUP );
  33.     pinMode( D,     INPUT_PULLUP );
  34.     pinMode( A,     INPUT_PULLUP );
  35.     pinMode( E,     INPUT_PULLUP );
  36.     pinMode( H,     INPUT_PULLUP );
  37.     pinMode( Fis,   INPUT_PULLUP );
  38.     pinMode( Cis,   INPUT_PULLUP );
  39.     pinMode( dur,   INPUT_PULLUP );
  40.     pinMode( moll,  INPUT_PULLUP );
  41.     pinMode( sept,  INPUT_PULLUP );
  42.     pinMode( szuk,  INPUT_PULLUP );
  43.     pinMode( 13, OUTPUT );   // ez valami LED kimenet
  44. }
  45.  
  46. void loop()
  47. {
  48.     // C dur
  49.    
  50.     //if( digitalRead( C and dur ) == HIGH )         // lenyomtak a C-t és a dur-t
  51.     if( digitalRead( C ) == HIGH && digitalRead( dur ) == HIGH )         // lenyomtak a C-t és a dur-t
  52.     {  
  53.        
  54.         MIDI.sendNoteOn( 48, 100, 1 );         // kikuldom a B-durnak megfelelo noteOn-okat
  55.         MIDI.sendNoteOn( 52, 100, 1 );
  56.         MIDI.sendNoteOn( 55, 100, 1 );
  57.        
  58.         //while( digitalRead( C and dur ) == LOW )  // megvarom, mig elengedik a B gombot, addig nem lepek tovabb.
  59.         while( digitalRead( C ) == LOW && digitalRead( dur ) == LOW)  // megvarom, mig elengedik a B gombot, addig nem lepek tovabb.
  60.         {
  61.             delay( 5 );  // kis prell mentesites
  62.         }
  63.        
  64.         // itt mar elengedte a C-t és dur-t, kikuldom a noteOff-okat
  65.  
  66.         MIDI.sendNoteOff( 48, 0, 1 );        
  67.         MIDI.sendNoteOff( 52, 0, 1 );
  68.         MIDI.sendNoteOff( 55, 0, 1 );      
  69.                    
  70.     }
  71.  
  72.     // F dur
  73.    
  74.     //if( digitalRead( F and dur ) == HIGH )  
  75.     if( digitalRead( F ) == HIGH && digitalRead( dur ) == HIGH)        
  76.     {  
  77.         MIDI.sendNoteOn( 41, 100, 1 );        
  78.         MIDI.sendNoteOn( 45, 100, 1 );
  79.         MIDI.sendNoteOn( 48, 100, 1 );
  80.        
  81.      //   while( digitalRead( F and dur ) == LOW )  
  82.         while( digitalRead( F ) == LOW && digitalRead( dur ) == LOW )  
  83.         {        
  84.             delay( 5 );  
  85.         }
  86.  
  87.         MIDI.sendNoteOff( 41, 0, 1 );        
  88.         MIDI.sendNoteOff( 45, 0, 1 );
  89.         MIDI.sendNoteOff( 48, 0, 1 );      
  90.                    
  91.     }
  92.  
  93. }  // loop


Idézet:
„"C:\\Users\\Kapu48\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\5.4.0-atmel3.6.1-arduino2/bin/avr-size" -A "C:\\Users\\Kapu48\\AppData\\Local\\Temp\\arduino_build_502937/2019_05_24_proba.ino.elf"
Vázlat használ 2822 bájt (8%) -ot a program tárhelyből. A maximum 32256 bájt.
A globális változók 371 bájt (18%)-ot használnak a dinamikus memóriából, 1677 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.

A hozzászólás módosítva: Jún 14, 2019
Következő: »»   539 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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