- Hamarosan megkezdődik a nubia 2,8K-s táblagépének szállítása
- Barátokká váltak az eddig rivális AI-óriások
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Az Aura Displays hordozható monitorhármasa jól felturbózhatja a produktivitást
- Dual Mode-os IPS monitorral adott magáról életjelet a Gigabyte
- Apple MacBook
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Milyen széket vegyek?
- Egérpad topik
- Teljesen az AI-ra fókuszál az új AMD Instinct sorozat
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Fejhallgató erősítő és DAC topik
- AMD GPU-k jövője - amit tudni vélünk
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
-
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
-
Janos250
őstag
"sajnos nem derül ki, hogy milyen IC van rajta."
MicrOne ME2149F
https://solbatcompany.ru/ssl/u/60/90fbc6405211e58c0b8bcf05b33166/-/ME2149.pdf
https://www.aliexpress.com/item/50PCS-LOT-ME2149-2149F-ME2149F/32836018384.html
https://www.yoycart.com/Product/542542144844/ -
_q
addikt
válasz
Tankblock #9496 üzenetére
Nem tudom a schematicot hozzá: töltő áramkörhöz és amit linkeltetek regulator áramkörhöz. Az AD konverterhez talán adatlapból meg lehetne, ott viszonylag kevés az alkatrész.
A kisebbik gond pedig, hogy egyesével le kellene minden alkatrészt szednem a jelenlegi próba nyákról.(#9498) vargalex
Jó kérdés, sajnos nem derül ki, hogy milyen IC van rajta. -
Janos250
őstag
"Mindig rájövök milyen jó az arduino könyvtárrendszere"
Többször előfordult már, hogy egy teljesen nyitott rendszer felbolygatta az addigi állóvizet.
Annak idején a világ számítástechnikai iparában rettentő nagy túlsúllyal rendelkező IBM sokáig teljesen kimaradt a kisgépes területről. Mikor rájöttek, akkor már késő volt, de egy ügyes húzással mégis taroltak: megcsinálták a TELJESEN NYITOTT IBM PC-t. Olyan szinten nyitott volt, hogy a BIOS ASM forrásnyelvű programját is közzétették, a hardverről is teljesen részletes leírást adtak ki.
Eredmény: taroltak.
Aztán mindenki elkezdett mindenféle klónokat, és hozzá ezt-azt gyártani. Később ugyanez történt pl. a linuxszal, most az arduinoval. -
_q
addikt
válasz
Janos250 #9494 üzenetére
Köszi, a tekercs ezen az utóbbin kicsit komolyabbnak tűnik. Remélem beválik amit ajánlottatok.
Mindig rájövök milyen jó az arduino könyvtárrendszere az előforduló problémák ellenére is. Most egy ADS1115-öt teszteltem. összekötözgetéssel, tesztel együtt nem volt több mint 30 perc, hogy használatra kész legyen. Lassan talán elkészülök a projekttel.
-
Janos250
őstag
Kösz, tulajdonképpen csak tartaléknak rendeltem, mert amivel most bütykölök, azoknak kevés ez az áram.
Korábban valaki itt a fórumon linkelte ezt:
https://www.banggood.com/10pcs-DC-DC-3_3V-3A-Power-Supply-Module-Buck-Regulator-Module-12V-5V-To-3_3V-Fixed-Output-Car-Power-p-1216603.html?rmmds=myorder&cur_warehouse=CN
Én - azt hiszem - elsősorban ennél maradok. Eredetileg egy másik panelt terveztem használni, de - úgy tűnik - nagy a zaja, mert azzal gyakran kiakad, pedig elemről és LDO-ról stabilan megy.
Kondizásokat természetesen alkalmaztam (elko, tantál, kerámia), de nem sok sikerrel. -
_q
addikt
válasz
Janos250 #9492 üzenetére
Volt 1.19 GBP ~ 1.5 USD-ért is. Szintén ebayről berendeltem. Már késő, de azért belinkelem: [link]
(#9491) Tankblock
Tehát nem csinálsz külön ennek is helyet a nyákon. Persze fejlesztés alatt próbapanelen csinálom én is. Viszont utána nyákot tervezek hozzá. Az lett volna szép, ha mindent alkatrészenként rá tudok tenni a nyákra, helyette most úgy néz ki, hogy lesz rajta 2-3 rész, amit modul formájában teszek rá, tehát tüskesoros megoldással, ahogy írod. Így sokkal praktikusabb, habár esztétikailag kicsit zavar. Lesz egy másik nyák, szerencsére ott meg tudom oldani modul nélkül is, az alkatrészeket direktbe rátéve. -
_q
addikt
válasz
vargalex #9484 üzenetére
Köszi. Néztem ezt is csak a 250 mA-es max kimeneti áramot kevésnek tartom.
(#9488) Janos250
Köszi ez kellett igen. Ez alapján tudja amit szeretnék.(#9489) Tankblock
Köszi, akkor ez lesz a befutó. Egyébként csináltál hozzá nyákot amire mondjuk rádugtad tüskesorral vagy próbapanelen forrasztgattad össze? -
Janos250
őstag
-
_q
addikt
Sziasztok!
18650-es alkalmazáshoz tudnátok ajánlani low dropout voltage regulator-t? Amit találtam MCP1700-nak 250 mA amit elvileg tud áram, ahogy nézem az meg elég határeset, ha wifi kommunikáció is kell, már pedig kell ESPnow + deepsleep alkalmazáshoz.
-
tibi-d
tag
válasz
bzolika10 #9477 üzenetére
Szia!
Én is bele estem ebbe a csapdába. Régebbi projektekben tökéletesen működő kijelző az újratelepített IDE-ben nem akart életre kelni. A legújabb könyvtárak nem kompatibilisek a régebbi kijelzőkkel. Nálam a HD44780-ra megírt könyvtár működik. A kijelzőt az "init" helyett a "begin"-el lehet elindítani. -
Attix70
aktív tag
válasz
szuszinho #9475 üzenetére
Az SSR szilárdtest relé, elektronikus áramkörökből felépített relé ami a felépítéséből adódóan váltakozó feszültségre használható valamint aktív üzemben mindig van rajta feszültség esés (és disszipáció) és még nullátmenet kapcsolására is alkalmas lehet.. A másik az sima relé (mechanikus kapcsolást végez)
-
Tankblock
aktív tag
válasz
bzolika10 #9477 üzenetére
Hello,
LiquidCrystal_I2C.h
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F,16,2); // set the LCD address to 0x27 for a 16 chars and 2 line display
void setup()
{
lcd.init(); // initialize the lcd
lcd.init();
// Print a message to the LCD.
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Hello, world!");
}
void loop()
{
}a másik, hogy a i2c átalakitón a potit állitsd be rendesen, hogy látszódjon a szöveg. A cimét i2c scannerrel ki tudod deriteni.
have fun.
-
bzolika10
aktív tag
Sziasztok!
Van egy 16X2-es lcd kijelzőm i2c-vel, de nem tudom működésre bírni. Már több konyvtárat próbáltam, de egyikkel sem ment. Melyik a jó könyvtár?
-
Teasüti
nagyúr
válasz
szuszinho #9475 üzenetére
Első találat, részlet az SSR wikipedia cikkéből:
"Advantages over mechanical relaysMost of the relative advantages of solid state and electromechanical relays are common to all solid-state as against electromechanical devices.
-Inherently smaller and slimmer profile than mechanical relay of similar specification, allowing tighter packing. (If desired may have the same "casing" form factor for interchangeability.)
-Totally silent operation.
-SSRs switch faster than electromechanical relays; the switching time of a typical optically coupled SSR is dependent on the time needed to power the LED on and off - of the order of microseconds to milliseconds.
-Increased lifetime, even if it is activated many times, as there are no moving parts to wear and no contacts to pit or build up carbon.
-Output resistance remains constant regardless of amount of use.
-Clean, bounceless operation.
-No sparking, allows it to be used in explosive environments, where it is critical that no spark is generated during switching.
-Much less sensitive to storage and operating environment factors such as mechanical shock, vibration, humidity, and external magnetic fields.Disadvantages
-Voltage/current characteristic of semiconductor rather than mechanical contacts:
When closed, higher resistance (generating heat), and increased electrical noise
When open, lower resistance, and reverse leakage current (typically µA range)
-Voltage/current characteristic is not linear (not purely resistive), distorting switched waveforms to some extent. An electromechanical relay has the low ohmic (linear) resistance of the associated mechanical switch when activated, and the exceedingly high resistance of the air gap and insulating materials when open.
-Some types have polarity-sensitive output circuits. Electromechanical relays are not affected by polarity.
-Possibility of spurious switching due to voltage transients (due to much faster switching than mechanical relay)
-Isolated bias supply required for gate charge circuit
-Higher transient reverse recovery time (Trr) due to the presence of the body diode
-Tendency to fail "shorted" on their outputs, while electromechanical relay contacts tend to fail "open"." -
szuszinho
őstag
Sziasztok,
Bocs a láma kérdésért, de mi a különbség egy SSR és egy SRD-05VDC-SL-C között?
Arduinoval szeretnék majd megvalósítani egy ki-bekapcsolást hőmérséklet függvényében, és utóbbi relével rendelkezem már. -
Janos250
őstag
válasz
Teasüti #9469 üzenetére
Hmm!
Kösz.
Érdekes.
A Tech. Ref. azt írja, hogy
0x3FF6_B000 0x3FF6_BFFF 4 KB Reserved
A példák szerint viszont itt vannak a CAN regiszterek.
Na, egyszer majd kipróbálom, mert hozzá a topic túl hosszú.Elég sok memória tartomány van, amire a Tech. Ref. azt írja, hogy reserved.
Vajon a többi is valami kincs? -
Tankblock
aktív tag
Hello
Az int az 4 byte lesz.
#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
string s = "abcd";
char * p;
long n = strtol( s.c_str(), & p, 16 );
if ( * p != 0 ) { //my bad edit was here
cout << "not a number" << endl;
}
else {
cout << n << endl;
}
}szerintem ez lehet hogy hasznos, bár én inkább levágnám R G B re 2 charonként és azt konvertálnám át....
Remélem nem kevertem össze semmit se.
-
Üdv
Elakadtam kicsit, egy kis segítséget szeretnék kérni.
Az ESP32-őn fut egy webszerver/weboldal.
A weboldalon rádiógombbal kiválasztok egy színt. A rádiógomb értéke megjelenik az URL-ben az alábbi módon:http://10.1.0.9/?ledszin=0xFF00FF
A ledszín változó értékét én szeretném felhasználni. A ledszin egy string típusú adat, a gond az, hogy nekem integer kell.
Mivel tudnám átkonvertálni?
A c_str() függvénnyel char típusra már tudtam konvertálni, de sajnos az nem jó.A toInt() függvénnyel nem jártam sikerrel.
Ehhez a függvényhez kell nekem integer típusú adat a szin változóhoz.
void LEDvilagitas(int szin)
{for (i=0; i<osszesLED; i++)
{ledek[i] = szin; }
FastLED.setBrightness(ledfenyero);
FastLED.show();
delay(100);} -
ecaddsell
aktív tag
Nekem méretileg elég lenne az 1.8-as kijelző is, ha kiférnék rá, lévén a nézési táv max 1m.
Egyébként megoldottam a ST7735-el a HW SPI-t is.
Mint sejtettem is fogalma sincs a könyvtárnak mit kellene használni ezért a default-ot használja.
Innen már csak az SPI default-ot kellett megkeressem és meg is lett az SPI.cpp-ben:if(sck == -1 && miso == -1 && mosi == -1 && ss == -1) {
_sck = (_spi_num == VSPI) ? SCK : 14;
_miso = (_spi_num == VSPI) ? MISO : 12;
_mosi = (_spi_num == VSPI) ? MOSI : 13;
_ss = (_spi_num == VSPI) ? SS : 15;Ezek meg a HSPI pinek amit a generátor chip-re használok, nem csoda, hogy összeakadt.
Áttettem a generátort VSPI-ra a TFT-t meg a HSPI pinekre és láss csodát megy a HW SPI és relatíve gyors is lett a frissítés (de még van mit javítanom).Na szóval összegzésnek ezek az SPI pinek ESP32-n:
HSPI
CLK 14
MOSI 13VSPI
CLK 18
MOSI 23A TFT HW SPI meg szépen lefoglalja a HSPI-t, szóval nekünk marad a VSPI...
Azért túl nincs dokumentálva a dolog...
-
Teasüti
nagyúr
válasz
Janos250 #9468 üzenetére
Adatlap 1.4.3 bekezdésében szerepel, valamint az 1.6 bekezdésben lévő blokk diagramban. Viszont nem tárgyalja sehol az adatlapon.
Valamint van egy szép hosszú topik az Espressif oldalán róla.
Ezen kívül neten találni hozzá lib-et is és egy-két példát is. -
-
_q
addikt
válasz
ecaddsell #9463 üzenetére
Amúgy nem olyan vészesen nagy a 3.5 col se. Lehet kinövöd amit most próbálni akarsz majd. Ha esetleg érdekessé válik belinkelem melyiket használom. Kezelhetőségre és méretre nem találtam másik ami megérné. Ez lenne az.
Persze van még a nextion, de az meg végképp sokba kerül, kb duplája mindegyik méretben a többi ILI és társaihoz képest.
-
Tankblock
aktív tag
válasz
Teasüti #9453 üzenetére
Hello
Bocs, munka az első,
Igen azért használják, mert hibát lehet detektálni, és zavartűrő.
Igy az analog jeleket ha a másik ECU olvassa, akkor nagyobb távolságra digitálisan és zavartűrően lehet továbbitani. Robosztus és nem kell métereken keresztül analog jeleket küldözgetni..... -
ecaddsell
aktív tag
Én is újraírással frissítem. Korábban a kék háttérszínnel írtam újra, de nem volt jók a színek, szóval most nálam is fekete (de #define mondja meg mi a háttérszín szóval flexibilis).
Csak string-et használok, sprintf formáz.
Az alakzatokból max a filled rect lehet érdekes, ha az gyorsabb mint a háttérszínnel újraírás...Nem mondanám, hogy könnyebb kezelni az OLED-et, csak más. Sajnos könyvtáranként lehet más az inicializálás, kurzor kezelés (vagy nem kezelés), font méret beállítás (konstans, font nevében a méret stb), színbeállítás stb. Ezek egy része jól makrózható (én is ezt tervezem, ha eldől mik maradnak), más része nem annyira.
-
_q
addikt
válasz
ecaddsell #9461 üzenetére
Én úgy csináltam, hogy nem az egész kijelzőt frissítem. Vannak fix részek pl: Temp, Humidity, vagy az ezekhez tartozó mértékegység. Ezt egyszer ráírom kijelzőre és nem változtatom. Illetve vannak az érétkek amik változnak. Ezt a könyvtár úgy kezeli le, hogy bizonyos betűstílusnál magától csak az értéket frissíti, bizonyos betűtípus használatnál macerásabb, ott én ráírom az előző értéket feketével, majd az újat az adott színnel. Tehát mind a két esetben csak az érték pixelei változnak, Talán így gyorsabb is a kiíratás, mivel nem kell minden pixelt újra rajzolni.
OLED kijelzőt könnyebb kezelni, legalább is nekem könnyebb volt. Viszont amit linkeltem könyvtárnak is vannak persze hiányosságai. Pl az előre definiált betűméretek, illetve van amit csak számra(int, float), van amit csak string-re lehet alkalmazni. De vannak előre definiált függvények vonalra, körre meg lehet tetszőlegesen színt is megadni az előre definiáltakon kívül. Nekem bejött ez a könyvtár, működik is, sok meghajtó IC-t támogat. Ja és elég csak a legelején definiálni, melyik kijelzővel dolgozol, pontosabban a meghajtó IC-t. Ezek után már csak használni kell a könyvtárat.
-
ecaddsell
aktív tag
Azt vettem észre a mérettel nagyon meredeken emelkednek az árak, szóval még akár reális is lehet amennyiért vetted. Én se vennék mást csak soros interfészes kijelzőt (hiába olcsóbb az ilyen-olyan shield).
A könyvtár linkjét köszi, ezt láttam is, csak annyi a könyvtár mint csillag az égen...
Viszont jó eséllyel megvárom amíg megjön a nagyobb kijelző, mert nemcsak a frissítéssel van gondom.
(A frissítéssel is azért inkább, mert jó pár adatot kell kiírni és ha 1 változik, akkor jó eséllyel az összes megy utána, szóval több részletben lényegében teljes újraírás van).
Minden kijelző, könyvtár variáns stb., pár extra #ifdef-t indukál és már most is rontja a kód minőségét a sok #ifdef, szóval most inkább még várok.Eredetileg 128x64-es OLED-el indult ez a projekt (dual color monochrome, felső 1/4 sárga, többi kék), aztán mikor kitaláltam legyen még ez meg az akkor láttam, kevés lesz a kijelző és megvettem a 160x128-as TFT-t.
Viszont ennél meg kiderült, hogy a textsize() az 10, 20, 30 stb. pixelt állít. Az 1-es méret az még nekem is kicsi, a 20-as mérettel meg nem fér ki az eddigi 4 sorból 2 (pl. frekvencia 9 digiten amit azért ultra gáz lenne több sorra osztani). Szóval hiába lett most 6 sor a 4 helyett, ha vízszintesen meg nem férek el (újabb tapasztalat: érdemesebb 1-el nagyobb kijelzőt venni, mint amiről azt gondolja az ember hogy elég lesz).Egyébként egy hasonló óra progi volt vsz. az első progi amit futtattam az EP32-n, ott volt a példaprogramok között és gond nélkül felment. WiFi-n szedi le a pontos időt. Nem is akartam WiFi-t használni (azóta se használtam), de pont ez esett kezem ügyébe.
-
Teasüti
nagyúr
Elvileg CAN 2.0 vezérlő be van építve, a funkcionális blokk diagramjában is látható. Viszont nem foglalkozik vele a kézikönyv. Neten meg pár példán és lib-en kívül kb semmit nem találtam.
Espressif fórumán foglalkoznak vele, de ott még nem tartok, hogy átnyálazzak egy egész topikot. -
_q
addikt
válasz
ecaddsell #9447 üzenetére
Nekem fektetve helyezve (hosszabbik oldal vízszintes, rövidebb oldal függőleges) egyik hosszanti és mellette lévő rövidebb oldalról nézve jó, másik hosszabbik és rövidebb oldalról minősíthetetlen szinte a betekintési szög. Tehát sarokba helyezve jó és szemből is, egyébként nem. Szerencsére falon sarokba lesz. ha valahová egy falra középre tenném, amit mind két oldalról meg tudok közelíteni, ott már nem lenne szép, sőt.
Én egyébként nem vettem túl olcsón sajnos, 3500-4000 Ft-ba került a 3.5 col. SPI mondhatni előny, de én nem használom ki, mivel nem kell egyáltalán gyors képernyő frissítés, viszont a 3 adat vonal előny nagyon is a párhuzamos programozású kijelzőkkel ellentétben.
Én csak azért vettem ekkora kijelzőt, mert egy analóg órába szeretném beépíteni és jó lenne ha nem 1 méterről tudnám csak leolvasni a kiírt dátum, hőmérséklet adatokat.Én ezt a könyvtárat használom. Ez elég sok kijelző meghajtót támogat, amit te használsz azt is. Ezzel a könyvtárral és ILI9486-os meghajtó IC-vel dolgozik a kijelző. Próbáltam kezdetben tesztelni, hogy 0-ról counter számol mondjuk több tízezerig és ahogy az ESP bírja íratja ki az adatokat akár tizedes-százados pontosan. Igaz itt már semmit se láttam a másodpercnél lassabban változó számokból, de nekem úgy tűnt kiír mindent. Tehát ha számítana a sebesség akkor nem hiszem, hogy gond lenne vele. Ja és én is ESP32-vel használom. Próbáld meg esetleg ezt a könyvtárat az adafruit helyett.
-
Teasüti
nagyúr
USB-t nem ismerem igazán, csak töltő erejéig foglalkoztam vele. Nem tudom milyen adatátviteli módjai vannak és azok milyen fizikai rétegben történnek. D+ és D- ágakról is csak azért tudok, mert tudnom kellett a feszültség szinteket a töltés vezérléshez.
Például fel lehet fűzni több eszközt egyetlen adatbuszra úgy mint I2C-nél és CAN-nél? Vagy az USB csak point-to-point működik? Nyilván nem fogok/akarok/tudok kihúzni egy-egy ágat minden eszközhöz.
Jah és nincs USB vezérlő a kontrolleren míg CAN vezérlő az elvileg van, ez mondjuk elég nyomós indok.
Meg CAN buszos mikrochip-eket szerintem könnyebb találni (pl. GPIO expander-t fél perc alatt találtam), mint natív USB-s mikrochip-eket. -
Teasüti
nagyúr
Jelenleg úgy néz ki a dolog, hogy I2C-re lesz felfűzve az ESP32, két-három Attiny85, I2C szenzorok és egy kijelző. A motoron nincs CAN busz gyárilag, így csak a saját rendszeremet szolgálná ki.
Azt még nem tudom az I2C eszközöket hogy lehetne megoldani, de ahogy nézem már az ESP32-n se olyan egyszerű az élet. Datasheet-ben pl egy árva szót sem szólnak róla. -
tvamos
nagyúr
válasz
Teasüti #9453 üzenetére
Itt le van írva: [link]
Már vagy 10 éve csináltam utoljára ilyesmit, de úgy rémlik, a fizikai hardver lehet sokféle, RS485 busz, vagy akár ethernet is, ha jól emlékszem, talán a minimális sebesség meg van adva, a szoftver a lényeg.
Ezekhez a layerekhez sosem értettem rendesen... ráfotrasztom a pcb-re a CAN vezérlô ic-t, oszt jóvan...Mire szeretnéd a CAN-t használni amúgy? Ha saját protokol, akkor feleslegesen zabálná az erôforrásokat.
Ha a motorbiciklihez akarsz illeszteni valamit, akkor meg ELM327.
-
Teasüti
nagyúr
válasz
Tankblock #9448 üzenetére
Jól értem, hogy a CAN busz olyasmi, mint az USB? Egy csavart érpár, ellentétes fázisú jelátvitellel.
Így már értem miért alkalmazzák előszeretettel autós környezetben.
Én I2C köré terveztem a rendszert, de ha nem válik be akkor áttervezem CAN buszra.
ESP32-n ha minden igaz, akkor a CAN buszt rá tudom rakni az I2C által használt lábakra is szerintem, ez talán nem lenne gond. És akkor a motort be lehetne húzni sztenderd USB kábellel.Gyors keresés után látom vannak CAN buszos GPIO expander chip-ek is.
Viszont ismertek olyan Attiny85-höz hasonló olcsó kontrollert, ami CAN buszos (és Arduino IDE-ben programozható természetesen)?Picike méret és 4 GPIO. Mondjuk vmi SOP8-as tokozásban?
szerk: óóó ácsi-ácsi. I2C eszközöket viszont nem fogom tudni felfűzni CAN-re.
-
Teasüti
nagyúr
Ez a sztenderd bekötése a nyomógombnak. Azért nem lehet csak egyszerűen a nyitott/zárt áramköri kapcsoló példáját alkalmazni, mert nyitott állapotban a GPIO "lebeg" és bármilyen random értéket felvehet a zajtól függően. Ezért a GPIO lábakat fixen fel/le kell húzni Vcc-re/GND-re.
Ezért látsz egy felhúzó ellenállást 5V-ra, amit a nyomógomb lehúz GND-re. Rövidzártól nem kell tartani, egy 10k-s felhúzóval kb 0,5 mA áram lesz levezetve GND-re gombnyomás esetén. Ha meg nem nyomod a gombot, akkor meg még ennyi áram se lesz, mivel a GPIO bemenet úgy tudom MegaOhm nagyságrendű.Az meg hogy alapból fel vagy le van húzva, az szinte mindegy. Van aki inkább GND-re húzza a gombokat alapból, hogy ne legyen feszültség alatt az áramkör, csak a gombnyomás idejére. Na nem mintha 5V 0,5 mA olyan nagy kárt tudna tenni bármiben.
-
Szépen haladok előre, a ledszalag vezérléssel.
Webes felület kész. Mint kiderült van sokkal egyszerűbb megoldás, mint a taskok szeparálása cpu magra, meg saját ledszalag vezérlés írása.Fastled library tökéletesen működik. Az, hogy fordításkor megjelenik egy warning nem probléma.
Az espasyncwebserver library segítségével tök egyszerű megjeleníteni a weboldalt. Már csak annyit kell megírnom, hogy a weboldalon kiválasztott színt jelenítse meg a szalagon. De ennek is meg van a mintakódja.
Már csak 1 dolog kell. Akarok egy fizikai nyomógombot is a szalag kikapcsoláshoz. Ez lényegében úgy működne, hogy fekete szín küldene ki a szalagra.
A nyomógomb bekötéséhez azonban amit eddig találtam nekem nem szimpatikus. Lényegében az esp32 egyik pin-je egy ellenállással gnd-re van kötve. Ugyanerre a pinre van kötve a nyomógomb, a pin és az ellenállás közé. A nyomógomb másik lába pedig 5v-ra van kötve. Így ha megnyomom a gombot, az ellenálláson keresztül záródik az áramkör. Nem tudtok olyan megoldást, ahol nincs így összekötve a gnd és az 5v? -
Tankblock
aktív tag
válasz
Teasüti #9443 üzenetére
Autóhoz vagyok inkább szokva, ott indításkor simán lehet zaj felextraponálhat a vonalra, és ha a jel több mint 3,6 [V] akkor bármi történhet. Ezért van azz autókban CAN hálózat, az analog jelek meg ha vannak akkor a legkisebb vezetéken, de inkább digitális mind.
Kérdés h mire akarod használni. Üres vezeték ne maradjon, mert antennaként viselkedik.
-
ecaddsell
aktív tag
Én teljesen elégedett vagyok a betekintési szögével (arra amire használom tökéletes).
Fektetve használom, alul-felül nézve hibátlan, oldalra képes romlani. Ahhoz képest milyen olcsó volt több mint jó.Viszont ha te ilyen nagyban utazol akkor biztos számít a sebesség. Itt (is) keresek valami megoldást. A változásokat elég lassan frissíti a kijelző, de vsz. ez nem a kijelző hibája, hanem nem tudom, hogyan kellene rávenni az Adafruit ST7735 könyvtárat, hogy HW SPI-t használjon (ESP32). Én a jelgenerátor chipet már rég így használom és tökéletesen megy.
Szóval, ha így indítom akkor megy de láthatóan lassú:
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_MOSI, TFT_SCLK, TFT_RST);
Az irodalom szerint a HW SPI-hoz így kellene:
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
Viszont így egyáltalán nem megy.Nem mellékesen nem is értem honnan tudja a fenti hívásból melyik SPI-t kell használni (VSPI vagy HSPI) . Amikor a generátorhoz csinálom az inicializálást ott meg kell adni, melyiket hozza létre...
hspi = new SPIClass(HSPI);
(A VSPI is hasonló).
Az SPI könyvtár viszont automatikusan tudja, hogy pl. HSPI esetén ezek a pinek:
CLK 14
MOSI 13 -
Teasüti
nagyúr
válasz
Janos250 #9445 üzenetére
Nyomtattam. Venni nem könnyű saját logóval a tetején.
De még elég kiforratlan a dolog, nem túl jó minőségű.
(#9444) xboy89
0805 méretben rendeltem mindent szinte.
De ahogy elnéztem a gyakorló nyákon, a 0603 sem akkora nagy kihívás. Alap páka heggyel is ment.
Viszont nem nyerek vele sok helyet a 0805-höz képest, ezért nem is erőltettem.
Ha reflow kemencés gépi beültetés lenne és SMD clearance távolságra lehetne elhelyezni őket (egymástól kb 8 mil) csökkentett footprint-en, akkor azt mondom oké, de hobbi szinten még a footprint-ben sincs nagy különbség. -
Teasüti
nagyúr
válasz
Tankblock #9442 üzenetére
A kimeneteken tranyók vagy mosfetek vannak. A bemeneteken mosfetek. Az analóg az egyetlen, amit egyszerű ellenállásosztóval készítettem. De arra nincs is jobb módszer tudtommal. Mit értesz az alatt, h tönkreteheti? Nem optimális működést vagy meghibásodást? A digitális jelszintek miatt nem aggódok. A bemenetek zener-rel védve vannak, ahol indokolt. A fet-es szintillesztéseknél meg a modul saját tápját kapcsolom. A táp meg mindenhol szűrve van.
A gyroszenzort szerintem be fogom forrasztani fixen. A female tüskesor tényleg elég laza. Illetve még azon filóztam, hogy a doboz tetejére csavarozom és a tetejével együtt kerül csatlakoztatásra.
-
Tankblock
aktív tag
válasz
Teasüti #9440 üzenetére
Csak 2 észreételem lenne, ha megfogadod:
- uMCU pint közvetlenül ne köss ki külső pinre, zaj esetén tönkreteheti az egészet. Optikai v galvanikus leválasztó szükséges.- gyorsulásmérőt, ha nem tervezted a boardra akkor nyomd le teljesen, a végén ha minden működik, akkor ragaszd le. A vibráció lesz a legnagyobb ellenséged a másik meg a nedvesség. Amúgy is aktivan szürni kell majd a jelet, mert a vibráció torzitani fogja.
-
válasz
Teasüti #9437 üzenetére
3,3 V-ra van kötve sajnos. A 3,3 V-os pinen tápláltam meg, és deep sleepben is evett 10 mA-t a nyák
Most rendeltem egy Huzzah klónt, remélem abban jobban fog működni.
-
Teasüti
nagyúr
Az egy 5V-os chip és a devkit nyákterve alapján csak 5V-ról kap áramot (usb vagy külső stabilizált táp). Ha áramtalanítani akarod, akkor 3V-ról kell betáplálni a modult.
Egyébként magát az IC-t lehetne altatni, de nem értem a nyákterven hova van kötve az a láb. Vmi "active" net label van rajta, de nem látom sehol máshol ezt a címkét. Lehet fixen fel/le van húzva.
-
Helló, az ESP32-n levő USB csipnek /cp210x/ el kellene menni magától suspendbe, vagy ki lehet lőni valahogy?
-
_q
addikt
válasz
ecaddsell #9434 üzenetére
Ja akkor az még mindig kicsi. Én nagyot kerestem, 3.5 colosat vagy 4 colosat végül 3.5 colosat találtam. Sajnos a betekintési szöggel vannak bajok, szerencsére projekt szempontjából meg tudom oldani, hogy ne legyen ez hátrány, de azért nem egy laptop/monitor szintű sajnos.
-
ecaddsell
aktív tag
Jelenleg 160x128 színes TFT (Bangood, 6 USD alatt), de már tervezem, hogy áttérek 320x240-re, mert egyre csak hízik ez a projekt aztán mindig kicsi a kijelző...
tvamos
Nincs időm arra, hogy mindenkinek mindent részleteiben elmagyarázzak. Vsz. elég jól leírtam a problémát meg az ötletet is, sőt adtam kódot is. Ennyi mindent meg kell magyarázzon.
A kód amit lent leírtam nem mellékesen (most próbáltam ki öt perce) nemcsak hibátlanul fordult, hanem hibátlanul is fut (csak a az encoder nyomógombjára). Nem tudom ki hogy van vele, de nekem nem mindig megy elsőre...
Amit meg kell oldjak még az a számláló. -
ecaddsell
aktív tag
Nem kérdés, sok mindent tudok írni ld lentebb. A kérdés az volt, kinek milyen bevált módszere van készen.
Meg ugye az sem mindegy hogy 5 SPI cucc vezérlése (többek közt TFT kijelző), meg AD bemenet (jelszint mérő), meg frekimérő meg 2 rotary encoder meg stb. stb. mellett pont az integrátor+hiszterézises komparátor (klasszikus HW megoldás) a legjobb módszer (egyszerűségben, gyorsaságban), ha meg akarom őrizni az interaktivitást ill. a kód átláthatóságát.
(OK, kicsit bonyolultabb lett ez a hobbi project mint eredetileg indult, de evés közben jön meg az étvágy...)
Nekem pl. a megengedett állapotváltozás nézése sokkal egyszerűbbnek tűnik. -
válasz
ecaddsell #9428 üzenetére
Este küldök egy saját bebounce kódot, amit a smart car-omhoz írtam, speed encoderhez írtam és uno/mega board-ra, de rotary-hoz simán át lehet írni. Sokat kísérleteztem a megoldással, szerintem elég jó lett.
Az a lényege egyébként, hogy nem csak azt figyeli, hogy a pergés abbamaradt-e, hanem csak akkor ugrik a számláló, ha az előző állapothoz képest ellentétes állapotban van az optokapu. Lassú forgatásnál ha úgy áll meg a kerék, hogy nem takarja teljesen a LED-et, simán képes álló helyzetben is prellegni. -
ecaddsell
aktív tag
Bár lehet jó eséllyel meg tudnám csinálni (legalábbis az esetek egy részére), de ez nem annyira triviális mert a kondi a jelalakot is torzítja.
Szóval méretezni kell zavaró és kívánatos jeltől függően stb. A zavaró jel meg gombtól, öregedéstől stb. is függhet (meg encodernél forgatás sebessége miegymás).
A SW-ben 1 változót sokkal gyorsabban változtatok mint a kondit újraforrasztom.Példának okáért gyorsan összedobtam a gomb kódját a lenti logikának (mivel most per pill. még fordítani sem tudom, szóval lehet nemcsak hibás is, hanem esélyes, hogy már a fordító sem eszi meg), nekem ez sokkal gyorsabb mint forrasztgatni, tárolós szkópon nézegetni a lehetséges hibákat stb.
(Alsó rész init-be megy, meg GPIO-t változókat stb. be kell állítani).
#include <pthread.h>
#define ROTE_SW GPIO_NUM_xx
#define RENC1_STPLIM 6
typedef struct {
gpio_num_t swpin;
uint16_t step;
} roteswT;
roteswT rote1par;
pthread_t rotethrdsw1;
void* roteswbgrd(void* pars){
roteswT* swpar = (roteswT*) pars; // switch parameters
gpio_num_t swbut = swpar->swpin;
uint32_t bcount;
while (1){
if(digitalRead(swbut) == LOW)
{
bcount = 0;
for(int i=0; i<20; i++){
delayMicroseconds(100);
if(digitalRead(swbut) == LOW) bcount++;
}
if(bcount>=6){
swpar->step = (swpar->step +1) % RENC1_STPLIM;
delay (300);
}
}
delay (5); // could pthread_cond_wait() for interrupt from pin
}
} // roteswbgrd
pinMode(ROTE_SW, INPUT);
rote1par.swpin = ROTE_SW;
rote1par.step = 0;
pthread_create(&rotethrdsw1, NULL, roteswbgrd, (void*) &rote1par);Az encoder számláló része persze kicsit húzósabb és ami dühítő, hogy a HW akár tudhatná is (nagyon közel van hozzá)...
-
-
ecaddsell
aktív tag
válasz
ecaddsell #9425 üzenetére
Aktuális ötletem prellmentesítésre:
Külön threadben (thread nem gond, frekvenciát is így mérem) X millisec-enként beolvasom a pint. Gombra X mondjuk 5ms.
Ha változott (L lett) akkor Y microsec-enként megmintavételezem (Y microsec-enként beolvasom Z alkalommal). Gombra Y mondjuk 100us, Z mondjuk 20 alkalom. Ha a Z alkalomból W alkalommal tartja a változást akkor elfogadom. Tehát 20-ból mondjuk legalább 6 szor (W) L akkor meg lett nyomva a gomb (Az encoder forgatásnál keletkező nagyon rövid virtuális nyomást ez szűri.)Ez után pedig egy hosszabb várakozást (csendes időszak) után (mondjuk 200-500ms) újraindul az egész.
Gombra ezt elég biztosra lehet hangolni (sőt ebben az esetben külön előny, hogy tartva magától lép, nem kell több lépéshez extra nyomogatni), a rotary részre meg vsz. marad az állapotváltozás figyelés...
Persze, ha valakinek van jobb ötlete szívesen olvasnám
-
ecaddsell
aktív tag
Van valakinek jól működő prellmentesítő rutinja?
A jelgenerátoros projektemben eljutottam oda, hogy KY-040-el lehetne szabályozni a frekvenciát.
Ehhez ESP32-vel az egyik PCNT unit 0. csatornáját használom. Az encoder CLK-ja megy ctrl_gpio_num-ra a DT meg pulse_gpio_num-ra (vagy fordítva, elég sok kombinációt próbáltam).
A szuper ebben a dologban az lenne, hogy a számláló szépen számlálgat a háttérben a program másik része meg 1-2ms-onként ránéz, és ha van valami (0-tól eltér), akkor változtatja a frekvenciát (ill. alapállapotba teszi a számlálót).
A prellmentesítésre gondoltam jó lesz, ha valamit beállítok a pcnt_set_filter_value hívásnál.
Aztán rádöbbentem, hogy a filter csak 10 bites (0-1023) és mivel ABP clock-ban mér (80MHz) a max az kb. 12.5us. Ami édeskevés prellmentesítésre...
(Ugyanígy akartam használni a nyomogatás részét is, szóval a SW egy másik unitra ment volna).Ami kül. bosszantó, hogy a PCNT rém egyszerű megoldás lett volna, majdnem mindent a HW csinál, a felprogramozás után.
Sajnos a forgatásnál is hibázik (néha a másik irányba ugrik) az SW nyomogató meg totál használhatatlan, mert 0-5 között kellene állítható legyen (ez lenne az encoder frekvencia lépésköze), de egyszer megnyomva a kapott eredmény szinte egy 0-5 közötti véletlen szám.
Elkezdtem nézni az irodalmat.
Talán ez a legjobb leírás:
https://www.best-microcontroller-projects.com/rotary-encoder.htmlVégül-is az állapotugrásos megoldás megoldható (persze ehhez teljesen dobni kell a PCNT-s totál egyszerű megoldást), de így nem lehet megoldani a gombnyomós részét (SW).
Ott arra gondoltam, hogy az első él után (interrupt) egy ideig nem lenne nézve a gomb (interrupt tilt). Viszont azt is olvastam, hogy a forgatásnál is képes lehet 1 nagyon rövid SW impulzust generálni, szóval jobb lenne azt nézni, hogy mennyi időt tölt el H ill. L szinten. Viszont ez meg amellett, hogy nem egyszerű, nyomogatásnál tolni fogja a megszakításokat és az időmérés meg extra logika miatt az időt is rendesen viszi.
A furcsa az egészben, hogy a fórumok tele vannak ezzel a problémával és megoldási ötletekkel (van aki a HW-es kondist nyomja,van aki a SW-re esküszik én is jobban kedvelném ezt) de jó megoldást még nem láttam.
A legbosszantóbb persze, hogy a 10 bites PCNT filter totál meg tönkre vágja azt amit egyébként tudhatna a HW...
Na most jól kibosszankodtam magam. -
-
llacee
őstag
Koszonom, egy Nokia630 tolojevel hibatlanul mukodik a NodeMcu.Akkor ha jol ertem a gyors tolto akkor emel feszt, ha kap ra jelet, igy barmelyik jo lehet...
-
llacee
őstag
válasz
// Chaka // #9412 üzenetére
Köszönöm, csak itt régebben olvastam, hogy az intelligens telefon töltők akár 12V-ot is képesek kiadni magukból, és a fene tudja melyik "intelligens"...
-
llacee
őstag
Sziasztok! Ebay-en tudnátok wemos d1 mini vagy nodemcu-hoz javasolni valami jó kis kínai 230v/microusb adaptert? Köszönöm!
-
_q
addikt
válasz
Teasüti #9409 üzenetére
A te esetedben megoldható a programozóval, nekem nincs csak a linkelt CP2102-es USB TTL átalakító, ha ezt használom, akkor kellene mert azon nincs tranzisztor. Egyébként BOOT és RESET gomb ugyan úgy lesz mint egy dev modulnál, mindent ugyan úgy csinálok csak lehagyom róla a CP2102-es IC-t és a tranzisztoros automata programozó részét.
-
Teasüti
nagyúr
Nem kell tranzisztor, ezért vettem programozót. Azon rajta van minden kiegészítő áramkör, ami egy devkit-en is rajta van. Viszont akkor kell rá tervezned legalább egy mikrokapcsolót az IO0-ra (de inkább még egyet az EN lábra a reset-hez, különben kapcsolgathatod a tápot), különben gyakorlatilag nem fogod tudni download módba tenni.
-
Teasüti
nagyúr
RX, TX, IO0, EN, Vcc, GND.
Már ha kell az auto download. Kézi reset esetén az EN és IO0-ra nyomógomb kerül ugye.Igen, nálam még van itt egy kis extra - bár nem hiszem, hogy látszik a képen. UART0-ra csatlakozik ugyanis a gps modul is majd normál üzemmódban. (Majd idővel ha eljutok odáig, akkor kikísérletezek egy bluetooth programfeltöltést a gps modulon keresztül. Az úgy sokkal kényelmesebb lesz, mint vezetékezni állandóan.)
-
_q
addikt
válasz
Teasüti #9351 üzenetére
Most jutottam oda, hogy talán kész a schematic az egyik panelhez. Programozáshoz +5/3.3 V regulátor függően, GND, UART0 RX, és TX pin-re van szükség nem? Nálad ahogy nézem több minden is be van kötve. Pl kék, fehér vezetékek amiket látok pin-ek szerint. Uart pineket viszont nem látom.
Lehet te más miatt kötötted be azokat a bizonyos vezetékeket? Ha csak programozni szeretném külsőleg, akkor Vcc, GND és az UART0 RX, TX pineket kell csak csatlakoztatni egy olyannal mint amit te használsz panel vagy egy [link] CP2102 USB TTL modullal?
Új hozzászólás Aktív témák
Hirdetés
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Kertészet, mezőgazdaság topik
- Barátokká váltak az eddig rivális AI-óriások
- Suzuki topik
- Megvan, milyen chipet használ a Pura 80 Ultra
- Apple MacBook
- Háztartási gépek
- Gurulunk, WAZE?!
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- The First Berserker: Khazan
- További aktív témák...
- MSI RTX 4070 SUPER 12GB GAMING X SLIM WHITE - 20 hónap garancia
- GIGABYTE RTX 4070 SUPER WINDFORCE OC 12GB - 20 hónap garancia
- iKing.Hu - Samsung S25 Ultra - Titanium Black - Használt, karcmentes
- Apple Ipad 10.generáció
- Új HP Pavilion x360 14-ek Érintős hajtogatós Laptop Tab 14" -35% i5-1335U 8/512 FHD IPS Iris Xe
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest