Fórum témák
» Több friss téma |
Akkor egyszerű dolgod van ascii ként hívod meg és a makróba beírod a számát
print ascii (223)
Vagy valami hasonó, most nem tudom ellenőrizni.
Köszönöm mindkettőtöknek, működik. Az viszont nem világos, hogy miért pont 223?
Illetve az sem teljesen, hogy hogyan szokás kijelezni ADC értékből pl a hőfokot, nyomást , stb. tizedes vesszővel.
ADC /10
ez lesz az első két digit aztán jön a tizedes vessző majd ADC MOD 10 ez a tizedes A hozzászólás módosítva: Jan 17, 2019
Karaktertáblázatot nézd.
Felső sor, jobbról a harmadik: 1101 (első négy bit) Bal oldali oszlop, utolsó: 1111 (második négy bit) A kettőt egymás mellé kell rakni: 1101 1111. Ez egy bináris szám, decimálisra átszámítva 223. 0-255 -is bármit küldhetsz a kijelzőnek, a megfelelő karaktert fogja mutatni.
Kérhetek egy példát, ha lesz rá időd? 0-4,5V-ig van a szenzor kimenete, viszont 2V környékén már -hőfok van, ezt is valahogyan jeleznem kellene, feltételes elágazásokból ki szerkesztgetni meg hát...
Szerk.: Vagyis majd csak ennyi lesz a szenzor, mert jelenleg csak egy NTC, még ahhoz is kell valahogyan elektronikát varázsolnom, szóval jelenleg potméterek vannak az ADC bemeneteken. A hozzászólás módosítva: Jan 17, 2019
Tessék konfigurálva nincs csak példa ...
Nagy segítség volt, így már értem. Köszönöm!
Innen gondolom már csak annyi, hogy olyan egyenletet vezetek le, hogy a helyes értéket kapjam. Tehát nem csak 10-el osztom? A hozzászólás módosítva: Jan 17, 2019
Az egyenletet még az osztás-modolás előtt kell megcsinálnod , különben értelmetlen értékeket fogsz kapni a kijelzőn Az egyenlet : 10 es osztás (gondolom egyértelmű) MOD10 a tizes osztás maradéka (az adat utolsó számjegye) tizedes törtet csak így tudsz számolni tehát vagy 10 az osztó vagy 100 de akkor úgy alakul a dolog hogy 2 tizedesig fog kijelezni az LCD
A hozzászólás módosítva: Jan 17, 2019
Logikus... Már csak azt kell megoldanom, hogy tudjon menni mínuszba is. Ezt úgy oldjam meg, hogy csak egy kötőjelet írjak a számérték elé, ha 0-tól lefelé megy?
A beállításánál olyan változót kell választani ami - értékebe is átmehet , és a poti középértékéhez kell kalibrálni a 0 értéket , tehát ha 1024 lehet maximum az adc értéke akkor a kozbenso= 512-adc számítást kell használni és int változó típust kell beállítani a változóknak
Így elvileg 0-5v os jelváltozásra -512+512 lesz a kijelzett érték (és 2,5v nál lesz a 0 érték) Sőt ! Ha az adc értékét 1000 el szorzod és 1024 el osztod akkor kerek ezer lesz a maximális érték akkor +-500 lehet a kijelzőn a határ ... A hozzászólás módosítva: Jan 17, 2019
Na erről szívesen látnék egy videót a Youtube csatornádon! Már próbáltam mindent IS, de feladtam ...
Ha nincs meg a táblában egy jel, akkor szerkeszd meg.
Egy üres helyre 0-7 ig valahova feltöltöd és utána onnan meghívhatod. Ha van excell a gépeden akkor használd egészséggel. A karakter 0 és 1-el megrajzolod, a sötétkék sor amit be kell írni a ram ba.
Na kész van az alap amit tudnia kell a programomnak.
Bele építettem az átdolgozott részedet is, kis igazítással. Videó minőségért elnézést, de a teló nem a legmodrenebb amivel felvettem. Ledvez 877
Sziasztok, LED-es DVM folyamatábrára lenne szükségem. 16F688-al szándékozom majd csinálni, de mivel pédaprogramnak kell, így bármi jöhet.
Milyen LED? Mekkora feszültséget akarsz mérni? Milyen felbontással? Melyik részben kérsz segítséget?
Mit csináltál meg eddig, mire jutottál, hol akadtál el azon kívül, hogy bármi jöhet ?
A hozzászólás módosítva: Jan 20, 2019
Kettő-négy hat hozzászólással lejjebb tettem fel példát (ADC kezelésre) feszültség mérésre ...
A hozzászólás módosítva: Jan 20, 2019
Most Játszogatok a DS3231 es RTC használatával , az idő
a dátum beállításával kiolvasásával nincs gondom de az ébresztés kifogott rajtam . Hogyan mi módon kapcsolom ki be ? A 08H 09H adress az óra perc és a 0AH a hét napjainak beállítása az adatlap szerint ,de a ki be kapcsolás hogyan működik ? Az int/sqw lábon jön ki a "riasztó" jel ? A hozzászólás módosítva: Jan 20, 2019
Az INT/SQW láb vagy folyamatos négyszögjelet ad, vagy a riazstáskor aktiválódik (aktív alacsony, nyitott kollektoros kimenet).
A 0x07 - 0x0A regiszterek első (MSB) bitjeivel lehet beállítani, milyen időközönként riasszon, ez a táblázat benne van az adatlapban. A 0x0E regiszterrel lehet ki- és bekapcsolni a riasztásokat. Bit 2-t kell 1-re állítani (a kimenetet a riasztás vezérelje, ne a négyszögjel), valamint a Bit 0-t is. Ez utóbbival lehet az első riasztást aktiválni, deaktiválni. A Bit 1 a második riasztáshoz tartozik.
Nem nagyon fog menni, nem sok időm van mára már. Konkrétabb kérdés nincs? Könnyebben tudok segíteni.
Ráér nem sürgős (a számítás elég lenne amivel a bitet bebillentem ...)
Ha be tudod állítani az időt, akkor bármit be tudsz állítani. Állítsd be a 0x0E regisztert így:
0b00000101 (az Alarm1 lesz aktív) Ha azt szeretnég, hogy minden nap jelezzen, akkor neked az "Alarm when hours, minutes, and seconds match" sor kell. Ehhez az kell, hogy az A1M4 bitet 1-be kell billenteni. Ez a bit a 0x0A regiszter MSB bitje. Ilyenkor neked csak az első bit érdekes, mert mindegy, hogy a riasztás dátuma mire van állítva, minden nap jelezni fog. A 0x0A regiszterbe ezt írd: 0b10000000 Ha kellene ennek a regiszternek a tartalma mert pl. dátumra is akarsz riasztani, akkor első lépésként állítsd elő a regiszter tartalmát majd illessz az elejére egy 1-est. Pl.: 0b00010001 or 0b10000000 = 0b10010001
A 0x0E regiszterbe beírom a 0b00000101 et akkor bekapcsoltam az ébresztést , a hét napjait hogyan tudom állítani hogy mondjuk hétfőn kedden csütörtökön ?
Ilyet nem tud, ezt inkább a kontrollerben intézd (úgy egyébként is, szerintem abban egyszerűbb). Csak szabályos időközönként tud riasztani.
Akkor ha jól értem be kell állítanom az ébresztést minden napra és a piccel kell megoldanom hogy aznap legyen csak riasztás amikor akarom ? Evvel már sokkal előrébb jutottam köszönöm a segítséget .
Akár így is lehet. Én a DS3231-ből csak az időt és dátumot olvasnám ki, minden mást a PIC-ben intéznék.
|
Bejelentkezés
Hirdetés |