- Vezeték nélküli fülhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Nvidia GPU-k jövője - amit tudni vélünk
- OLED TV topic
- Fujifilm X
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- ZIDOO médialejátszók
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Azonnali alaplapos kérdések órája
- Kormányok / autós szimulátorok topikja
-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tomika86
senior tag
válasz
Janos250 #20399 üzenetére
LDO esetében viszont már ha csak 1V esik rajta(de ennél többnek kell), akkor is 2W-ot elfűt a max 2A-nél.
LM317ből van adjustable (ADJ jelű), de csak 1,5A a max árama.
Én kipróbálnám a step upot, valami normálisat, nem kínait
(Persze ha csak van rá lehetőség próbálni, hogy bírja) -
Janos250
őstag
válasz
Tomika86 #20398 üzenetére
Az a gondom, hogy nem tudom, elég stabil-e hozzá a DC/DC. Régebben is említett itt valaki aggályokat, hogy inkább LDO-t használ. Nekem is van olyan tapasztalatom, érzékeny hőmérséklet mérésnél a DC/DC nem jó.
LDO-hoz létezik valami olyan buhera, hogy 4V-ot hozzak ki belőle? -
Janos250
őstag
ESP32 + SIM800
ESP32 3.3 V, azzal nincs gond, de a SIM800 az 4V-os, és nem megy 3.3-ről, az 5V-ot meg nem bírja el. Viszont STABIL, és 2A (peek) kell neki. Ezeket Li akkukhoz illesztik, de én nem akarok akkut pluszba betenni.
Kinek milyen ötlete van, hogyan csináljak lehetően egyszerűen 4V, 2A-t? LDO-t nem találok 4V-ra, pedig az volna a legegyszerűbb.
DC/DC elég stabil ehhez vajon? -
Tomika86
senior tag
Sziasztok!
4MB Flash méretű ESP32 esetén amikor fordítok miért csak ennyit ír ki?
Flash: [======== ] 79.7% (used 1044901 bytes from 1310720 bytes)
Lehet valahogyan növelni a felhasználható flash méretet a programhoz?
Arduino IDE alatt van valami partició méret állítási lehetőség, de PlatformIO alatt nem tudom hol kell.
Tennék a programba még egy kis újítást, de 103,9% lett.
(van OTA frissítésem a programban már)
Köszönöm! -
olli
tag
-
lanszelot
addikt
válasz
vargalex #20387 üzenetére
Nagyon szépen köszönöm a segítséget mindenkinek
Olvasgattam, de még nekem az nagyon bonyolult.
Nagyon kezdő vagyok, és ott túl sok minden van, és belekavarodok. Nem tudom mi az amire nekem szükségem van
A library példái egyik se jó nekem.
Talaltam más példát is hozzá, az jó lenne, de krixkraxokat olvas be nekem. Nekik nem, csak nekem. Nem tudom miért, így feladtam.
Csak tanulgatom, így valami könnyebbet nézek
Vettem 37 érzékelő modult és csak kikaptam ezt a 2 érzékelőt.
De van még 35 másik.
Ez az infra se nehéz, ha saját távvezérlőt akarok, pl lámpát kapcsolgatni. /relé is van a 37 ben/
A lemásolás nehéz nekem. -
olli
tag
HELTEC WiFi LoRA 32 V2 OLED DISPLAY
Folyamatos használatban mennyire stabil?
Nálam ~ egy havi üzem alatt 3-4 esetben leállt a program futása relé kapcsolással járó funkcióban.
Hasonló előfordult Nano lappal is, lehet ez is érzékeny a kapcsolási interferenciára? -
vargalex
félisten
válasz
lanszelot #20383 üzenetére
Szia!
A kolléga által bemásolt kódrészletben egyértelműen ott van megjegyzésként a value-nál:
deprecated,moved to decodedIRData.decodedRawData ///< Decoded value / command [max 32-bits]
Nyilván fejlődött, módosult közben a példához képest a lib. Ezt neked kell lekövetned, vagy aktuális példát kell keresni. A fenti struct-ból látszik, hogy neked nem a
decode_results
-ra van szükséged, hiszen szinte minden deprecated. Ahogy láthatod, átkerültek adecodedIRData
-ba.
De egyébként a readme-ban minden le van írva. Érdemes szétnézni az példák között esetleg.. -
-
-
lanszelot
addikt
Bocsanat elírtam.
Value -t akartam írni.
Value nincs. Mert value-ra random számot dob.
Az összes szám a távirányítón ugyanazt a számot dobja, a power gomb viszont mást. Vannak gombok amik ugyanazt dobják, de van ami mást. És nem úgy mint a videóban. Ott számsort dob.
És mindig mást. -
válasz
lanszelot #20378 üzenetére
Nézd erősebben:
struct decode_results {
decode_type_t decode_type; // deprecated, moved to decodedIRData.protocol ///< UNKNOWN, NEC, SONY, RC5, ...
uint16_t address; // Used by Panasonic & Sharp [16-bits]
uint32_t value; // deprecated, moved to decodedIRData.decodedRawData ///< Decoded value / command [max 32-bits]
uint8_t bits; // deprecated, moved to decodedIRData.numberOfBits ///< Number of bits in decoded value
uint16_t magnitude; // deprecated, moved to decodedIRData.extra ///< Used by MagiQuest [16-bits]
bool isRepeat; // deprecated, moved to decodedIRData.flags ///< True if repeat of value is detected
// next 3 values are copies of irparams values - see IRremoteint.h
uint16_t *rawbuf; // deprecated, moved to decodedIRData.rawDataPtr->rawbuf ///< Raw intervals in 50uS ticks
uint_fast8_t rawlen; // deprecated, moved to decodedIRData.rawDataPtr->rawlen ///< Number of records in rawbuf
bool overflow; // deprecated, moved to decodedIRData.flags ///< true if IR raw code too long
}; -
-
-
lanszelot
addikt
Hello,
Volna ez az oldalLent a kódban honna tudom azt, hogy
results.value
mi az a results, illetve hogy lekérhető a value.
results az tömb, object....tehát mi az.
Nem a szó lefordítása érdekel, hanem az, hogy honnan tudom hogy
plresults.length
van -e, és azt hogy kérem le.
Mert ahogy írtam úgy a length nem kérhető le.Ezt szeretném megcsinálni, de nem mondja el, hogy mi honna jön /pl bufIndex 4:15 -nél, vagy utána a Buffer/
-
Janos250
őstag
válasz
fpeter84 #20364 üzenetére
Korábban én is terveztem ilyet csinálni, de - mint sok más - ez is csak terv maradt. A fő ok az volt, hogy sikerült Aliról olcsón olyan csatit beszereznem, ami legálisan működik a laptopra tett szoftver ingyenes verziójával. A legfontosabbakat kiírja, de egy részének csak a kódját, szövegben nem, de az meg a neten megtalálható.
Így elült a projekt, de érdekel, mire jutsz vele! -
#68216320
törölt tag
Igen, ez default usb. Az siman megy. Nekem zip disk van tobb csatlakozoval, az usb win10/linux rendszeren mai napig megy.
Kozben leprobaltam es nem megy az usb-ide adapterrel az ls120-am.
De nem gond, vegul annal maradtam, hogy veszek sima usb fdd-t aztan ha gond van vele (most aktiv hasznalatban lesz) akkor visszaviszem.
Koszonom a tippeket mindenkinek.
Mas:
Kerestem szofisztikalt aron M.O.-n e-paper display-t egy projecthez.
Homerseklet/para es perc alapu idokijelzeshez.
Tervek szerint percenkenti frissitessel majd, kozben mcu sleep.
Viszont nem talaltam megfelelo meretet (3'+).
Van valami bejaratott forras gyors postazassal ahol erdemes nezelodnom? -
Tomika86
senior tag
válasz
razorbenke92 #20367 üzenetére
Akkor lehet elengedem, esetleg van mégegy azt kipróbálom.
Aztán max veszek arduino unot, arról leveszem és az készen is áll bootloaderrel. -
-
fpeter84
senior tag
válasz
Tomika86 #20365 üzenetére
melyik generáció, ott már ki van vezetve valamelyik canbus az obd csatira? mert A6 C5-nél még nincsen... a diagnosztika csak K és L-en éri el, a 3-4 canbus hálózat csak belső használatra van a különböző vezérlők között. no ebbe másztam bele a műszerfal mögött, mert az a gateway, ott összefut minden - csináltam Y leágaztató kábeleket így mindenhez hozzáférek. találtam egy német nyelvű pdf-et az EDC15P vezérlőről, abból próbálok google translate-el minél többet megérteni, illetve azon túl is sokmindent lehet találni guglizva. elég sok információ megtalálható rajta...
-
fpeter84
senior tag
válasz
Janos250 #20354 üzenetére
éppen turkálom egy A6 C5 canbus hálózatait (elsősorban a powertrain vonalat), térképezgetem fel hogy milyen adatokat tudok onnan kinyerni, és azon agyaltam hogy hogyan lehetne a legjobban megjeleníteni őket, ha valami kis LCD-nél többet akarok? saját program windows-os tableten/laptopon? vb6 és delphi7 amivel utoljára játszottam...
vagy androidos program a fejegységen? ahhoz se konyítok, eddig a MIT app inventor volt a legmagasabb szint, de abban agyhalál lenne ennyi mindent össze puzzle-özni... ekkor jutott eszembe, hogy mi lenne ha egy ELM327-et emulálva a droidos Torque jelenítené meg a dolgokat? elkezdtem guglizni hogy hogyan is néz ki a protokoll, mi lenne a minimum amivel át tudnám verni az app-ot, erre belefutottam ebbe a szuper kis projektbe... Nano+HC06 BT adapterrel működött is pöcc-röff, de mivel a canbus-ról összeszedett adatokból szeretném etetni, a legkézenfekvőbb az lenne ha a natív BT-s és CAN-es ESP32-vel menne, esetleg a 2 CAN miatt a DUE+HC06... de sajnos sosem álltak össze a fejemben igazán tökéletesen ezek az objektum-orientált dolgok, csak totózok kísérletezek aztán van amikor sikerül ráérezni, de most sehogy sem akar menni...
-
Tomika86
senior tag
Sziasztok!
Készítettem egy panelt, amin egy ATMEGA88PA foglal helyet. Kivezettem az ISP csatlakozóit tüskesorra(5V, GND, SCK, MISO,MOSI, RESET), van külső kvarc 16Mhz-es, illetve reset felhúzó ellenállás is. Az IC használt, nem tudom miből való!
Összekötöttem egy Arduino UNO-val, 10,11,12,13 pineken illetve a tápot.
(Arduino-ra feltettem az ISP példaprogit)
Átállítottam az ATMEG88-ra, beállítottam hogy legyen Bootloader, megnyitva a feltöltendő kód. Programfeltöltés programozóval, de nem tudja feltenni rá.
Hiba alulTudom bárhogyan ellenőrizni, hogy egyáltalán életképes-e az ATMEGA88?
Hibaüzenet:
avrdude error: Yikes! Invalid device signature.
avrdude error: expected signature for ATmega88P is 1E 93 0F
Double check connections and try again, or use -F to override
this check.
a kiválasztott soros port
nem létezik vagy az alaplap nincs csatlakoztatvaKöszönöm!
-
Wolfram
aktív tag
ESP8266 újraindul 40-50 percenként.
ESP.getResetInfoPtr()->reason 4-es kódot mutat.
A kódban nincs reset parancs, mitől indulhat újra? Úgy tűnik nincs exception mert akkor 2-es lenne a kód. -
#68216320
törölt tag
Mert nem akarok egy komplett pc-t azert tartani, hogy mondjuk a netrol leszedett anyagot usb-n atvigyem arra, majd azon kiirjam lemezre, amit atviszek az adott gepemre. Majd ugyanez visszafele, ha a retro gepemen elkeszitett cuccot akarom mondjuk elkuldeni valakinek. Erre piszkosul felesleges tartani egy kulon gepet monitorral, billentyuzettel, miegyebbel.
Amikor meg nem kell akkor kerulgethetem. Minek???A linkelt cuccokkal ugyanaz van, mint az összes többi project-el.
Nem jelenik meg az OS-en közvetlen hardverként.
De, hogy érthető legyen:
Az USB portra dugva nem jelenik meg az A: meghajtó a fájlkezelőben és nem tudok hagyományos módon írni/olvasni/formátni vele 1.44/720 formátumban. -
válasz
#68216320 #20355 üzenetére
Komolyan érdekel, írd már meg, hogy miért nem jó egy olyan célgép, amit tegnap linkeltem neked (YouTube videó)!
Más: nem kerestem még utána, de olyan projekt nincs, ahol Raspberry Pi zero-t használnak vezérlőnek? Annál az USB közvetlenül a processzorral van összekötve (OTG), és eleve van olyan módja (usb gadget), ahol különböző USB eszközöket tud emulálni (mass storage, keyboard, mouse), talán egyszerűbben meg lehetne oldani vele egy floppy emulációt, mint mikrokontrollerrel.
szerk.: Nocsak.
https://hackaday.com/2021/03/30/a-floppy-controller-for-the-raspberry-pi/Ez meg pi mikrokontroller:
https://community.element14.com/products/raspberry-pi/raspberrypi_projects/b/blog/posts/happy-pi-day---rpi-pico-floppy-disk-controller -
#68216320
törölt tag
Nem vág témába ezért offolom a választ.
Alapvetően az LS120 jó megoldás is lehet és köszi az ötletet. Van is egy a szekrényben, de úgy emlékszem az is ATAPI megoldást használ az IDE porton, ahogyan az IDE portos ZIP drive, nem pedig ATA protokolt.
Ez pedig azt eredményezi, hogy igen kevés usb-ide vezérlő képes működtetni. Nekem több fajta vezérlőm is van, de egyikkel sem működött eddig. Pedig próbáltam sima 40pin és laptop 44pin adapterekkel is megoldani. (Mármint ZIP drive-ot, az LS120-al nem tettem próbát, viszont kíváncsiságból kipróbálom)
Másrészt sajnos az LS120 igen érzékeny és a retro fórumokon rengeteg leszakdt fej problémával találkozni. Szóval nem biztos, hogy sokáig kitartana.Ma reggel jutott viszont eszembe a legkézenfekvőbb megoldás az eredeti probléma elhárítására. A probléma ugye a Teac drive-ok (ez van a slim usb fdd-ben, vezérlők különböznek) pontatlan beállítása.
Namármost van minekünk egy 14 napos elállási jogunk és bár drágább alapban, de mondjuk Alza vásárlás esetén van azonnali cseregarancia kis plusz pénzért.
Szóval addig próbálgathatom ezeket, amíg nem jutok egy normális darabhoz.Másrészt egyéb megoldásokhoz nagyon érdekes a Greaseweazle project.
Ez ugye nyers adatokat ad vissza és vezérlőjeleket fogad a saját protokolon, de érdekes a mindenre is alkalmas fdd kifejlesztéséhez.Közben belefutottam egy ilyenbe is. Ez nagyon jó azoknak akik alapkiépítésű Amiga-t használnak és a netről letöltött anyagokat szeretnék lemezre kiírni, amit aztán a gépben használhatnak tovább. [link]
-
its_grandpa
tag
válasz
lanszelot #20330 üzenetére
>>.... mindegy melyik chippen. Általában az a 2-es pin.
Nem mindegy - Uno WiFiRev.2, Due, Zero, MKR Family and 101 boards the interrupt number = pin number.>> Serial print -ek lényegtelenek, az csak az ellenőrzéshez kellettek.
Aha, ellenőrzés - sem a counter, sem a currentDir változó értékét nem módosítod.Egy kis olvasni/tanulni való - [link]
>>'digitalPinToInterrupt' was not declared in this scope.
Hát igen, ehhez a makróhoz bizony kell egy #include <pins_arduino.h>>>Mi az az ISR?
A milánói kedvenc kocsmámba van kiírva,rövidítés. Itt Senkisem Római.A többiek kommentjeit olvasva úgy látom a stílusod náluk sem aratott osztatlan sikert.
Én elgondolkoznék a helyedben. -
#68216320
törölt tag
-
fpeter84
senior tag
Sziasztok!
Tudna valaki segíteni abban, hogy ezt a motorvezérlő+ELM327 emulátor lib-et hogyan tudnám átültetni hardveres sorosportra? Eredeti formájában Nano-val softserial-al működik, de szeretném vagy egy Due-n használni aminek van 2 CAN-je is, vagy esetleg ESP32-n a belső kékfoggal és CAN-el...
Amivel eddig próbálkoztam: OBDSerialComm.h -ban a 65-dik sorban lévő softserial sort lecseréltem erre: HardwareSerial *serial; valamint az OBDSerialComm.cpp -ben az 5-8 sorokat felcseréltem erre:
setBaudRate(9600);
// serial = new HardwareSerial();
serial->begin(9600);
serial->setTimeout(SERIAL_READ_TIMEOUT);
Valamint az #include után beszúrtam még egy HardwareSerial & serial = Serial1; -t... De arra nem tudok rájönni, hogy a serial=new... sorral mit kellene kezdeni - HardwareSerial()-al nem eszi meg. így fagy a vas, még egy Hello World kiiratásáig se jut el rögtön a setup elején...
Próbálkoztam egy olyan verzióval is, hogy a .h-ból teljesen kikommenteltem a 65-ös sort (nem próbáltam átírni) és helyette ez lett a .cpp-ben: [link] a módosított sorok végére // ### jelölést tettem hogy meg lehessen találni... Ezzel a módosítással lefordul a példa .ino, de nem reagál a kékfog adapterről érkező kérésekre. Természetesen a kapcsolás működik, serial passthrough kóddal látom ahogy a Torque próbál kérdezgetni az ELM-től az AT parancsokkal...
Ha valaki nagyon unatkozik, bele tudna nézni hogy hogyan lehetne feléleszteni? -
lanszelot
addikt
válasz
Undoroid #20345 üzenetére
Semmi rossz hangnemet nem irtam. A mosolygós arccal jeleztem is, hogy vicceltem. Én se vettem magamra mikor a videós viccek jöttek. Mert ott volt a fej és egyértelmű hogy az viccnek lett szánva. Nem írtam nagybetűvel, se kioktatón. Próbáltam segíteni. Nem értem miért egyből a rosszat feltételezitek. A link tényleg nem működik, telefonról csinál ilyet, csak elfelejtettem vissza ellenőrizni.
-
#68216320
törölt tag
válasz
Tomika86 #20344 üzenetére
Köszi, néztem mára "Greaseweazle" projectet.
Alapvetően egy nagyon jó project, de ez annyit csinál, hogy szabadon paraméterezhető vezérlőt ad a user kezébe. Tetszőleges formátumokat képes létrehozni és azok mentén olvasni a lemezről. Viszont ez sem adja át a vezérlés az OS-nek, hanem a saját programja végzi a műveleteket a beállított paraméterek alapján.
Jó cucc, csak esetemben nem kényelmes. Nekem csak egy "buta" pc fdd kell usb kábelen.De elengedtem, köszönöm.
Szerintem megpróbálom az usb-s fdd vezérlőjét desktop fdd-vel. De ez már nem a topic témája.
-
Undoroid
őstag
válasz
lanszelot #20342 üzenetére
" amit osztottam link az usb-s, csak nem nézted meg. " Meg akartam nézni Én is, de a linked nem működik, elrontottad! Nincs ezzel baj, mindenkivel előfordulhat!
" nem értem miért ellenségeskedtek, semmi rosszat nem írtam, segíteni próbáltam, és hogy huszon év után rosszul emlékeztem a nevére, na bumm. " Sokak próbáltak neked olyan nyakatekert feladatokban segíteni türelemmel, lépésről - lépésre és nem váltottak olyan hangnemre egyből, mint ahogyan azt Te tetted! Azért vagyunk itt, hogy önzetlenül segítsük egymást és nem azért, hogy a legapróbb hiba miatt kifigurázzuk/kinevessük egymást! Nem akarlak kioktatni, de jobb a békesség!
-
#68216320
törölt tag
válasz
ViZion #20341 üzenetére
Ahogy én látom alapvetően az a project nincs meg, hogy a mikrokontroller a vezérelt floppy-t az usb-n az os felé is látható adattároló eszköznek mutassa.
Több project-et látok én is, de ezek egyike sem egy-az-egyben az, ami kellene.
Van amikor az mcu maga ír/olvas az fdd-re, de kifelé az usb-n már nem küld vagy fogad adatot amit írhatna. Nem adja át a vezérlést az OS-nek.Elképzelhető, hogy egyetlen megoldásként kész elektronikát kell vennem és azt rádrótoznom majd az fdd-re. (vagy éppen azt amit kimentettem a rossz usb-s fdd-ből)
Fontos, hogy ismerje a 3.5l/720kB DD lemezeknél megszokott 80track/9sector felosztást.De ez így már valóban nem ide tartozna, mert nem mcu lenne.
(Külön ilyenre gépet nem csinálok, ezt a részét engedjük el, nem járható út.)
Sajnos tényleg elég nehéz megfelelő mikrokontroller projectet találni erre, ezért is érdeklődtem, hogy van-e valami, amiről nem tudok.
Ha más nincs, akkor marad a céleszköz...lanszelot:
Ismerem a linkelt usb-fdd kártyát. Ezzel kapcsolatban azt olvastam vásárlói értékeléseknél, hogy kizárólag az 1.44MB HD formátumot ismeri a vezérlő.
Persze a legtöbb esetben ez elég, de én retro gépeknél (pl. Enterprise 128, VTC) 720kB-ra formázott DD lemezeket használnék. Oda pedig ez nem jó sajnos. Bár jó lenne.Pont emiatt, hogy lehessen kvázi bármilyen formátumot írni/olvasni (de 720kB-ot mindenképpen) gondoltam mikrokontrolleres project-re.
-
lanszelot
addikt
válasz
#68216320 #20339 üzenetére
- Igen, nem ma volt és tévedtem a nevében.
- de minden mást jól mondtam.
- amit osztottam link az usb-s, csak nem nézted meg.
itt van ismét:
- magyar itt
- mint írtam mindenképpen kell neki külső adapter, mert 5V -ről nem mozdul meg.
- itt a floppy meghajtó is, mert ha már kötekedni akarunk, akkor a floppy, az nem a meghajtó. de csak tipp, hogy a 3.5-ös kell neked
- ha jobb minőség kell, akkor sony, ha kaszpsz vhol.
- pci express kártya amit néztem, azon van floppy és ide is, ott ide card -nak írták. De azt nem linkeltem, mert usb-t írtál.
- nem értem miért ellenségeskedtek, semmi rosszat nem írtam, segíteni próbáltam, és hogy huszon év után rosszul emlékeztem a nevére, na bumm. -
ViZion
félisten
válasz
#68216320 #20339 üzenetére
Vannak ilyen poén projectek, ahogy rákerestem, nem is kevés. De ezek mind "work in progress", vagy ilyesmi, majdnem félkész stádiumban és nem is friss bejegyzések...
pl. [link] , szal. szerintem no-go, kivéve, ha végtelen időd van rá.
Kész megoldások vannak, többféle floppyhoz is. De PC bontóban célgépet is lehet rá építeni, ez nálunk is felmerült, mert az USB-s floppy emulátorokat nem mindet fogadták el a gépek, végül kollégám megoldotta, talált megfelelőt és tudta is programozni, letárolni a tucatnyi programot rá. -
#68216320
törölt tag
A probléma az, hogy bár több márkanév alatt érhetőek el jelenleg usb-s floppy drive-ok, de a belseje mindegyiknek ugyanaz.
A jelenlegi problémát maga a belsejében használt Teac fdd jelenti.
Az a tapasztalatom, hogy annyira vacakul állítják be őket, hogy sok közülük a mások által írt lemezeket talán-talán beolvassa (bár a fejmozgást figyelve küzd velük), de amikor írni kell annyira elcsúszottak a szektorok, hogy a többi drive képtelen beolvasni.
Sanszos, hogy egyreszt a két fej sincs teljesen egyvonalban, másrészt megfigyeltem, hogy a léptetőmotor sincs jól beállítva.
Mivel csak usb-n érhető el, gyakorlatilag semmi korrigációt nem lehet rajtuk eszközölni, mert a kalibrációs programok nem kapnak ilyen jellegű adatokat.
A lényeg, hogy ezért csinálnám azt, hogy desktop gépekhez használatos floppy drive-okat használnék usb-re kötve.
Ezek filléres tételek, ha valamelyik problémás akkor kuka és mehet a kábelra egy másik.Egyszerű megoldásnak tűnik erre valami MCU.
-
#68216320
törölt tag
válasz
lanszelot #20334 üzenetére
Egyrész már 2x leírtam, hogy USB kell. Nem tudom ezen mi olyan érthetetlen.
Másrészt a pcie kártyán attól hogy van mondjuk IDE vezérlő, még nincs floppy vezérlő. Erre írtam hogy IDE nem ugyanaz, mint a floppy.
A nagy szakértelmeddel rohadtul nem segítettél semmiben.
Egyrészt kimatekoztad, hogy nem ebbe a csoportba való téma.
Másrészt ajánlgatsz pcie IDE vezérlőt floppy-hoz.
Mindezt úgy, hogy STM32/ESP MCU-t akartam USB-s eszközként használni, mert USB-s floppy kell!!!Tudod mit, inkább ne akarj segíteni!
-
válasz
#68216320 #20331 üzenetére
Ha a gyári USB megoldások minőségével problémád van, szerintem egy kókányolt Arduino-s megoldással még több gondod lesz.
Melyik részével van problémád, a fizikai olvasóval? Mert én a helyedben szétszednék egy ilyet és rápróbálnám az elektronikáját egy drive-ra.
Az ilyen feladatokra nem lenne hasznosabb inkább egy célgépet építeni? -
lanszelot
addikt
válasz
#68216320 #20333 üzenetére
Na, erre kíváncsi vagyok.
Szerinted mi a neve a foglalatnak ahova az alaplapon a floppy kábelt dugod? Floppy dugi?
Ne a 80 pines pata kábelre gondolj, mert ahogy "hagyományos floppy" -bol se egy van, úgy van 34 pines, 40 pines, 80 pines kábel is.
Hagyományos floppy-k a 8 és 5.25 és 3.5. Ez mind hagyományos.
C64 hez 5.25 volt. Pc hez mind a 3 volt. Amigához 5.25 és 3.5. Sorolhatnám. Elég sokat szereltem anno.
Floppy 34 pines csavart kábeles volt. Ahhoz van usb adapter, de mindhez kell külső adapter, különben nem fog működni.
Ha te készítesz átalakítót, akkor is kellesz külső adapter hozzá.
Bár nem értem miért nem jó a kész.
Külső adapter miatt javasoltam a pci express kártyát.
Mert még mindig nem írtál semmi konkrétumot.
Se azt melyik neked a hagyományos floppy.
Se azt mihez .
De én kérek elnézést, hogy segíteni próbáltam -
#68216320
törölt tag
válasz
lanszelot #20332 üzenetére
Na akkor a részletek:
Az "IDE Controller" nagyon nem ugyanaz, mint a "Floppy Controller".
Másrészt USB-s megoldást szeretnék. De ezt említettem is.
"Azonban szükségem van USB-s floppy meghajtóra"Nem arra kértem tanácsot, hogy mit használjak, hanem arra, hogy mondjuk STM32-vel hogyan tudnék hagyományos pc floppy drive-ot USB-s eszközként illeszteni.
És szerintem pontosan ebbe a topic-ba tartozik.Közben talán találtam egy lehetséges, bár kezdetleges megoldást: [link]
-
lanszelot
addikt
válasz
#68216320 #20331 üzenetére
Bár ez nem ebbe a topikba tartozik, de nem írtad le milyen floppy?
Volt igen sok fajta. Meretben is a bakelit lemez mérettől a gyufás dobozig.
Miért nem jó egy pci exp kártya? Vagy nem pc-hez? Mert ezt sem írtad.Ha pc, akkor így keresd: ide controller pci express card
Vagy ha annyira usb akkor ide controller usb
Pl ez
De rengeteg megoldás van, csak tudni kellene neked mire kell, és mihez, és melyikhez -
#68216320
törölt tag
Üdv.
Szeretek retro számítógépekkel bíbelődni és ehhez hozzátartozik a floppy lemez használat. Valódi lemez, nem emuláció.
Azonban szükségem van USB-s floppy meghajtóra. Sajnos az újabban beszerezhető usb-s floppy meghajtók minősége elég nagy szórást mutat, így a tervem az, hogy a hagyományos drive-ot illeszteném usb-n a modern pc-hez.Ismertek esetleg STM32 vagy ESP kontrollerrel (ezek vannak itthon) egyszerűen megvalósítható megoldást?
A régi drive-ból maradt egy ilyen vezérlő, de nem látszik rajta semmi. Van info, hogy mi lehet ez? [kép]
-
lanszelot
addikt
válasz
its_grandpa #20324 üzenetére
'digitalPinToInterrupt' was not declared in this scope
ha átírom
attachInterrupt(digitalPinToInterrupt(CLK), teker, CHANGE);
-
lanszelot
addikt
válasz
lanszelot #20328 üzenetére
Már nem tudtam hozzá írni.
itt van a link ahol olvastam
Serial print -ek lényegtelenek, az csak az ellenőrzéshez kellettek.
Kikerültek volna, ha működik Digispark-al -
lanszelot
addikt
Igen, félre értettél.
Sehol se írtam hogy át írom a pinMode -ot.
Csak a pineket írom át.
Hiszen Megán nem ott van ahol Digispark-on.its_grandpa
Mi az az ISR?
Én azt a kódot a fent linkelt példából vettem.
De majd ha haza érek kipróbálom amit írtálItt a 0 az nem a pin-t adja meg, ez egy rövidítés, az első interrupt pin-t jelenti mindegy melyik chippen. Általában az a 2-es pin.
attachInterrupt(0, teker, CHANGE);
-
válasz
its_grandpa #20326 üzenetére
Persze, igazad van, pont a hordozhatóság miatt használjuk, amit írtál.
-
válasz
its_grandpa #20324 üzenetére
Nem is értem miért működik mert ugyan INPUT_PULLUP a 2,3-as pin de az ISR fv. a 0-as pin-re van konfigurálva, nem szépen.
attachInterrupt(0, teker, CHANGE);
Ez a 0-s interrupt, ami az Attiny85-nél épp a 2-es pin.
AdigitalPinToInterrupt(PIN)
is 0-t ad vissza. -
its_grandpa
tag
válasz
lanszelot #20318 üzenetére
Ez a kód (szerintem) annyi sebből vérzik, hogy kénytelen vagyok ....
Az ISR-ben használt változók, volatile, tehát a definiciók:
volatile int keses = 1000;
volatile uint32_t lastms= 0;ISR-ben nem írunk a soros portra, ha jót akarunk magunknak.
Vegyunk fel a változásra egy boolean-t.volatile bool tekertem = false;
void teker(){
if (millis() - lastms > 200)
{
lastms = millis();
tekertem = true;
if(digitalRead(DT) == currentStateCLK) keses = keses+100;
else if (keses > 100) keses = keses-100;
lastStateCLK = currentStateCLK;
}
else tekertem = false;
} /* teker fv end */A void loop() -ban lehet kiírni a soros portra ha volt tekerés
if (tekertem)
{
serial.print-ek
}Sem a counter, sem a currentDir változó értékét nem módosítod, mindig ua.-t fogja kiírni.
És a hab a tortán.
Nem is értem miért működik mert ugyan INPUT_PULLUP a 2,3-as pin de az ISR fv. a 0-as pin-re van konfigurálva, nem szépen.attachInterrupt(0, teker, CHANGE);
Így illene:attachInterrupt(digitalPinToInterrupt(PIN), teker, CHANGE);
-
lanszelot
addikt
Nem értem.
Szerintem félre értettél.
Mind a kettőre ugyanazt töltöm fell.
Csak a pint írom át.
Tehát nincs különbség.Janos250:
Huhh, az nekem még nagyon bonyolult.
Néztem az oldalt is ami alapján van, de valahogy nem áll össze a fejemben. Nagyon sok benne ami után nézek, és bele kavarodok.
De köszönöm szépen, még agyalok rajta, legalább tanulok -
lanszelot
addikt
válasz
lanszelot #20315 üzenetére
Először is nagyon szépen köszönöm a segítséget mindenkinek
Elfelejtem, hogy van nekem egy Arduino Mega 2560, amit a készlethez kaptam
Azal azonnal meg lett a probléma.Digispark nem tudja kezelni a Rotary Encoder-t.
51% memoria használat van, tehát nem az a gond.
Ugyanaz a program Mega-n tökéletesen fut.
Digispark-on a fent említett problémát dobja.
Annyi a Digispark-on a változtatás, hogy a pin-eket módosítom így:#define led 0
#define CLK 2
#define DT 1Itt a program ami Mega-n gond nélkül működik:
/*LED input*/
#define led 13
/*rotary encoder input*/
// Rotary Encoder Inputs
#define CLK 2
#define DT 3
int counter = 0;
int currentStateCLK;
int lastStateCLK;
int keses = 1000;
String currentDir ="";
uint32_t lastms= 0;
void teker(){
if (millis() - lastms > 200)
{
Serial.print("Direction: ");
Serial.print(currentDir);
Serial.print(" | Counter: ");
Serial.println(counter);
Serial.print(" | késés: ");
Serial.println(keses);
lastms = millis();
if(digitalRead(DT) == currentStateCLK){
keses = keses+100;
}else{
if(keses > 100){
keses = keses-100;
}
}
// Remember last CLK state
lastStateCLK = currentStateCLK;
}
}
void setup() {
// Set encoder pins as inputs
pinMode(CLK,INPUT_PULLUP);
pinMode(DT,INPUT_PULLUP);
/*LED pin output*/
pinMode (led, OUTPUT);
// Setup Serial Monitor
Serial.begin(9600);
// Read the initial state of CLK
lastStateCLK = digitalRead(CLK);
/* meghívjuk az fv.-t ha LOW-ra húzod a pin-t */
attachInterrupt(0, teker, CHANGE);
}
void loop() {
// Read the current state of CLK
currentStateCLK = digitalRead(CLK);
/*red led on off*/
digitalWrite(led, HIGH);
delay(keses);
digitalWrite(led, LOW);
delay(keses);
} -
Janos250
őstag
válasz
lanszelot #20315 üzenetére
Esetleg ezt is érdemes lehet megnézni, bár nem egy túlkommentelt program.
https://prohardver.hu/tema/arduino/hsz_9926-9926.html -
lanszelot
addikt
válasz
lanszelot #20311 üzenetére
Meg kell várjam a Nano -mat, mert lehet, hogy a RotEnc hibás.
A linkelt pelda sem működik, pedig annak már kellene.
/SW nincs bekötve, így semmit se jelent az a pár sor jelenleg/keses változó vagy nem változik, vagy nem kerül be a delay -be.
/*LED input*/
#define led 0
/*rotary encoder input*/
// Rotary Encoder Inputs
#define CLK 2
#define DT 1
#define SW 4
int counter = 0;
int currentStateCLK;
int lastStateCLK;
int keses = 1000;
String currentDir ="";
unsigned long lastButtonPress = 0;
void setup() {
// Set encoder pins as inputs
pinMode(CLK,INPUT);
pinMode(DT,INPUT);
pinMode(SW, INPUT_PULLUP);
/*LED pin output*/
pinMode (led, OUTPUT);
// Setup Serial Monitor
Serial.begin(9600);
// Read the initial state of CLK
lastStateCLK = digitalRead(CLK);
}
void loop() {
// Read the current state of CLK
currentStateCLK = digitalRead(CLK);
// If last and current state of CLK are different, then pulse occurred
// React to only 1 state change to avoid double count
if (currentStateCLK != lastStateCLK && currentStateCLK == 1){
// If the DT state is different than the CLK state then
// the encoder is rotating CCW so decrement
if (digitalRead(DT) != currentStateCLK) {
counter --;
currentDir ="CCW";
if(keses > 100){
keses = keses-100;
}
} else {
// Encoder is rotating CW so increment
counter ++;
currentDir ="CW";
keses = keses+100;
}
Serial.print("Direction: ");
Serial.print(currentDir);
Serial.print(" | Counter: ");
Serial.println(counter);
}
/*red led on off*/
digitalWrite(led, HIGH);
delay(keses);
digitalWrite(led, LOW);
delay(keses);
// Remember last CLK state
lastStateCLK = currentStateCLK;
// Read the button state
int btnState = digitalRead(SW);
//If we detect LOW signal, button is pressed
if (btnState == LOW) {
//if 50ms have passed since last LOW pulse, it means that the
//button has been pressed, released and pressed again
if (millis() - lastButtonPress > 50) {
Serial.println("Button pressed!");
}
// Remember last button press event
lastButtonPress = millis();
}
// Put in a slight delay to help debounce the reading
delay(1);
} -
Janos250
őstag
válasz
lanszelot #20306 üzenetére
Én úgy gondolom, olyan nincs, hogy kétszer egymás után ugyanaz a csatorna változzon úgy, hogy közben a másik nem változik.
https://howtomechatronics.com/tutorials/arduino/rotary-encoder-works-use-arduino/ -
lanszelot
addikt
Fix tekerések vannak. Nem lehet félúton megállítani.
1 teljes kör 20 tekerés.
Nem tudom mi a lépés. Gondolom ha nem fix.
Tehát tekerés.
1/20 ot fordítok, azaz egy tekerést, az idő korlát nélkül akkor 10 vagy többnek számolja. Nem tudom mennyi, mert nincs serial monitor digispark-on.
Ha nem találok megoldást, elvileg hét végére megjön a nano amit rendeltem és azzal megnézem mennyi egy tekerés. Azon van serial monitor, de kijelzőt is tudok rárakni. És kiiratom épp mennyit számol.Még mindig úgy gondolom az "if" feltétele nem jó.
Honnan tudom hogy melyik irányba tekerem, erre kell rájönnöm.
Kijavítom az "if" feltételt és akkor a másik irányba is tudom tekerni. -
lanszelot
addikt
Sajnos nem oldotta meg.
module: elegoo rotary encoder
hátha ez segít.jelenlegi kódom így néz ki :
/*LED input*/
#define led 0
/*rotary encoder input*/
#define inputCLK 2
#define inputDT 1
int currentStateCLK;
int previousStateCLK;
int keses = 1000;
uint32_t lastms= 0;
void teker(){
if (millis() - lastms > 1000)
{
lastms = millis();
if(digitalRead(inputDT) == currentStateCLK){
keses = keses+100;
}else{
if(keses > 100){
keses = keses-100;
}
}
/*update */
previousStateCLK = currentStateCLK;
}
}
void setup() {
/*inicializálja a Rotary Encoder CLK pin-t inputnak , default HIGH !!! */
pinMode(inputCLK, INPUT_PULLUP);
/*rotary encoder pins input*/
pinMode (inputDT, INPUT_PULLUP);
/*LED pin output*/
pinMode (led, OUTPUT);
/*read initial state of inputCLK*/
previousStateCLK = digitalRead(inputCLK);
/* meghívjuk az fv.-t ha LOW-ra húzod a pin-t */
attachInterrupt(0, teker, CHANGE);
}
void loop() {
/*read current state of inputCLK*/
currentStateCLK = digitalRead(inputCLK);
/*red led on off*/
digitalWrite(led, HIGH);
delay(keses);
digitalWrite(led, LOW);
delay(keses);
}razorbenke92:
nem +-1 extrát ugrik, hanem minimum 10-et.
lehet, hogy többet is, csak azt nem tudom ellenőrizni.
1000 az érték, és 100 -asával csökken, 1 tekerés 100-ra viszi le azonnal.
100 alá nem tud menni.
Serial monitor nem működik digispark-al, így nem tudom ellenőrizni mennyit ugrik 1 tekerésre.Janos250:
Nálam azért nem jó, mert ha 1000 -ről 500-ra akarom levinni, 100 -al csökkentve, akkor 5 ször ugyanaz a csatorna kell változzon. -
válasz
razorbenke92 #20301 üzenetére
Nem akarok hülyeséget mondani, de úgy emlékszem, hogy az AVR-eknél az interrupt hívás automatikusan tiltja a többi interruptot (CLI), és csak a visszatéréskor engedélyezi ismét (SEI), vagyis elvileg nem lehetséges, amit írtál. Különben egy ilyen esetnél igen gyorsan megtelne a verem.
-
Janos250
őstag
Én már nagyon rég használtam rotary encodert, de én úgy emlékszem, hogy a pergést nem idővel, meg ilyesmivel küszöböltük ki, hanem a változást csak akkor szabad változásnak tekinteni, ha nem ugyanaz a csatorna változik, hanem a másik. Ez kiküszöböli a pergést.
Vagy valamit nagyon rosszul értelmezek? -
tibi-d
tag
Hozzám került egy 5 colos (800X480) ssd1963 vezérlővel és xpt2046-os touch csippel ellátott kijelző. A kijelző része tökéletesen működik, de az érintőfelület "rakoncátlankodik. Írtam egy kis programocskát, ami kijelzi, hogy ha megérintem a kijelzőt egy ponton, milyen x, y értékeket ad vissza. Ha nem érek hozzá, akkor (-1, -1) értéket ad. Ha hozzá érek valahol, akkor egy pillanatra beadja a "valós" koordinátákat, de utána kiakad (799, 479) értékre és elengedés után még sokáig tartja ezt az értéket. Majd egyszer csak visszaáll a (-1, -1) értékre. Szerintetek az xpt2046 ic cserével megoldódhat a probléma, mert egyébként a kijelzőnek nagyon szép képe van.
-
válasz
lanszelot #20299 üzenetére
Akkor viszont kapcsold ki az interruptot a teker() elején, és a végén kapcsold vissza.
Az a baj, hogy ezzel nem pergésmentesítesz, mert az interrupt megszakítja az interruptot minden váltásnál.
Szerk.: Pergésre egyébként inkrementális jeladónál nem lehet így kompenzálni. Alapelv, hogy semmilyen állapotot nem szabad elszalasztani, másképp ugrott az INKREMENTÁLIS jellege. Ha van is pergés, +/- 1 felbontást ugrál oda vissza, mert ahol a clk prellez, ott a dt nem, és vica versa. Ezt kell lekezelni, ha nagyon fontos a pergésmentesség, de saját szájízre nem szabad blokkolni a számolást.
Ugyanez igaz a nagy felbontásra. Ne az inkrementek skippelésével kezeld, hanem vezess be egy plusz változót, és a valós értékben az inkrementeket vezesd, és a keses legyen inkrementek/1000 például. Ez prellmentesít is.
Új hozzászólás Aktív témák
Hirdetés
- Vezeték nélküli fülhallgatók
- Okos Otthon / Smart Home
- Kazy Computers - Fehérvár - Megbízható?
- eBay-es kütyük kis pénzért
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Filmvilág
- Nvidia GPU-k jövője - amit tudni vélünk
- Samsung Galaxy A54 - türelemjáték
- Horgász topik
- Hardcore café
- További aktív témák...
- Azonnali készpénzes Apple Macbook Air felvásárlás személyesen / csomagküldéssel korrekt áron
- LG 48GQ900-B - 48" OLED - 4K 3840x2160 - 138Hz & 0.1ms - G-Sync - FreeSync - HDMI 2.1
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- BESZÁMÍTÁS! ASUS ROG STRIX Z390-E GAMING alaplap garanciával hibátlan működéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged