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   306 / 863
(#) Kovidivi válasza benjami hozzászólására (») Dec 27, 2016 /
 
A vicc, hogy nálam az Arduino ezért még sosem szólt. Pedig biztosan vétettem már ilyen hibát.
Nézd meg David10 programját, lefut, pedig pont hibázik. Az Arduino erre nem kényes.
A hozzászólás módosítva: Dec 27, 2016
(#) benjami válasza Kovidivi hozzászólására (») Dec 27, 2016 /
 
Lehet, hogy az arduino fordítója mégis több menetet használ a fordításhoz? Akkor visszaszívom, a legtöbb C fordító érzékeny erre.
(#) gaspa válasza gaspa hozzászólására (») Dec 27, 2016 /
 
Ha egy saját lcd.create karaktert szeretnék kiíratni,lehet-e az lcd.print karakterei között,vagy csak külön pozicionálva lcd.write-al?
(#) szeg76 válasza gaspa hozzászólására (») Dec 27, 2016 /
 
Lehet, a C/C++ szabályok szerint. A karakter 8-as számrendszerben, három számjeggyel megadott kódjával kell rá hivatkozni egy \ jel után. Meg lehet adni hexában is, de a fordító hajlamos összemosni a számot a szöveg többi részével.
Pl:
"Itt jon a hetedik spec. karakter: \007"
"Irany: 237\xDF"
(#) gaspa válasza szeg76 hozzászólására (») Dec 27, 2016 /
 
A hexa-val kiválóan működik,sokkal egyszerűbb,mint lcd.write-al,az 10 utasítással több +a spec karakter.Egy hőszivattyúhoz csinálok vezérlést,sok hőfokot kell mérni és pont a C°-t nem tudtam kiírni.Kösz.
(#) RoliNyh válasza gaspa hozzászólására (») Dec 27, 2016 /
 
Helyesen szerintem így kell írni: °C (előre kerül a fok jel).
A hozzászólás módosítva: Dec 27, 2016
(#) gaspa válasza RoliNyh hozzászólására (») Dec 27, 2016 /
 
Végül is igazad van,de két adatot írok egymás mellé kevés helyre és a kis fok jel majdnem úgy elválasztja,mint egy space. A funkciót talán így is betölti.
A hozzászólás módosítva: Dec 27, 2016
(#) Kera_Will válasza jeges hozzászólására (») Dec 28, 2016 /
 
Attól , hogy "téglákat/ablakokat faragsz/vágsz ki programkód házakból", nem mentesít a logikai függvények ismerete alól.

Idézet:
„„végig exor-ozd””


XOR (KIZÁRÓ VAGY) logikai függvény működésének illene utána nézned ha már említésre került valaki mástól.

XOR használatával a legegyszerűbb "titkosítást" lehet végrehajtani.
Ha a változót egy adott fix értékkel XOR kapcsolatba hozol (mint kulccsal) akkor megváltozik.
Ezt küldöd el és nem az eredeti változót.
A vételi helyen a vett adatot újra a kulcs értékkel XOR kapcsolatba hozod akkor megkapod azt a változó értéket amit szerettél volna "titkosítani".
pl.:
88 az eredeti 45 a titkosító kulcs
88 XOR 45 = 117 ez kerül küldésre
Vételkor pedig a a vett adatot kell újra 45-el mint kulccsal XORolni
117 XOR 45 = 88 vissza kapod
A hozzászólás módosítva: Dec 28, 2016
(#) RoliNyh hozzászólása Dec 28, 2016 /
 
Szép napot!

Érdekelne mások (ti) hogyan milyen formában detektálnátok egy arduinoval (328P) a hálózati feszültség csúcsértékét. Nekem van két elgondolásom a feladatra, de kíváncsi volnék mások véleményére is.
Konkrétan nem a számértékre vagyok kíváncsi, hogy hány volt, hanem arra az időpillanatra, amikor a színuszhullám épp a csúcsponton (vagy az ellentétes mélyponton) van.

Szükségeltetik ez azért, hogy ebben az időpillanatban (vagy ehez viszonyítva) tudjak bekapcsolni egy digitális kimenettel vezérelt SSR eszközön keresztül egy ponthegesztő transzformátor primer tekercsét.

Köszi...
A hozzászólás módosítva: Dec 28, 2016
(#) kissi válasza RoliNyh hozzászólására (») Dec 28, 2016 / 1
 
Szia!

Csinálj nullpontfigyelő áramkört és ahhoz képest várjál 5 ms-ot !
(#) gaspa válasza RoliNyh hozzászólására (») Dec 28, 2016 /
 
Miért nem olyan SSR-t használsz,amiben eleve van nullátmenet detektálás?
(#) kissi válasza gaspa hozzászólására (») Dec 28, 2016 /
 
Nem akkor akarja működtetni !
(#) Kera_Will válasza RoliNyh hozzászólására (») Dec 28, 2016 /
 
Biztos jó neked ha pont a legnagyobb áram rúgáskor kapcsolsz be egy fogyasztót?
Általában mindig 0 átmenetnél szoktuk ezt megtenni.
Ennek figyelésével és időzítéssel 50Hz 20ms periódus időből saccolható a csúcspont.
(#) RoliNyh hozzászólása Dec 28, 2016 /
 
Na úgy látom mindenki inkább külön áramkörre bízná a detektálást, szoftveres megoldást nem említettetek...

-kisi az első ötletem nekem is valami ilyesmi, csak épp nem nullérzékelésben gondolkodtam, hanem csúcsérzékelésben mondjuk egy schmit trigger kiegészítő áramkörrel, amivel egy digitális bemenetet lehet vezérelni.

-gaspa erre a fajtára tudnál mondani típust is ami ebay -ról is beszerezhető? Esetleg olyat ami akkor kapcsol amikor a jelet kapja? Én csak a nullátmenetes változatot találtam: SSR-25DA...

-Kera_Will először én is úgy gondoltam, hogy valóban a nullátmenetnél jó bekapcsolni, ami igaz is az ohmos fogyasztókra, de nem igaz a transzformátorokra. Nem én mondom, engem is felvilágosítottak.
A trafókat a hullám csúcspontjában jobb bekapcsolni...

Szóval a szoftveres megoldásra én úgy gondoltam, hogy egy kissebb segédtrafó szekunder kimenetét egy utasan egyenirányítva pufferkondi nélkül egy analóg bemenetre vezetve a proci megkapja a pozitív félhullám részét, és a program egy for ciklusban addig méri az analóg feszültséget, míg el nem ér egy bizonyos szint fölé, így kilépve a ciklusból bekapcsolja a kívánt fogyasztót. Majd átlépve egy másik for ciklusba, szintén folyton méri az analóg bemeneten a szinusz pillanatnyi értékét, és egy előre beállított impulzusszám után megfelelően kikapcsolja a fogyasztót.

Ez a megoldás szerintetek mennyire életképes?
A hozzászólás módosítva: Dec 28, 2016
(#) Kera_Will válasza RoliNyh hozzászólására (») Dec 28, 2016 /
 
Tekerj vissza és lesz erre megoldás itt is kb.: 1 éve volt már emlegetve .. rajzcis van róla fesz osztó ellenállások.
(#) RoliNyh válasza Kera_Will hozzászólására (») Dec 28, 2016 /
 
Valójában nem a hardver megvalósítása érdekel (azt megoldom),
hanem a szoftveres rész, hogy működőképes -e elméletileg az elmondottak alapján...
(#) kissi válasza RoliNyh hozzászólására (») Dec 28, 2016 / 1
 
Idézet:
„Na úgy látom mindenki inkább külön áramkörre bízná a detektálást, szoftveres megoldást nem említettetek...”
Szerintem felesleges egy hardveres megoldás mellé ( a tiédhez is kell!) még egy szoftverest is tenni és ezzel terhelni a processzort... Ma már pontos a hálózat, ha megtalálod a nullátmenetet, akkor 5 ms múlva ott a csúcs ( és a 0-t könnyebb detektálni, mint a terhelések miatt ingadozó csúcsot!) !
(#) RoliNyh válasza kissi hozzászólására (») Dec 28, 2016 /
 
Értem, amit mondasz, akkor megpróbálom úgy...
(#) jeges válasza Kera_Will hozzászólására (») Dec 28, 2016 /
 
Egyszer össze jön majd....
(#) gaspa hozzászólása Dec 29, 2016 /
 
Két kérdésem lenne,ha egy sketch-be belejavítok és letöltöm,elmenti az új változatot,de a régit hogyan kapom vissza?Ha nyitok egy új sketch-t,egy régi működőből hogyan lehet deklarációkat,függvényeket áttenni az újba,hogy ne kelljen újra beírni?
(#) gaspa válasza gaspa hozzászólására (») Dec 29, 2016 /
 
Most próbáltam, ctrl c/v átvíszi a régiből az újba,amit kijelölök,remélem működik is.
(#) icserny válasza gaspa hozzászólására (») Dec 29, 2016 /
 
Néha célszerűbb az új vázlatot úgy létrehozni, hogy a régit mentem el új névvel, s kitörlöm, vagy átírom, ami nem kell. A vágólap is hasznos segítség, ahogy írtad. (Ctrl-C, Ctrl-V)

A gyakran használt függvényekből pedig lehet könyvtárat szervezni...
(#) akosnagy válasza akosnagy hozzászólására (») Dec 29, 2016 /
 
A millis() megoldotta a helyzetet. Stabilan tartja a hőfokot a cucc.

Ez megoldódott! lcd.write helyett, lcd.print a megfelelő függvény
Következő problémám, ami inkább programozás.
LCD-re iratom ki az adatokat, az aktuális hőfokot is és a beállítottat is. Az LCD működik, viszont ascii kódnak veszi az értékeket és az annak megfelelő karaktert írja ki. Van valami függvény amivel rá tudom venni, hogy az értéket írja, vagy karakterenként kell konvertálnom?
A hozzászólás módosítva: Dec 29, 2016
(#) Szabolcs95 válasza akosnagy hozzászólására (») Dec 29, 2016 /
 
Ha ascii kódként kezeli, akkor valószinűleg char típusú változóban tárolod a hőfokot, ezt kellene átírni int-re vagy float-ra, attól függően, hogy egész számot szeretnél-e kiiratni, vagy nem.
(#) gaspa válasza gaspa hozzászólására (») Dec 29, 2016 /
 
Ezt a hibaüzenetet kapom: collect2.exe: error: ld returned 5exit status
Vajon mi lehet a gond?
(#) bujan hozzászólása Dec 29, 2016 /
 
Kedves, Tisztelt fórumozók!
Ritkán szoktam írni, mert előbb-utóbb megoldom a feladataimat. Most viszont várnám az ötleteiket. Egy IR remote control-ral vezérlek egy RGB LED szalagot. Mindent tud, amit akarok, de van egy általam megoldatlan feladat, melyen egy hete dolgozom. Bármilyen fade programot írok, vagy a program fut és nem lehet kilépni belőle, vagy el sem indul. A delay már kizárva, de így sem jött össze. Van olyan is, hogy az indító gomb HEX jelére elindul, de megáll. Ha újra megnyomom, akkor megmutatja, hol jár, de újra leáll. Próbáltam azt is, hogy timer.h-val villogtatok egy ledet és akkor lépjen, de nem sikerült távirányító nélkül HEX jelet bevinnem a programba. Tudtok e segíteni?
Egyébként mindenkinek B.U.É. K.
(#) kapu48 válasza bujan hozzászólására (») Dec 29, 2016 / 1
 
Ilyen kevés infó alapján csak kitartást tudunk neked kívánni!
A többihez látni kellene a programot! (Már ha nem titkos?)
(#) akosnagy válasza Szabolcs95 hozzászólására (») Dec 29, 2016 /
 
  1. #include <LiquidCrystal.h>
  2.  
  3. int lcdonoffPin = 2;
  4. const int encoderPinA= 4;
  5. const int encoderPinB= 3;
  6. //const int encoderButton = 7;
  7. int angle=0;
  8. int encoderPos=16;
  9. int encoderStepsPerRevolution= 16;
  10. boolean encoderALast= LOW; //remembers the previous state of the encoder pin A
  11. float temp;
  12. int tempPin = 1;
  13. unsigned long previousMillis = 0;
  14. const long interval = 1000;
  15.  
  16. LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
  17.  
  18. void setup() {
  19.   pinMode(encoderPinA, INPUT);
  20.   pinMode(encoderPinB, INPUT);
  21. //  pinMode(encoderButton, INPUT);
  22.   digitalWrite(encoderPinA, HIGH);
  23.   digitalWrite(encoderPinB, HIGH);
  24. //  digitalWrite(encoderButton, HIGH);
  25.   Serial.begin(9600);
  26.   lcd.begin(16,2);
  27.   lcd.clear();
  28.   lcd.write("Temp:");
  29.   lcd.setCursor(0,1);
  30.   lcd.write("Set:");
  31.   pinMode(lcdonoffPin, OUTPUT);
  32.   digitalWrite(lcdonoffPin, HIGH);
  33. }
  34.  
  35. void loop() {
  36.   unsigned long currentMillis = millis();
  37.  
  38.   if (currentMillis - previousMillis >= interval) {
  39.     previousMillis = currentMillis;
  40.     temp = analogRead(tempPin);
  41.     float mv = (temp/1024.0)*5000;
  42.     int cel = mv/10;
  43.     lcd.setCursor(6,0);
  44.     lcd.print(cel);
  45.     lcd.write(248);
  46.     lcd.write("C");
  47.   }  
  48.  
  49.  
  50.   boolean encoderA= digitalRead(encoderPinA);
  51.  
  52. //if(digitalRead(encoderButton) == LOW) Serial.println("Push");
  53.  
  54.   if ((encoderALast == HIGH) && (encoderA == LOW)){
  55.     if (digitalRead(encoderPinB) == LOW){
  56.       if(encoderPos > 16) encoderPos--;
  57.       }else{
  58.         if(encoderPos < 30) encoderPos++;
  59.       }
  60.       angle= (encoderPos % encoderStepsPerRevolution) * 360/encoderStepsPerRevolution;
  61.       lcd.setCursor(6,1);
  62.       lcd.print(encoderPos);
  63.       lcd.write(167);
  64.       lcd.write("C");
  65.     }
  66.     encoderALast= encoderA;
  67. }


Itt a kód. Int tipusu mind a két változó.
int encoderPos = 16;
int cel = mv/10;
lcd.write-tal kiíratva ascii értéknek veszi, lcd.print-tel viszont kiírja az értéket. Ez nekem eég
(#) dannu hozzászólása Dec 29, 2016 /
 
Üdv ! Olyan problémám lenne hogy Mouse.X szeretnék használni unon van de mivel csak leonardon működik ezért alternatív megoldást kell keresnem. Keresgéltem és találtam ilyen frimware módosítást de mivel nekem kíni ch340 gagyiság van ezért DFU módba nem tudom fel tenni a hexet . ISPN keresztül
  1. avrdude: Yikes!  Invalid device signature.
  2.          Double check connections and try again, or use -F to override
  3.          this check.
  4.  
  5. Hiba a bootloader égetése közben.

ez fogad. Van egy Xloader nevű program ami hex-et tenne fel de az le fagy update feliratnál meg áll.


Ötlet valaki ?
(#) Szabolcs95 válasza akosnagy hozzászólására (») Dec 29, 2016 /
 
Félreértettelek, mindegy, a lényeg, hogy jó.
Következő: »»   306 / 863
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