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   683 / 839
(#) atiotezer válasza Bakman hozzászólására (») Márc 21, 2021 /
 
Köszönöm.
(#) atiotezer válasza pbalazs hozzászólására (») Márc 21, 2021 /
 
Köszönöm. Az UARThoz- közben kaptam segítséget, 1:1.be összelehet kötni az arduinoval a kijelzőt. Így kiveszem a kapcsolásból. Köszönöm.
(#) proli007 válasza pbalazs hozzászólására (») Márc 21, 2021 /
 
Hello!
"A 10k-s felhúzók a bemeneten szerintem hatástalanok, mert a LED és az ellenállása kisöntöli.
"
Ez nem egészen helytálló.. Mert a Led küszöbfeszültsége alatt szinte "lezár" és a bement a "levegőben lóg". A magas jelszint 10K-val biztosítva lesz.
(#) sdrlab válasza atiotezer hozzászólására (») Márc 21, 2021 /
 
Érdemes lenne a FET-ek szimbólumait kijavítani(IPD), illetve valami szabványosabb formára hozni(AO)..., mert ez így nem csak helytelen, de megtévesztő is...
(#) sdrlab válasza proli007 hozzászólására (») Márc 21, 2021 /
 
A magas jelszint a LED-ekkel is biztosítva lenne(szivárgó áramok!), de abban igazad van, hogy feleslegesen nagy lenne a bemenet impedanciája....
(#) pbalazs válasza proli007 hozzászólására (») Márc 21, 2021 /
 
Nem teljesen értek egyet, a kulcsszó a "szinte", ahogy mondod is. Pár uA fog folyni.
De mindegy is, maradjon a 10k, olcsó is, meg kicsi is.
(#) Rober_4 válasza icserny hozzászólására (») Márc 22, 2021 /
 
Köszi, bár ettől független volt a kérdés, viszont a kettő hatványai maradékaimat javítottam erre...
(#) Vacok hozzászólása Márc 26, 2021 /
 
Sziasztok!
A char address = “F0101F01” karakterláncot soros monitoron (Serial.print(address, DEC)) miért 21-es értékkel látok?
(#) sargarigo válasza Vacok hozzászólására (») Márc 26, 2021 /
 
Gondolom a Serial.print() megpróbálja decimálisként értelmezni. Próbáld a ", DEC" nélkül hívni!
Bővebben: Link
A hozzászólás módosítva: Márc 26, 2021
(#) Vacok válasza sargarigo hozzászólására (») Márc 26, 2021 /
 
Azért írattam ki decimálissal, mert próbálom megérteni a karakterláncok kezelését. A konkrét probléma, hogy van két karakterláncom:
  1. char address=“F0101F01”;
  2. char address_1[8]={‘F’,‘0’,‘1’,‘0’,‘1’,‘F’,‘0’,‘1};

A kettőt össze szeretném hasonlítani, de egyenlőre még nem sikerült elérnem, hogy a kettő között a program az azonosságot felfedezze, pedig ugyan azt a karakterláncot tarttalmazza a két kifejezés.
A hozzászólás módosítva: Márc 26, 2021
(#) Kovidivi válasza Vacok hozzászólására (») Márc 26, 2021 /
 
Ez sosem lesz egyenlő, mivel ez teljesen hibás: "char address=“F0101F01”;". Char az egy byte, vagyis 8bit. Amit te megadtál utána, az egy sztring vagy tömb, de hibásan van deklarálva.
(#) Vacok válasza Kovidivi hozzászólására (») Márc 26, 2021 /
 
Értem, és hogy van helyesen deklarálva?
(#) sdrlab válasza Vacok hozzászólására (») Márc 26, 2021 /
 
char address[]=“F0101F01”;

Így add meg! De vigyázz, a tömb egy lezáró 0 karakterrel több lesz, mint a másik....
(#) Vacok válasza sdrlab hozzászólására (») Márc 26, 2021 /
 
Köszönöm, így már sikerült. Ez lett a kód, működik az összehasonlítás is:
  1. char address[] = "F0101F01";
  2. char address_1[] = {'F','0','1','0','1','F','0','1','\0'};
  3. void loop () {
  4. if (strcmp(address, address_1) == 0) {
(#) pittyu2 hozzászólása Márc 27, 2021 /
 
Hali mesterek. Hőmérő programban hogy lehet megoldani, hogy lassú változásnál a relé ne kapcsolgasson ki-be. Tehát hiszterézist beiktatni ( egy-két fokot )
  1. {
  2.       redVal1 = 0;
  3.       greenVal1 = 0;
  4.       blueVal1 = 150;
  5.       relPin1Val = LOW;
  6.       relPin3Val = LOW;
  7.           lcd.setCursor(13, 0);
  8.       lcd.print("H: ");
  9.      }
  10.     else if(temperature1 > 40 && temperature1 < 80)
  11.     {
  12.       redVal1 = 0;
  13.       greenVal1 = 150;
  14.       blueVal1 = 0;
  15.       relPin1Val = HIGH;
  16.       relPin3Val = LOW;
  17.        lcd.setCursor(13, 0);
  18.       lcd.print("JO: ");
  19.       }
  20.     else if(temperature1 > 80)
  21.     {
  22.       redVal1 = 150;
  23.       greenVal1 = 0;
  24.       blueVal1 = 0;
  25.       relPin1Val = HIGH;
  26.       relPin3Val = HIGH;
  27.        lcd.setCursor(13, 0);
  28.       lcd.print("ME: ");
  29.       }


Előre is köszi, ha valaki segít.
A hozzászólás módosítva: Márc 29, 2021
Moderátor által szerkesztve
(#) Josi777 válasza pittyu2 hozzászólására (») Márc 27, 2021 / 1
 
Fogalmazzuk meg jól a feladatot, majd azt valósítsuk meg. Mi is a hiszterézis? A bekapcsolási és a kikapcsolási érték közötti "távolság". Azaz 2 vizsgálatra van szükség, az egyik azt a feltételt vizsgálja, ami a bekapcsoláshoz kell, a másik vizsgálat pedig azt, ami a kikapcsolásához. De ha a kettő között nincs különbség, akkor a hőmérsékletmérés LSB hibája miatt ki/be fog kapcsolgatni. Próbáld meg 2 külön if-el, - habár az else if is jó, de szerintem átláthatóbb, ha külön van bontva, de ez ízlés kérdése - az egyikkel a be-, a másikkal a kikapcsolást kezeled, ügyelve arra, hogy a 2 érték között ne legyen átfedés. A két érték közötti távolság a hiszterézis.
  1. if (homerseklet<20) {
  2.  // bekapcsolás
  3. }
  4. if (homerseklet>21) {
  5.  // kikapcsolás
  6. }
(#) pittyu2 válasza Josi777 hozzászólására (») Márc 27, 2021 /
 
Köszönöm. Próbálom átírni és szerintem így jó lesz.
Az zavart, hogy lassú változásnál a keringtető szivattyú ki-be kapcsolgatott . Ami gondolom nem tesz jót a csiriviri processzoros Wilo szivattyúnak.
Mégegyszer köszönöm , : pittyu
(#) atus1981 hozzászólása Márc 27, 2021 /
 
Sziasztok!
Van egy Sonoff TH10 eszközöm, hozzá egy AM2301 érzékelő.
Hőmérője rendben van, egy tizeden belül mér. A páramérője viszont nagyon csal felfelé. Lehet valahogy kalibrálni vagy offsetet állítani?
Köszi
(#) Rober_4 hozzászólása Márc 28, 2021 / 4
 
Sziasztok!
Ugye régen mit összegondolkodtunk, hogy hogyan tudnánk egy fekete fehér tévéből színeset csinálni...
Ha nem is tévé, de volt egy játék szintetizátor billentyűzetem, amit már vagy 2 éve megcsináltam midi kontrollernek Arduino Nanoval. Nagyon szeretem, de ugye teljesen a nulláról hoztam vissza, és még a pergésmentesítő kondik sem voltak már benne. A minap megfordult a fejemben, hogy jó-jó, de nem az igazi úgy, hogy nem tudja a leütés erősséget (velocity-sebesség), ezét kéne tenni valamit! Ugye a gyári hangszerekben ilyenkor két érintkező (ma már három is) van egy billentyűnél, és az eltelt időből számítják ki a dinamikát.
Hát ugye ez a módszer kizárt, mert dupla annyi vezeték, még multiplexerek, plusz 24 érintkező, kb kezelhetetlen lenne házilag kivitelezve. Viszont megfigyeltem, hogy ezek a játék billentyűzetek nagyon gyorsak. Akár meg is lehet velük "pergetni" egy a hangot, tehát mi lenne ha, használnám a "pergésüket" a dinamika értékek kiszámításához?
Azaz csak akkor adom ki a midi hangüzenetet, ha legalább 2-3 mérésnél a kapcsoló lent van, a közben eltelt idő alatt a kapcsolók bizonytalanságból, meg majd tudok következtetni a leütés sebességére...
Végül egy egyszerűbb módszert valósítottam meg, mely igazából a játékmódot nézi. Itt nem azonos billentyűket vizsgálok, hanem az egymás utáni leütési sebességeket. Ezt ha jól kalibrálom, akkor elérhetek vele dinamika hatású játékmódot, ez végül is egy egyszerű időmérés lett:
  1. byte velocityestimate () {
  2.   int minvelocity = 80;
  3.   int maxvelocity = 127;
  4.   int notetime = ido - elozohangtime;
  5.   elozohangtime = ido;
  6.   int velocityvalue = maxvelocity - notetime;
  7.   if (velocityvalue < minvelocity) {
  8.     velocityvalue = minvelocity;
  9.   }
  10.   if (velocityvalue > maxvelocity) {
  11.     velocityvalue = maxvelocity;
  12.   }
  13.   return velocityvalue;
  14. }

Ha billentyűleütést érzékelek meghívom ezt a függvényt a dinamika értékekhez.
Már az első próbálkozásom sikerrel járt. Arra vigyáztam, hogy csak 70-127 között változtattam a dinamikát, tehát inkább csak színesíti a játékmódot. Leginkább az akkordok lefogása közben működik jól...
Gondoltam megosztom veletek az örömömet
A hozzászólás módosítva: Márc 28, 2021

dinamika.mp3
    
(#) sargarigo válasza Rober_4 hozzászólására (») Márc 28, 2021 / 2
 
De jó ilyet is látni, hogy valaki örül a sikernek!
(#) Rober_4 válasza sargarigo hozzászólására (») Márc 30, 2021 /
 
Köszi, igazából azért írtam, hogy ha nem hardveresen csinálod a pergésmentesítést, akkor egy jó algoritmussal ma már a "pergésből" is kinyerhető információ, ha kell...
(#) Thomas10100 hozzászólása Ápr 1, 2021 /
 
Sziasztok!

Van Arduino Uno-m és Mega 2560-am, ezekre már irtam progikat.
Nextion debugban milyen könyvtárral tudom összehozni? (Kijelző még beszerzés alatt van)
Próbáltam több könyvtárral, de nem akarnak működni.

Köszönöm a segítséget!
(#) Rober_4 hozzászólása Ápr 1, 2021 /
 
Sziasztok, egy picit eltanácstalanodtam.
Megépítettem ezt az Arduinós eepromírót:Kapcsolás
Rendeltem egy vadonatúj 28c256-eepromot hozzá, amit írnak a rajzon.
A megépített áramkört már vagy tízszer kimértem, mindent rendben találtam.
Az Arduino adatbitjei megjelennek az eeprom adatlábain, a cím mind a 15 címbuszon a megfelelő érték, a helyi értékek megfelelőek.
A "write enabled" láb csak akkor lesz alacsony, amikor a writeEEPROM() eljárásban odaér a kód a delayMicroseconds(1)-résznél.
Az output mód értéke mindig a kiadott utolsó művelettől függ, ha írás volt, akkor magas, ha olvasás volt akkor alacsony, ami teljesen jónak tűnik nekem.
Tehát a kód, és a hardver is jónak tűnik.
Az eepromot nagyon óvatosan tettem a foglalatába...
Ennek ellenére teljesen mindegy mit írok egy adott címre, mindig 255-öt kapok vissza.
Lehet valami alapvető dolgot nem veszek észre, vagy nem tudok...
Az oldalon lévő forrás:eeprom-programmer

Itt ugye a setAddress(int address, bool outputEnable) eljárás gondoskodik, arról, hogy a megadott int típusú cím megjelenjen a shiftregiszterek kimenetén.Ráadásul még ugye az írás-olvasás miatt állítja az oe bemenetet.
A readEEPROM(int address)-függvény fogja beolvasni a byte-ot az adott címről.
A writeEEPROM(int address, byte data) pedig a megadott címre írja ki a megadott adatot.
Tehát a legegyszerűbb megoldás, egy írásra és egy olvasásra a 0-ás címe ez:
  1. writeEEPROM(0, 9);
  2. int cucc=readEEPROM(0);
  3. Serial.println(cucc);

Sajnos ebben az esetben is 255-öt ír a program, és ha rámérek akkor az adatlábakon is 1-es érték van.
Ha bárminemű ötletetek van, megköszönöm, mert én kifogytam...
(#) sdrlab válasza Rober_4 hozzászólására (») Ápr 1, 2021 / 1
 
Ezek a logikai IC-k rendkívül érzékenyek a legrövidebb impulzust is elkapják a vezetékeken!
Nyugtasd meg a 11, 12, 14 lábakat egy kb 100pF kondival az IC GND Lábához közvetlenül..., ha ilyen jellegű a hiba, ez jótékonyan fog hatni....
(#) Rober_4 válasza sdrlab hozzászólására (») Ápr 1, 2021 /
 
Köszönöm a segítséget, nem tettem kondenzátort bele.
Ezen a videón sem használ:
Videó
Ha a delayokat növelem, ugye nyugodtan lassíthatom, az olvasás és az írás sebességét?
(#) Pethical válasza Rober_4 hozzászólására (») Ápr 1, 2021 /
 
Szia!
Honnan van az eeprom? Nem írásvédett?
(#) Rober_4 válasza Pethical hozzászólására (») Ápr 1, 2021 /
 
Innen rendeltem:
AT28C256
(#) Pethical válasza Rober_4 hozzászólására (») Ápr 1, 2021 / 1
 
Akkor elvileg nem. A Kínából érkezők szoktak azok lenni néha.
(#) Josi777 válasza Rober_4 hozzászólására (») Ápr 1, 2021 /
 
Én úgy kezdeném a hibakeresést, hogy legalább 3 LED-et rákötnék az áramkörre. Az egyik a OE, a másik egy tetszőleges címre, a harmadik pedig egy tetszőleges adatvezetékre. Majd legalább 1 másodperces késleltetéssel sorban meghívnám a függvényeket, de előtte az Ardu adatvezetékeit bemenetre állítom. Elsőnek a setAddress(0,0)-t 0-ás címmel, majd még egyszer 2047-es címmel (2047,0), majd még egyszer ugyanezt, csak megfordítva az OE bitet, (0,1) és (2047,1). Valamint figyelném folyamatosan az adatbemeneteket. Ezzel a címzést és a OE bit működésének a mechanizmusát tudtad ellenőrizni. A cím és az OE led 4 különböző mintát kellene, hogy adjon. Ha ez rendben van, akkor mennék az írás ellenőrzésére.
(#) sdrlab válasza Rober_4 hozzászólására (») Ápr 1, 2021 / 1
 
Az egy dolog, hogy hol használnak, vagy sem! IC gyártótól is függhet az eredmény, hiába ugyanaz a típus...
Ártani nem árt, max nem segít rajtad...

Ha ilyen jellegű a gond, azon nem segít semmiféle delay, mert a probléma az átkapcsolás pillanatában keletkezik, nem random, aszinkron módon...
A hozzászólás módosítva: Ápr 1, 2021
Következő: »»   683 / 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