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   305 / 863
(#) morgo válasza morzsa15 hozzászólására (») Dec 24, 2016 /
 
Szia!
Igen, rosszul tudod. Ha az alábbit berakod a setupba, bekapcsolod a belső referenciát:
analogReference(INTERNAL);
analogRead(0);
Ez után az Aref kivezetésen meg tudod mérni, hogy pontosan mennyi is ez.
(#) mateatek válasza morzsa15 hozzászólására (») Dec 24, 2016 /
 
A Megában 2 referencia van 1.1V és 2.56V.
(#) morzsa15 válasza morgo hozzászólására (») Dec 24, 2016 /
 
1.05V mérek igy az Aref lábnál.
(#) morzsa15 válasza mateatek hozzászólására (») Dec 24, 2016 /
 
Csináltam feszültség osztót 5v-ot 1v-ra. Ezt akkor hogyan is kellene át állítani hogy jól számoljon mert most 0.76V ir annyit ami a feszültség osztóból kijön kb.
(#) mateatek válasza morzsa15 hozzászólására (») Dec 24, 2016 /
 
float voltage = sensorValue * (5.0 / 1023.0);

Ebben a sorban kellene az 5.0-át (a régi referencia értékét) lecserélni a jelenlegi referencia feszültségre.
(#) kissi válasza mateatek hozzászólására (») Dec 24, 2016 /
 
Az így kevés, mert nem veszed figyelembe az osztást ( azzal vissza kellene szorozni ! ) !
(#) mateatek válasza kissi hozzászólására (») Dec 24, 2016 /
 
Igaz.
Akkor vagy nem a belső referenciával mér, vagy máshol van a gond.
(#) jeges válasza morzsa15 hozzászólására (») Dec 25, 2016 /
 
Referencia feszt én bele veném a számitásba... vagy ha nagyon pontos mérés kel akor valami külsö dac ha szükséges a pontos mérés persze.....
(#) Kovidivi válasza jeges hozzászólására (») Dec 25, 2016 /
 
A külső DAC is csak annyira lesz pontos, amennyire sikerül bekalibrálni, és amennyire pontos a referencia feszültség. A belső 10bit-es ADC-vel is el lehet érni megfelelő pontosságot, ha rendesen meg van csinálva a rendszer.
(#) jeges válasza Kovidivi hozzászólására (») Dec 25, 2016 /
 
pl nagyobb minta vételetést meg kisseb zajú lehet ileszteni ha a felhasználás igényli....
Csak egy pl irnék ide mekora a verseny audió technikába DAC minta vételezés és zaj fügvényében...
Ez mérésnél is igaz!
A hozzászólás módosítva: Dec 25, 2016
(#) jeges válasza morzsa15 hozzászólására (») Dec 25, 2016 /
 
Vagy még egy ilyen....
MAX17043
(#) jeges hozzászólása Dec 25, 2016 /
 
fesz mérés példa...

  1. int temp=0;
  2.   float sum =0;
  3.   float VOLTS_SCALE =0;
  4.   float volt=0;
  5.   void setup()
  6.   {
  7.  
  8.   Serial.begin(9600);
  9.   }
  10.  
  11.   void loop()
  12.   {
  13.     for(int i = 0; i < 100; i++)  // loop through reading raw adc values 100 number of times
  14.   {
  15.     temp=analogRead(A0);     // read the input pin  
  16.     sum += temp;             // store sum for averaging
  17.     delay(2);          
  18.   }
  19.    sum=sum/100;              // divide sum by 100 to get average
  20.    
  21.   // Calibration  for Voltage
  22.  
  23.    VOLTS_SCALE = 0.00488 * (120/20); // The voltage divider resistors are R1=100k and R2=20k // 5/1024 =0.00488
  24.    volt = VOLTS_SCALE * sum ;    
  25.  
  26.   Serial.print(volt);
  27.   Serial.println("V");
  28.   delay(500);
  29.   }
(#) Kovidivi válasza jeges hozzászólására (») Dec 25, 2016 /
 
Minek átlagolsz 100x, ha úgyis a tápfeszültség a referencia, plusz az ellenállásoknak is van bőven toleranciája, tehát a 20K-s nem 20000 ohm értékű? Értelmetlen a dolog. Akkor inkább egy megmért TL431 vagy belső referencia, esetleg egy 4.096/2.048V-os spéci pontos referencia, amit mérni sem kell, és 0.1%-os ellenállások, vagy pedig rendes kalibrálás végérték közelében.
Ezért írtam, hogy berakhatsz 40bit-es DAC-ot is, ha a tápfeszültséget veszed referenciának, vagy bármi mást, aminek a saját hibája összemérhető a DAC felbontásával. Az ellenállásnak is van hőfokfüggése, ha már pontos mérést szeretnél.
A hozzászólás módosítva: Dec 25, 2016
(#) jeges hozzászólása Dec 26, 2016 /
 
Tudna valaki olyan megoldást uart alati komunikáciora titkositási modszert ami nem nagy rendszer igény ami nem igényel nagy mcu és sávszéleség számitást?
Valami ugró jelegü titkositás lenne jó!
(#) wbt válasza jeges hozzászólására (») Dec 26, 2016 /
 
A legegyszerűbb, ha generálsz egy véletlenszámot (kulcs) azt beteszed a frame-be valahova és ezzel exor-ozod a többi adatbyte-ot. Ha valaki tudja az eljárást, akkor gyorsan visszafejthető, de hát nem kell kitapétázni vele a készülékek hátoldalát. Tehetsz még bele redundáns byte-okat (vagy biteket), de ez nem nagyon növeli a sávhasználatot és faék egyszerű. (nem beszélve arról, hogy mindig betalál, ellentétben az ugrókódos dolgokhoz képest)
(#) jeges válasza wbt hozzászólására (») Dec 26, 2016 /
 
Van erre valami mintapélda vagy könyvtár?
(#) wbt válasza jeges hozzászólására (») Dec 26, 2016 /
 
Nem használok Arduinot, nem tudom. RND biztos van, aztán azt, hogy egy tömb elemeit végig exor-ozd, gondolom, nem olyan nagy feladat. Persze kérdés, hogy mekkora adatmennyiséggel dolgozol, azt nem írtad.
(#) jeges válasza wbt hozzászólására (») Dec 26, 2016 /
 
Nagy kár hogy nem értetem amit le irtál ez nagyon programozoi nyelv igy nekem...
Mintapéldákbol össze szoktam rakni ha elérhetö.....
köszönöm!
(#) gaspa hozzászólása Dec 26, 2016 /
 
Mint kezdő kérdezem,hogyan kell egy szubrutint meghívni futó programból és a szubrutint hol kell/lehet elhelyezni?Ha lehet rövidke mintával,mert az írásjelekkel még nem békültem ki egészen.
(#) Balázs válasza gaspa hozzászólására (») Dec 26, 2016 /
 
Ezt magas szintű programozási nyelvekben (mint pl. az Arduino által is használt C++) szubrutin helyett függvénynek hívják. Mellékeltem egy rövid példát a kötelező setup és loop függvényekkel, illetve két saját függvénnyel. Az egyik összead két számot, a másik számolja, hogy hányszor hívták meg.

  1. int osszeado(int a, int b){
  2.         return a+b;
  3. }
  4.  
  5. int szamlalo(){
  6.         static int cntr=0;
  7.         return ++cntr;
  8. }
  9.  
  10.  
  11. void setup(){
  12.         //ami itt van, az egyszer fut le, a program elején
  13. }
  14.  
  15. void loop(){
  16.         //ami itt van, az végtelen ciklusban fut
  17.         int valtozo1=osszeado(38,4); //mindig 42
  18.         int valtozo2=szamlalo();     //folyamatosan nő
  19. }
A hozzászólás módosítva: Dec 26, 2016
(#) kapu48 válasza gaspa hozzászólására (») Dec 26, 2016 /
 
(#) gaspa válasza Balázs hozzászólására (») Dec 26, 2016 /
 
Kösz
Nos igen,negyven éve sok assembler programot írtam és az mély nyomot hagyott bennem,ezt még szoknom kell.Na és akkoriban sajna az orosz nyelv volt kötelező,ez is hátráltat.
(#) gaspa válasza gaspa hozzászólására (») Dec 26, 2016 /
 
Miért nem tudom meghívni a "list"függvényt a loop-ból.

lcd teszt.jpg
    
(#) david10 válasza gaspa hozzászólására (») Dec 26, 2016 /
 
A loopban nem kell void a list() elé.
A hozzászólás módosítva: Dec 26, 2016
(#) gaspa válasza david10 hozzászólására (») Dec 26, 2016 /
 
Ha nem teszem elé,azt írja hibának,nincs deklarálva.
(#) david10 válasza gaspa hozzászólására (») Dec 26, 2016 /
 
Nálam lefut.
Mi is pontosabban a hibaüzenet?

Capture22.PNG
    
(#) szitko válasza gaspa hozzászólására (») Dec 26, 2016 /
 
"Mond" meg neki, hogy van "list" függvényed.
A "void setup(){" elé tedd be, hogy "void list();"
Egyes Arduino IDE verziónak nem tetszik, ha az álltalad írt függvény a "Fő" függvény után van.
(#) kapu48 válasza gaspa hozzászólására (») Dec 26, 2016 /
 
Ha "void"-al definiált a függvény! Azt jelenti: Nincsen neki visszaadót értéke.
Ezért nem kell bele return! Vissza talál az anélkül is.
(#) gaspa válasza szitko hozzászólására (») Dec 26, 2016 /
 
A setup elé beírva valóban végrehajtja,ezek szerint elöl is hivatkozni kell rá,annak ellenére,hogy fizikailag a fő program után van.
Okés kösz.
(#) benjami válasza gaspa hozzászólására (») Dec 27, 2016 /
 
Ez azért van így, mert a fordítóprogram az elejéről kezdi feldolgozni a forrásfájlt, és nincs külön menet, ahol összegyűjti, hogy milyen függvények vannak a forrásban. Amikor a list(); függvényhívásodhoz ér, még nem találkozott a függvény definíciójával ezért még nem ismeri. Ennek feloldására két lehetőséged van. Vagy definiálod a list függvényed még a loop függvényed előtt, vagy a függvény kifejtését a loop elé teszed. Ezért szokott jellemző módon a main függvény a forrás végére kerülni, és az egymásból hívott függvények rendre a forrás eleje felé bővülnek.
Ui: kicsit rossz példa, mert az arduino-ban nincs main (illetve valószinüleg van, csak el van rejtve valahol a rendszerben).
A hozzászólás módosítva: Dec 27, 2016
Következő: »»   305 / 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