Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Sziasztok,
valaki tudna segíteni, hogyan tudnék 50Hz-es négyszögjelet generálni 50%-os kitöltési tényezővel? Előre is köszi.
Vagy használhatom a tone() funkciót erre a célra? Egy tranzisztort szeretnék vele kapcsolgatni.
Hát mondjuk a Bink program is ezt csinálja, átírod a delayeket, és csókolom Már persze ha az neked megfelelő freki.
De gondolom a Tone is jó erre. A PWM kimenetek is megfelelnek.
Milyen nyelven kellene? Arduino, Bascom? C? ASM?
Milyen pontos 50 Hz? (kvarcpontos, belső RC tag pontos?) Hálózati matatásra kellene? (ekkor szinkronizálni kell a hálózattal, mert az kicsit ingadozik 50 Hz +/- 0,02 Hz-vel... Néhány nap alatt szétcsúszik a kvarcpontos is....
Egy Tiny45/85-t akarok beprogramozni Arduino nyelven (esetleg WinAVR-el), hogy kapcsolgasson egy tranzisztort változó frekvenciával 20-60kHz között 50% kitöltési tényezővel . A belső oszcillátort használnám, nem kell hajszálpontos freki.
Most olvastam hogy a tiny nem támogatja a tone()-t úgyhogy más megoldás kéne. A hozzászólás módosítva: Jún 10, 2013
Tiny45/85 az Arduino alatt felejtős.
Arduino: Mega8/168/328/1280/2560 és Mega32U4 amiket támogat. A többi megoldás csak "barkács" illetve rendszerhack. 20-60 Hz vagy kHz? Nagyon nem mindegy!
Akkor WinAVR, és 20000-60000Hz.
PB1-es (6) pinen van a FET, a PB0-n (5) meg egy led ami jelzi hogy működik az áramkör. A hozzászólás módosítva: Jún 10, 2013
Hello,
A segítségetekre lenne szükségem, azt a feladatot kaptam hogy állítsak össze egy (home made) 32x32-es monokróm LED mátrixot, ami egy Arduino Uno-val lenne vezérelve. A neten keresgélve több helyen 74HC595-ös léptető regisztert ajánlanak. Csak az a baj hogy teljesen amatőr vagyok ebben a témában így fogalmam sincs hogy mennyi léptető regiszterre lenne szükségem és hogy hogyan kössem be őket. Válaszokat előre is köszönöm!
Üdv újra!
Egy kijelzőt szeretnék shift regiszterrel működésre bírni úgy, hogy a hőmérsékletet mutassa. 3db 74HC595 IC van hozzá. A tavir-os leckékben volt egy számláló vagy mi, ami végigment 0-9 aztán betüket írt ki, az működik is. De nem tért ki a lecke a további felhasználhatóságra. Kutattam a neten, és találtam egy programot erre a célra, de össze-vissza karaktereket írkál ki a hőmérséklet helyett, ráadásul folyamatosan változik a katyvasz amit kiír, pedig a hőmérséklet szinte állandó, max a tized/század fok változik. Ránéznétek, hogy mi lehet a baj?
Üdv,
DS18B20-as hőmérő mért értékét szeretném serial monitorra kiírni. A kódot az azrduino honlapjáról vettem :
Beillesztem a progiba és a következő hibát kapom: sketch_jun17a:4: error: 'OneWire' does not name a type sketch_jun17a.ino: In function 'void loop()': sketch_jun17a:18: error: 'ds' was not declared in this scope sketch_jun17a:30: error: 'OneWire' has not been declared sketch_jun17a:47: error: 'ds' was not declared in this scope sketch_jun17a:67: error: 'OneWire' has not been declared Kérdésem, hogy hogyan tudom megszüntetni az errorokat? Válaszokat előre is köszönöm!
Nos, a fenti hibákat sikerült kiküszöbölni a OneWire.h Libraries mappába történő behúzásával (letöltöttem)
Most a következő hiba van: DS18x20_Temperature:18: error: redefinition of 'OneWire ds' DS18x20_Temperature:10: error: 'OneWire ds' previously declared here DS18x20_Temperature.pde: In function 'void setup()': DS18x20_Temperature:20: error: redefinition of 'void setup()' DS18x20_Temperature:12: error: 'void setup()' previously defined here DS18x20_Temperature.pde: In function 'void loop()': DS18x20_Temperature:84: error: redefinition of 'void loop()' DS18x20_Temperature:26: error: 'void loop()' previously defined here Most mit tegyek?
Újraindítottam az Arduinot, most már lefordul, fel tudom tölteni a progit.
De miután bekötöttem a ds18b20-at, megsütötte az ujjam. Mellékelek képet hogy hogyan raktam be. Hol lehet a probléma?
Úgy látom fordított tápot kapott: a rajz alapján az 1-es lábra a +Ut, a 2-es láb a jel és a 3-as láb a GND , a felhúzóellenállás a + Ut-re csatlakozzon megint !
helyes bekötés
Egyébként van egyszerűbb kód, ami nekem működik, és még delay sincs benne:
A hozzászólás módosítva: Jún 17, 2013
A programkód 4 karakteres, Te 3 shiftregisztert hazsnálsz...
Az átvett adatok jók? A shiftregiszterek karakterleképezése jó?
Átirogattam 3-ra a dolgokat, úgy sem jó, de persze lehet, hogy nem elég csak a 4-eseket átírnom.
Hogy érted, hogy jók-e a leképezések? Ha arra gondolsz, hogy a táviros leckében megírt kódnál jók-e, igen. Kivéve a középső karakter, ott a 6 és a 9 karakter tükörképes.
Kétfelé szedném a kódot:
1, számjegy meglesése, hogy jó -e (soros debug arduinonál (println)) 2, fix karaktert/számot megadni - kiírja-e
További hasznos debug, ha egyenként lépteted végig a dolgokat, ezzel kiderül, melyik bitre mit lép.
Üdv, jaja, fordítva kötöttem be, erre hamar rájöttem magamtól, de ezt már a kutya sem hiszi el
Megy szépen, írja ki az adatokat. Egymás mellé tettem párhuzamosan kettőt, így is megy, ellenállást nem tettem be másikat, ahogy utánaolvastam nem is kell. De azt hogy tudom, hogy melyiket írja előbb, melyiket később??? Tehát egy buszon vannak, de az egyik meleg helyen, a másik meg hidegen, akkor honnan tudom, hogy melyik melyik? A vezeték végéről, elejéről, vagy összevissza olvassa ki a hőmérők értékeit, pl ha van 3 darab, akkor hogy csinálja? Erre asszem csinálok egy tesztet holnap, de addig is ha van valakinek tapasztalata, akkor meghallgatom! Köszönöm a mai segítséget, szép estét!
Elvileg van nekik címük.
Mondjuk a legfapadabb módszer, hogy elkezded kiolvasni őket, kiírod a soros portra a címüket meg a hőmérsékletet, és az egyiket megfogod. Amelyik elkezd emelkedni, azt fogod
Üdv,
A címüket megtaláltam, a hőmérsékletüket is ki tudom számolni. De a kérdés arra vonatkozott, hogy ha egy buszra, az egyszerűség kedvéért 3 db -ot felfűzök, állandó távolságra egymástól, akkor milyen sorrendben olvassa őket. a megmelegítős módszerrel egyszer eljátszik az ember. Olyan kellene, ami mindig működik, akárhány hőmérő van a buszon. Teszem fel felfűzök egy buszra 5000 db-ot, azt elég körülményes lenne egyesével végigmérni, végigmelegíteni, kiolvasni a kódját. Erre tudsz, vagy tud valaki megoldást?
Szia!
Idézet: pl. elolvasod az adatlapot ! Ott le van írva, hogy mindegyik eszköznek EGYEDI címe van, azaz meg kell címezni, mint a borítékot! Aki megkapja a parancsot/kérést, az fogja közölni a hőfokot, amit a program akkor ír ki és oda, ahova a programozó szánta ( jó esetben ! ) !„Erre tudsz, vagy tud valaki megoldást?” Idézet: Az adatlap ezt nem javasolja, persze próbálkozhatsz ( de nem fog sikerülni!)!„Teszem fel felfűzök egy buszra 5000 db-ot” Ha szeretnéd tudni, hogy honnan kapod a hőmérsékleti adatot melegítés nélkül, akkor előre kiolvasod az azonosítóját és FELJEGYZED, hogy azt hova használtad fel ! A hozzászólás módosítva: Jún 18, 2013
Leírták helyettem Tudni kell, melyik a címe, és az hol van a buszon. Másképp nem fog menni.
Üdv, Hát jól le lettem "osztva"
De nincs harag Megértettem, többször átolvasom a datasheetet. Annyi a lényeg, hogy nem lehet megmondani látatlanban, hogy hol vannak a hőmérők. ez sajnos kicsit elszomorító, de ha nincs más lehetőség, akkor marad az egyenkénti kiolvasás, az menni fog. Ha esetleg sikerül valamit ügyeskednem, azért megírom. Köszönöm a segítségeteket!
Érdekes, hogy az összes mintapéldán az 5V-ot használják a breadboardon, ahol az ember össze-vissza kötöget mindent.
Legutóbb szerelésnél minden szalagkábelt sikeresen fordítva kötöttem be, köztük a MAX-232-t is (VCC-GND-OUT-IN). Ami megmagyarázhatatlan, hogy egyik IC-m sem döglött meg. Az Arduino azért problematikus, mert az USB közvetlenül az alaplapra megy, tehát ha gáz van, akkor az alaplapot is szétvághatja. Én a +5V-ot vagy kívülről veszem, vagy ha 40 mA elég, akkor az egyik PIN-ről. Ilyen felállásban nincs közvetlen kapcsolat az alaplapi 5V-tal, ami szerintem biztonságosabb.
Erre most már én is fogok figyelni!
Arduino esetén az USB-n ott szokik lenni a 500 mA-es multifuse. Azaz rövidzárnál leold. Plusz ha be van tartva az USB szabvány, akkor túláram esetén az alaplap is automatikusan leválaszt (ilyen a Compaq PII-es PC ).
Leírom a sztorit a számítógépvásárlásról. Amint megvettem észrevettem, hogy az egyik USB port nem megy, vissza a szervízbe. Egy hónap múlva kaptam vissza, addigra sikerült kicserélniük, utána megemlítették, hogy bizonyosan én vagyok a hibás, mert merészeltem ezt-azt rádugni és örüljek a szerencsémnek, hogy garanciális csere volt.
Szóval ami az alaplapi USB-t illeti, ha arra nem voltak képesek, hogy a gyárban leteszteljék, akkor mire számíthatok még tőlük? Ha nem raknak bele rövidzárvédelmet, a vásárló meg elégeti, az az ő baja, pereljen, ha van kedve...
Azért a legtöbb USB eszközön van rövidzárvédelem... Elég gáz, ha nem volt...
Valószínűleg van rajtuk, elfogadom.
A problémám nekem inkább elméleti: egy alaplap 50-60 eFT között mozog. Amennyiben rövidzár esetén az alaplap egy része leég, kizárt, hogy a gyártó konstrukciós hiba miatt kicserélje, vagy visszaadja a pénzt. Lehet, hogy túl pesszimista a hozzáállásom, de úgy tapasztalom, hogy a világ egyre inkább a bunkózás felé megy el. Évekig Marc cipőt vásároltam, mígnem az egyik garanciálisan elszakadt. Ezek "szakértő" gárdát tartanak azért, hogy hivatalosan papíron igazolják, hogy a cipőt én szakítottam el, a saját hibámból és ne kelljen fizetniük. Lehet pereskedni. Minthogy az időm drága, kiadtam egy vidéki cipésznek, aki 1500-ért megcsinálta, azóta más gyártó cipőjét veszem meg, nem pénzelem a "szakértő" gárdájukat. Biztosan megéri nekik... Egyébként alaplapnál pontosan ugyanez a helyzet: az enyémet is azonnal küldték a "szakértő" gárdához cserénél, amelyik megállapította, hogy az alaplap hibás és nem feltétlen én okoztam a bajt. Ezek természetesen akkora hatalmasságok, hogy ha azt mondják, hogy én okoztam, akkor bizonyítsam be, hogy nem. Ez van. |
Bejelentkezés
Hirdetés |