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   413 / 853
(#) Shance válasza wbt hozzászólására (») Jan 6, 2018 /
 
Nem egészen értem, hogy miért és hogyan, de sikerült megoldanom. Kínomban belenéztem a FastSPI_LED2.h-ba, és mindössze ez van benne:
#warning "This file is going away, please us FastLED.h in the future!"
#include FastLED.h
Na mondom ennek mi értelme van? Ezért a programban átírtam, a FastSPI_LED2.h-t FastLED.h-ra, és most működik. Valamikor a nap folyamán még ez előtt módosítottam a 113-as sort
LEDS.addLeds WS2811-ről WS2812B-re, (mert nekem ez van) de ettől még nem lett jó. Létezik, hogy ez volt a hasfájása?
Amúgy én ezt a tápot használom. 1000uf a kimeneten, 1db 18650 akkuval. Próbaképpen futtattam a strandtest-et 2 méter szalaggal. 3,4A-t is mértem, rendesen melegedett, de kibírta.
(#) tbarath válasza RoliNyh hozzászólására (») Jan 6, 2018 /
 
Nem tudom milyen web editorról beszélsz. Nekem amúgy linux alatt 440 mega helyet foglal az arduino
A hozzászólás módosítva: Jan 6, 2018
(#) RoliNyh válasza tbarath hozzászólására (») Jan 6, 2018 / 1
 
(#) tbarath válasza RoliNyh hozzászólására (») Jan 7, 2018 /
 
Eddig még csak nem is hallottam erről, szóval köszi!
Bár én nem igazán szeretem a js dolgokat, szóval maradok a "normál" kliensnél, bár valami komolyabb IDE valóban tényleg nem ártana hozzá...
(#) djusee válasza tbarath hozzászólására (») Jan 7, 2018 /
 
Ezt csak ajánlani tudom. Kis birkózás a beállítással de utána, kezes jószág.
(#) vargham válasza tbarath hozzászólására (») Jan 7, 2018 /
 
Visual Studio Community Edition.
(#) Gabó hozzászólása Jan 7, 2018 /
 
Milyen megoldás van egy olyan hibára (számomra annak tűnik), hogy van egy saját programom, ami egy DS3231ből olvas ki időt és dátumot, 2 PWM kimenetet szabályoz, és 2 külső DS18B20-ból hőfokot.
Ha mind a 3 rész bent van a programba, akkor az óra és a PWM akadozik, de ha a DS18B20 kiolvasását kiszedem, akkor megjavul. DS18b20 kódrészébe van delay, direkt, hogy ne folyamatosan változtassa a hőmérsékletet, de olyankor meg még jobban megakad a program.
Valakinek valami ötlete, hogy mit kéne módosítani, hogy ez az akadás megszűnjön?
A DS18b20 kódrészlete:
  1. sensors.requestTemperatures();
  2.   lcd.setCursor(9,4);
  3.   delay(300);
  4. //  lcd.print("Sensor 0: ");
  5.   lcd.print(sensors.getTempCByIndex(0));
  6.   lcd.write (1);
  7.   lcd.print("C");
  8.  
  9.   lcd.setCursor(0,3);
  10.   delay(300);
  11. //  lcd.print("Sensor 1: ");
  12.   lcd.print(sensors.getTempCByIndex(1));
  13.   lcd.write (1);
  14.   lcd.print("C");
(#) tbarath válasza djusee hozzászólására (») Jan 7, 2018 /
 
Köszi, majd megtekintem. Eclipse-szel már dolgoztam, ha jól emlékszem nincs annyi memória amit ne lenne képes megenni
(#) tbarath válasza vargham hozzászólására (») Jan 7, 2018 /
 
Nem is tudtam, hogy megy linux alatt is.
Akkor ezt is kipróbálom
(#) rohi válasza Gabó hozzászólására (») Jan 7, 2018 /
 
Szia Gabó! ez akváriumvezérléshez lenne?
Akvakertész fórumon vesézik ezt (ha valóban akváriumhoz kell).
(#) berkesandor válasza Gabó hozzászólására (») Jan 7, 2018 /
 
300 ms nem túl sűrű kiolvasáshoz?
(#) atus1981 válasza Gabó hozzászólására (») Jan 7, 2018 /
 
Millis-sel kéne megoldani.
(#) Gabó válasza rohi hozzászólására (») Jan 7, 2018 /
 
Szia!
Nem akvárium. Ilyen kis itthoni ventilátor és hőmérséklet mérés meg idő/dátum kijelzés.

berkesandor: Ha emelem, akkor is marad az akadozás, csak akkor a beállított értéknél lesz az erősebb akadás.
A hozzászólás módosítva: Jan 7, 2018
(#) berkesandor válasza Gabó hozzászólására (») Jan 7, 2018 /
 
Szükséges ilyen gyakori mérés?
(#) Gabó válasza berkesandor hozzászólására (») Jan 7, 2018 /
 
Az a baj, hogy átírom 1000-re, akkor is akadozik az óra és a pwm vezérlés is, csak amikor ugye elér a megadott értékhez, akkor abban a pillanatban jobban. Ha a fenti teljes kódrészt kiszedem, akkor megy tökéletesen.
(#) berkesandor válasza Gabó hozzászólására (») Jan 7, 2018 /
 
Ne használj delay-t, rendszeridő alapján mérj.
(#) Gabó válasza berkesandor hozzászólására (») Jan 7, 2018 /
 
Azt hogy tudom megoldani?
(#) kapu48 válasza Gabó hozzászólására (») Jan 7, 2018 /
 
1 tip a millis() használata:
  1. unsigned long time0, time1;
  2.  
  3. void setup(){
  4.   //Serial.begin(9600);
  5.   // elindítod a késleltetést
  6.   time0 = millis() + 300;
  7.   time1 = millis() + 300;
  8.  
  9.   }
  10. void loop(){
  11.   //...
  12.   if(time0 < millis()){ // végrehajtja ha letelt a késleltetés
  13.     time0 = millis() + 300;  // ujra imdítod;
  14.     sensors.requestTemperatures();
  15.     lcd.setCursor(9,4);
  16.   //delay(300);
  17. //  lcd.print("Sensor 0: ");
  18.     lcd.print(sensors.getTempCByIndex(0));
  19.     lcd.write (1);
  20.     lcd.print("C");
  21.   }
  22.  
  23.   if(time1 < millis()){ // ha letelt a késleltetés
  24.     time1 = millis() + 300;;  // ujra imdítod;
  25.     lcd.setCursor(0,3);
  26.   //delay(300);
  27. //  lcd.print("Sensor 1: ");
  28.     lcd.print(sensors.getTempCByIndex(1));
  29.     lcd.write (1);
  30.     lcd.print("C");
  31.   }
  32.  
  33.   //...
  34. }

Bővebben: Link
(#) Gabó válasza kapu48 hozzászólására (») Jan 7, 2018 /
 
Köszi! Kipróbálom.
Részben javított, már csak a kiolvasásnál akad meg.

tbarath: Köszi, ennek is utána járok.
A hozzászólás módosítva: Jan 7, 2018
(#) tbarath válasza Gabó hozzászólására (») Jan 7, 2018 /
 
A delay bele tud szólni sok dologba, idézem a doksit: "the use of delay() in a sketch has significant drawbacks. No other reading of sensors, mathematical calculations, or pin manipulation can go on during the delay function, so in effect, it brings most other activity to a halt. For alternative approaches to controlling timing see the millis() function and the sketch sited below. More knowledgeable programmers usually avoid the use of delay() for timing of events longer than 10’s of milliseconds unless the Arduino sketch is very simple."


És dallas lib kiolvasása botrányosan lassú, ez jól csak magában működik (jó, még egy lcd lehet mellette), de akkor se hatékony.
Vannak ilyenek benne:
  1. void DallasTemperature::blockTillConversionComplete(uint8_t bitResolution, const uint8_t* deviceAddress){
  2.    
  3.     int delms = millisToWaitForConversion(bitResolution);
  4.     if (deviceAddress != NULL && checkForConversion && !parasite){
  5.         unsigned long now = millis();
  6.         while(!isConversionAvailable(deviceAddress) && (millis() - delms < now));
  7.     } else {
  8.         delay(delms);
  9.     }
  10.    
  11. }

Egyébként kézzel meg lehet gyorsra írni, a google sok találatot ad "ds18b20 fast reading" kifejezésre. Mondjuk munka az van vele.
A hozzászólás módosítva: Jan 7, 2018
(#) berkesandor válasza Gabó hozzászólására (») Jan 7, 2018 /
 
  1. unsigned long StartTime;
  2. unsigned long StartTimeTemp;
  3. unsigned long ciklus = 1000 ;
  4.  
  5.  
  6.  StartTime = millis();  
  7.  
  8.  if (StartTime - StartTimeTemp > ciklus) {
  9.       parancs();
  10.       StartTimeTemp = millis();
  11.  
  12.  }


Valami ilyesmi, remélem nincs benne hiba.
Ez 1 másodpercenkénti mérés.
(#) Gabó válasza tbarath hozzászólására (») Jan 7, 2018 /
 
A kimásolt kódrészletedből beugrott, hogy mi az ami lényegébe bezavarhat. Hisz ugye a DS18B20-nak van saját címe. Na a dallasos (amit használok) ott nem adod meg a címet, hanem ő keresi és használja. Régebben amikor ismerőssel csináltunk egy másik projektet, akkor ott mi megadtuk a címet, és ott nem is volt ilyen hiba. Ez lesz a nyerő ötlet.
(#) tbarath válasza Gabó hozzászólására (») Jan 7, 2018 /
 
Az is lehet lassú, de ez az egész dallas lib nem a gyorsaságra van megírva.
(#) vargham válasza tbarath hozzászólására (») Jan 7, 2018 /
 
Idézet:
„Nem is tudtam, hogy megy linux alatt is.”

Ott a Visual Studio Code megy. Van hozzá Arduino plugin.
(#) tbarath válasza vargham hozzászólására (») Jan 7, 2018 /
 
Jaja, láttam, apt repójuk is van.
(#) mateatek hozzászólása Jan 8, 2018 /
 
Tiszteletem!

Lenne egy kérdésem. Adott egy timer, ami CTC módban billeg, nem túl nagy frekvencián. A jele a hozzá tartozó kimenetre van kapcsolva. Tehát a kimenetemen van a négyszögjel.
Lehetséges lenne az, hogy egy adott időpillanatban megtudjam azt, hogy az a kimenet magas, vagy alacsony szinten van-e, anélkül, hogy ehhez másik lábat használjak?
Valamiféle szoftveres megoldásra gondolok.

Köszönöm.
(#) vargham válasza mateatek hozzászólására (») Jan 8, 2018 / 1
 
Olvasd azt a kimenetet! Pont úgy, mintha bemenet lenne. Előtte NEM kell bemenetté konfigurálnod!
(#) t4nt1zjeee hozzászólása Jan 8, 2018 /
 
Sziasztok! Szeretnék érdeklődni. Kínából (Wish) rendeltem Arduino Mega 2560 V3 panelt 2.500Ft-ér mert 3D nyomtatót építek. Mi a véleményetek vagy tapasztalatok az ilyen nem tudom úgy mond szerintem klónokkal? Ugyan azt a teljesítményt tudja adni mint egy itthon (Hestore) 7.850 Ft-os "eredeti lapka"? Vagy vannak eltérések? Eddig nekem jól működik. Szépen hajtja a RAMPS 1.4 lapot.
(#) goreny válasza t4nt1zjeee hozzászólására (») Jan 8, 2018 / 1
 
Eltérés nem hinném, hogy sok van, itthon is azt kapod, amit te magad megveszel Kinából. Ha működik rendesen, használd.
(#) t4nt1zjeee válasza goreny hozzászólására (») Jan 8, 2018 /
 
Rendben. Köszi! Szuper.
Következő: »»   413 / 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