Fórum témák
» Több friss téma |
P1REN BIT3 beállítása után P1OUT megfelelő bitjét is 1-be kell állítani, különben lefelé húzás lesz, nem pedig felhúzás.
Egyébként ezen az oldalon az 1_ledswitch program módosítása pont erről szól. Megjegyzés: olvashatóbb lenne a programod, ha a 0x08, 0x40 és hasonlók helyett BIT3-at, BIT6-ot és hasonlókat írnál! A hozzászólás módosítva: Jan 11, 2014
Sziasztok!
Azt szeretném kérdezni, hogy ha egy autó sebességjelét szeretném egy g2553-al feldolgozni, akkor hogyan köthetem azt az egyik lábára? Optocsatoló után egyből, vagy kell még rá esetleg szűrőkondenzátor, vagy egyebek? Mi az ajánlott technika? Köszönöm a választ!
Optocsatoló után nincs mit szűrni. Előtte, a LED meghajtásánál kell ügyelni, ha szükséges formázni.
A sebességjeladó elméletben testet kapcsolgat, egy négyszögjel a kimenete. Akkor ezzel kell valamit csinálni?
A test kapcsolgatástól nem fog világítani a LED, tehát van ott más is, pl. tápfeszültség. A kapcsoló (vagy mi a jeladó?) pereghet, az áramkör zajt szedhet fel, tehát biztosan van mit csinálni, de ez már nem ennek a topiknak a témájába vág.
Hát úgy gondoltam, hogy a jeladót az optoled negatívjára viszem, a led pozitívját meg előtét ellenállással a pozitív tápra. Így már kellene neki világítani. Melyik topikban tudnék kérdezni ezzel kapcsolatban?
Sziasztok!
Kettő Launchpad és egy PC között szeretnék, bluetooth-on kapcsolatot létrehozni hc-05-ös modulokkal. A LP és PC között működik a kapcsolat, azzal nincs bajom, viszont nem tudom, hogy oldjam meg a két LP közötti kapcsolatot ezekkel a modulokkal. Tehát, két Launchpad (g2553) plusz két hc-05 bluetooth, hogy lehet megoldani a kettő közötti kommunikációt? Meg lehet egyáltalán? Vagy egyszerűbb ha a PC-n keresztül oldom meg?
Szoftveres I2C kezelésre (csak master módot támogat!) találtam könyvtárat az Energiához ebben a topikban. Több napi szenvedés után sikerült használhatóvá is tenni (egy nagyon trükkösen megbúvó indexelési hiba volt benne). A javított kódot mellékelem.
Egy mintapélda a használatára (TCN75 hőmérő kiolvasása):
Nem tudom, hogy volt-e már róla szó, de ha nem, akkor hasznos info:
Thoms Fishl programja segítségével a Stellaris Launchpad kártyát használhatjuk logikai analizátorként. Nem egy nagy durranás, de alkalmanként hasznos segítség. Jellemzők: - 10 MHz mintavételi frekvencia (a firmware módosítása nélkül nem változtatható) - 16 kB mintavevő buffer (ami a RAM-ban elfér...) - 8 csatornás bemenet (PORTB[0..7]) - Nem kell kiegészítő hardver - Triggerelési funkció egyelőre nincs, az első jelszintváltozás a 8 bemenet bármelyikén indítja a mintavételezést Figyelem: a PB0 és PB1 bemenetek nem tolerálnak 3,6 V-nál magasabb jelszintet. A többi csatorna 5 V toleráns. A PC oldali megjelenítéshez és protokol analízisre a Logic Sniffer Java kliens használható. Mai I2C szenvedésem eredménye, ami igazolta számomra, hogy hardveresen rendben van a jel, tehát programhibát kell keresni, a mellékelt ábrán látható.
Íme, a breadboard-barát Launchpad kártya. Előtérben a BMP180 szenzor, szoftveres I2C-vel hajtva (a végeredményben már a magasságra korrigált nyomás került kiíratásra).
A hozzászólás módosítva: Feb 1, 2014
Idézet: „breadboard-barát Launchpad” Ez jó, pláne a befőttes gumis felfogatás! Én kétoldalas ragasztóval oldottam meg... Ha szoftveres I2C-t használok, akkor is számít a master és a slave közötti távolság? Persze, tudom, nem lehet a végtelenségig növelni, csak az érdekelne, hogy távolabb lehet-e a két eszköz, mint a hardveres I2C-nél.
A befőttes gumi előnye, hogy könnyen levehető.
A szoftveres I2C esetén ne felejtsük el, hogy a drót másik végén a szenzor továbbra is ugyanúgy ("hardveresen") működik, tehát a korlátok itt is megvannak. Ha a drót mindkét végén szoftveres vezérlés lenne, akkor lehetne manipulálni a mintavételezés (órajel felfutáshoz képesti) megkésleltetésével, hogy a nagy kapacitások okozta lassú jelfelfutás ne zavarjon. De az már egy másik kommunikációs szabvány lenne...
Üdv!
Azt szeretném megcsinálni hogy MSP430g2-re van kötve egy poti, serial-ban ki is irja az adatokat de csak 1000 és 1024 között, hogyan lehetne megoldani hogy 0-1024 között irja ki?Illetve hogyan lehetne azt hogy a feszültséget is irja, szóval a poti tekerésére hogyan változik a feszültség.Energia könyvtárban nemigazán találtam rá megoldást.
Idézet: „Illetve hogyan lehetne azt hogy a feszültséget is irja, szóval a poti tekerésére hogyan változik a feszültség.” Itt írtam le (a lap alján az utolsó példa). Ellenőrizd a bekötést is! (Erős a gyanúm, hogy mégsem a csúszkát kötötted be az A3 bemenetre) A hozzászólás módosítva: Feb 2, 2014
Köszönöm ezzel már működik!Valószinüleg rossz helyre kötöttem mert felső vcc és gnd-re volt.
Viszont a feszültséget csak 3,449-ig állitja, ez arra enged következtetni hogy kevés az ellenállása a potinak?
Idézet: Az mindegy. Szerintem az első kísérletnél a potméter felső végét és a csúszkát cserélhetted fel. „felső vcc és gnd-re volt.” Nem tudom, hogy mennyi a potméter ellenállása, de 1 kOhm és 20 kOhm közötti érték meg kell, hogy feleljen. Az, hogy nem megy fel teljesen a megadott névleges feszültségig (ami vagy annyi, vagy nem annyi...) attól lehet, hogy a mechanikus ütköző nem engedi nekiütközni a felső vég fémes kontaktusának. Én nem izgatnám magam emiatt emiatt. Nézd meg inkább, hogy mi van, ha direktben a VCC pontot kötöd A3-ra!
Á... A másik oldali hardveres I2C, ki is ment a fejemből!
Mostanában elég szétszórt vagyok.... Előbb cselekszem, aztán gondolkodom.... Köszi!
Bocsánat rosszul fogalmaztam, poti tekerésére 3,449 és 3,5 közötti értéket kapok ebből gondolom hogy nem elég nagy az ellenállása.
Sziasztok!
MSP430 segítségével szeretném megoldani a következő feladatot: Egy bejövő jel hatására az egyik kimeneten egy LED fényerejét szeretném szabályozni. Úgy képzeltem el, hogy lenne 3 féle bejövő jel és ezek 1-1 külön bemenetre érkeznének. Ezeknek a hatására 3 különböző fényerősség "keletkezne" egy LED-en attól függően, hogy melyik bemeneten jelent meg bejövő jel. Tehát mondjuk ha az MSP-m egyik bemenetére jel érkezik, akkor mondjuk teljes fénnyel világít a led, ha a másik bemenetére érkezik jel, akkor közepes fénnyel világít, ha a harmadik bemenetre érkezik jel, akkor pedig mondjuk alig világít. Megoldható ez egyáltalán MSP-vel?
Sikerült megoldanom 5 lábú potival, 1. és 5. láb a vcc, gnd 2. láb pedig a jel, igy tökéletesen működik 0-3,5v között tudom állitani.
A hozzászólás módosítva: Feb 3, 2014
Csak puszta kíváncsiságból, a másik 2 láb micsoda?
Azok semmire sincsenek rákötve,csak úgy vannak.
Hogy lehet azt megcsinálni hogy serial-ba mondjuk be irom hogy start és akkor elkezdi az adott feladatot pl.: feszültséget ki irná, ha be irom hogy stop akkor pedig abbahagyja.
Előtte átböngésztem az energia könyvtárat de nemigazán tudtam rájönni hogy hogyan lehetne.
Sok értelme nincs annak, hogy a mikrovezérlőben tiltsd le a kiíratás. Naplózáshoz én a Hyperterminálban szoktam indítani vagy leállítani a fájlba írást. Ha zavar a kiírás, akkor fordulj el, vagy zárd be a terminál ablakot!
A kérdezett funkciót csak nagyon bonyolultan, kvázi multitaszkos formában (mert nem tudod, hogy mikor jön az adat a soros vonalon!) lehetne megvalósítani, a Serial objektum Stream osztályból örökölt metódusai segítségével.
És ha mondjuk 10 féle adat van de én most éppen csak a 4. 5. 6. adatra vagyok kiváncsi akkor nagyban meg könnyitené a dolgom ha csak be irnám hogy 4. 5. 6. .Persze ez csak a példa kedvéért, inkább csak az érdekel hogy hogyan is lehetne megoldani.Nem gondoltam hogy ez ennyire bonyolult, azt hittem csak megadok valamilyen if függvényt hogyha bevan irva hogy 4. akkor 4. adatot irja ki.
A legegyszerűbb az egyetlen karakterrel történő vezérlés. Ekkor is ellenőrizni kell, hogy érkezett-e karakter, azt beolvasod és utána jöhet a vizsgálat (if, switch, stb).
Többkarakteres parancsot, vagy adatot karakterenként beolvasni, összerakni, értelmezni nagyon macerás, pláne, ha közben a program alaptevékenységét nem lehet félbeszakítani egy blokkoló várakozással (ami a világ végéig sem enegedi tovább a programot, amíg a felhasználó nem kegyeskedik leütni az Enter-t, vagy megnyomni a Send gombot).
De nem értem hogy azt miért nem lehet hogy ha x=start akkor elkezdi ki irni 4. adatot.
Ezt leprogramozni csak nem lehet annyira bonyolult.
Mi az, hogy x=start?
A nehézség pedig az, hogy a soros kommunikáció karakterenként történik.
Úgy értettem hogy az ahova lehet irni serial-nal, szóval ha oda start van be irva akkor úgy, de mindegy is ha nem lehet megcsinálni.Azért köszönöm a választ!
|
Bejelentkezés
Hirdetés |