Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   310 / 361
(#) kaqkk válasza Bakman hozzászólására (») Jan 20, 2019 /
 
Már én is erősen hajlok errefelé ....A flowban szinte csak egy két elágazás ....
(#) kokozo válasza hg6dab hozzászólására (») Jan 21, 2019 /
 
Hello!
Ilyenek votak már feltéve ide:Bővebben: Link
(#) hg6dab válasza kokozo hozzászólására (») Jan 21, 2019 /
 
Mindenkinek köszönöm a segítséget! 3 digites 7 szegmenses LED-kijelzőhöz lenne 30V-ra. De ami a lényeg, hogy évek óta nem használtam a programot és amit eddig tudni véltem, az illanó memóriámban volt. Úgyhogy egy újratanulási folyamat is kell.
(#) hg6dab válasza hg6dab hozzászólására (») Jan 21, 2019 /
 
100 mV-os felbontás, ez még lemaradt. De mint írtam a tanulmányozás jelleg, ami fontos számomra, ezért hálás lennék olyan folyamatábráért, amiben kommentelés is van, nem baj, ha más PIC típus.
(#) kaqkk válasza hg6dab hozzászólására (») Jan 21, 2019 /
 
A flow példák közt van adc és 7 szegmenses kijelző is de itt a témában a múlt héten tettem fel vagy 3 példát az ADC használatáról ...
(#) kaqkk válasza hg6dab hozzászólására (») Jan 21, 2019 /
 
Nézdcsak ...

Adcszazad.fcf
    
(#) hg6dab válasza kaqkk hozzászólására (») Jan 22, 2019 /
 
Köszönöm, a hétvégén elkezdem tanulmányozni.
(#) mhatalyak hozzászólása Jan 29, 2019 /
 
Üdv!

Egy kis számolásnál akadtam el, ADC-vel kapcsolatban.

Hőmérsékletkijelzés lenne a cél, az adott jel 0-foknál 3,1V, ami ADC értékben 180. 120-foknál pedig 0.1V, ami ADC értéke 5. Na most ezt miféle számítással tudnám megoldani, hogy kb. jó eredményt kapjak?

Tehát: 120fok, 3.1V, ADC 180
0fok, 0.1V ADC 5

Előre is köszönöm a segítségeteket!
(#) kokozo válasza mhatalyak hozzászólására (») Jan 29, 2019 /
 
Szia!
0-120ig az 120. 5-180 ig az 175. Tehát ebből az következik, hogy 175/120 azaz 1,458333.
A kiindulási hőfok a 0 volt ahol 5 volt az ADC értéke, ezért az 1fok igy alakul: 5+1,458333.
a 10 fok= 5+14,58333, 100 fok 5+145,833. Természetesen bármilyen hőfokra igaz a következő: 5+(mért hőfok+1,458333) . Természetesen csak ideális esetben, ha a szenzor végig lineáris.
(#) Bakman válasza mhatalyak hozzászólására (») Jan 29, 2019 /
 
Egyenes egyenlete két pontból. 180 ; 0 és 120 ; 5. Ez így eléggé faramuci eredményt ad, de ha csalunk egy kicsit és 120 ; 6 koordinátával számolunk, akkor kijön az alábbi:

y = −0.1x + 18

y: hőmérséklet
x: az ADC értéke

Forrás: Math is fun.

000497.jpg
    
(#) mhatalyak válasza kokozo hozzászólására (») Jan 29, 2019 /
 
Az a gond, hogy az ADC csak 3,6V-ot kap maximum a bemenetén, ez a 0fok. Ha az általad beírt egyenletet írom, akkor az eleve 6fokról indul felfelé, de ha az ADC 23.6V, azaz 180 értéken van, ahol 0foknak kellene lennie, így 185fokot kapok. (A szenzor egy NTC, ami nem teljesen lineáris de ebben az esetben nekem teljesen megfelelő a pontossága)
(#) kokozo válasza mhatalyak hozzászólására (») Jan 29, 2019 / 1
 
Persze mert én a hőfokra írtam, és nem az adc-re az adc-re a következő kell: (ADC értéke-5)/1,458333= hőfok
(#) Bakman válasza mhatalyak hozzászólására (») Jan 29, 2019 / 1
 
Elnézést, elírtam, mellékletben a helyes.

180 ; 120
5 ; 0

000499.jpg
    
(#) mhatalyak válasza kokozo hozzászólására (») Jan 29, 2019 /
 
Így kijön, csak még így is fordítva mér. Igazából ez okozta a fejfájást így estére nekem, hogy hogyan kellene megfordítanom a mérést. Tehát hő hatására csökken a kijelzett hőmérséklet és a szoba hőmérséklete 24 fok, de 48-at ír.
(#) mhatalyak válasza Bakman hozzászólására (») Jan 29, 2019 /
 
Ezt az oldalt a kedvencek közé is teszem. Viszont ezt hogyan gépeljem be a számításba?
(#) Bakman válasza mhatalyak hozzászólására (») Jan 29, 2019 /
 
y=(686x-3429)/1000
  1. y=686*x
  2. y=y-3429
  3. y=y/1000
y változó legyen akkora, hogy 686*255 is beleférjen (174 930), valamint x=0 esetén a -3429 is. Még egy dolog. Ha a végén csak 100-al osztasz, akkor az eredmény utolsó számjegye a tized fokot fogja tartalmazni, a többi az egész.
  1. y=y/100 //y=y/1000 helyett
  2. tized=y MOD 10
  3. egesz=y/10
A hozzászólás módosítva: Jan 29, 2019
(#) kokozo válasza mhatalyak hozzászólására (») Jan 29, 2019 /
 
Akkor ha jól értem pont fordítva írtad le. tehát 0 foknál 180ADC és 120foknál 5ADC érték?
(#) mhatalyak válasza kokozo hozzászólására (») Jan 29, 2019 /
 
És tényleg fordítva írtam le!!! Elnézést. Pedig háromszor olvastam át és még közben műszerrel is mértem és néztem az LCD-n az ADC értéket... 5ADC értéknél kell legyen 120fok. és 180ADC értéknél 0 fok. (késő van már)
(#) mhatalyak válasza Bakman hozzászólására (») Jan 29, 2019 /
 
Tehát y a hőmérséklet, x az adc értéke.

Ezt egy számításba egymás után begépelem:

homerseklet=686*adc
homerseklet=homerseklet-3429
homerseklet=homerseklet/1000

Jól értem?
(#) kokozo válasza mhatalyak hozzászólására (») Jan 29, 2019 / 1
 
Fok= ADC*(120/-175)+120
Fok= ADC*(-0,6857)+123 (a kerekítés miatt)
(#) mhatalyak válasza kokozo hozzászólására (») Jan 29, 2019 /
 
Köszönöm szépen! Hibátlan!
(#) kokozo válasza mhatalyak hozzászólására (») Jan 29, 2019 /
 
Nincsmit!
(#) frekivalto hozzászólása Jan 29, 2019 /
 
Srácok!

W2812 LED szalag vezerlesehez melyik lábakat kell használnom a mikrokontrolleren? Ha jól olvastam 1 vezetékes kommunikációval működik. Sima I/O lábakkal használható, vagy speciális lábakra van szükségem...
Köszönöm.

Udv. Peti
A hozzászólás módosítva: Jan 29, 2019
(#) kokozo válasza frekivalto hozzászólására (») Jan 29, 2019 /
 
Sima 1wire bár leprogramozni nem egyszerű..
Orosz oktató videó
a videó 2 részes.
(#) frekivalto válasza kokozo hozzászólására (») Jan 30, 2019 /
 
Köszi.
(#) Bakman hozzászólása Feb 3, 2019 /
 
Napot!

2D táblázatot lehet? Ha igen, hogyan? Ez nem működik:
  1. rom char* NUMBERS= {
  2. {0x38,0x44,0x44,0x44,0x44,0x44,0x38,0x00},
  3. {0x38,0x10,0x10,0x10,0x10,0x18,0x10,0x00},
  4. {0x7c,0x08,0x10,0x20,0x40,0x44,0x38,0x00},
  5. {0x38,0x44,0x40,0x20,0x10,0x20,0x7c,0x00},
  6. {0x20,0x20,0x7c,0x24,0x28,0x30,0x20,0x00},
  7. {0x38,0x44,0x40,0x40,0x3c,0x04,0x7c,0x00},
  8. {0x38,0x44,0x44,0x3c,0x04,0x08,0x30,0x00},
  9. {0x10,0x10,0x10,0x20,0x20,0x40,0x7c,0x00},
  10. {0x38,0x44,0x44,0x38,0x44,0x44,0x38,0x00},
  11. {0x18,0x20,0x40,0x78,0x44,0x44,0x38,0x00}
  12. };
(#) kokozo válasza Bakman hozzászólására (») Feb 3, 2019 /
 
ROMARRAY_S ASCII1 ROMARRAY_E =
{
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , // 32 = <space>
0x00 , 0x06 , 0x5F , 0x06 , 0x00 , // 33 = !
0x07 , 0x03 , 0x00 , 0x07 , 0x03 , // 34 = "
0x24 , 0x7E , 0x24 , 0x7E , 0x24 , // 35 = #
0x24 , 0x2B , 0x6A , 0x12 , 0x00 , // 36 = $
0x63 , 0x13 , 0x08 , 0x64 , 0x63 , // 37 = %
0x36 , 0x49 , 0x56 , 0x20 , 0x50 , // 38 = &
0x00 , 0x07 , 0x03 , 0x00 , 0x00 , // 39 = '
0x00 , 0x3E , 0x41 , 0x00 , 0x00 , // 40 = (
0x00 , 0x41 , 0x3E , 0x00 , 0x00 , // 41 = )
0x08 , 0x3E , 0x1C , 0x3E , 0x08 , // 42 = *
0x08 , 0x08 , 0x3E , 0x08 , 0x08 // 43 = +
};
Nálam így megy.
(#) Bakman válasza kokozo hozzászólására (») Feb 3, 2019 /
 
Ezzel nincs is semmi gond, de ez nem 2D-s táblázat.

Flowcode 5.
A hozzászólás módosítva: Feb 3, 2019
(#) kokozo válasza Bakman hozzászólására (») Feb 3, 2019 /
 
Macerás de működik.

2DArray.fcf
    
(#) Bakman válasza kokozo hozzászólására (») Feb 3, 2019 /
 
Nem ér! Éppen az egyszerű használhatóság miatt kellene 2D elrendezés.

x=array[3,4]

Mindezt a programmemóriában tárolva. Ez a módszer szembe jutott már nekem is de azt hittem, van valós 2D-s táblázat.
Következő: »»   310 / 361
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