-
Fototrend
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
-
válasz
#70211840 #18211 üzenetére
De, szerintem jól gondolod. Az IO pinek közvetlenül a chipre vannak vezetve, ami 3,3V-ot kap, valószínűleg visszafelé nem fog 5V menni egyiken se.
A touch részét viszont majd faragni kell, mert a library az UNO analóg bemenetére van megírva, ami 10bites, 0-5V közt 0-1023 értéket ad vissza, ebből ugye csak a 0-3,3V közti értékeket használja ki, ami 0-675 közti értékeket jelent, az ESP-n viszont 12bites az analóg bemenet, ami azt jelenti, hogy a 3,3V jelszint 4095 értéket fog jelenteni. 6tal osztani kell majd mindent.
-
válasz
#70211840 #18205 üzenetére
Lábkiosztásban csak akkor, ha a D0-D13 A0-A5 lábakat értelmezni tudja / lefordítja automatikusan IO26, IO25 stb lábakra, ellenkező esetben át kell írnod a library-ben a lábak nevét.
Jelszintben van rá esély, hogy az alapvetően 5V jelszintre felkészített shield működni fog 3,3V jelszintről is konverzió nélkül is, de lehet vele probléma, ez csak teszteléssel derül ki.
Viszont arra vigyázni kell, hogy ha az ESPduino-32 5V pinjén megjelenik az 5V, akkor azt megkapja a shield, és azon keresztül esetleg megjelenhet valamelyik I/O pinen is, amit az ESP32 nem szeret. Ezt adott esetben füstjelekkel adhatja tudomásodra. -
válasz
fpeter84 #18184 üzenetére
Isten tudja, ez biztosan valami hardveres bibi lesz... Azt írtad, hogy lehúztad róla a külső hardvert a feltöltés idejére, ugye?
Próbáld már meg, hogy a fordítás közben (vége felé) kézzel reseteled a mega boardot (a rajta lévő reset gombbal), lehetőleg próbáld meg kiszámítani, hogy a reset és a feltöltés kezdete közt ne teljen el 1mp-nél hosszabb idő (asszem ennyit tartózkodik a bootloader download módban, mielőtt elkezdi futtatni a rajta lévő kódot). Esetleg reset helyett húzd ki és dugd vissza jó ritmusérzékkel (
).
Ha így sem megy, akkor próbáld meg ISP-n keresztül felprogramozni, ha az nincs, egy UNO segítségével.
Olyan nincs, hogy nem sikerül
-
válasz
Janos250 #18178 üzenetére
De nem, nem csak ez okozza! Mert ha teljesen más projektet kezdek (más sketch, más lappal, akár olyan, amit akkor nyitok meg először), akkor is gyorsabban fordít, ha a program meg volt előtte nyitva és már fordítottam vele valamit előzőleg.
Sőt, ha változtatok valamit az egyik library-n, érzékeli, és ki is írja, hogy változás miatt újra kell mindent fordítani, de akkor sem annyival lassabb, mint amikor először fordítok vele.
-
válasz
#70211840 #18171 üzenetére
egy belső felhúzó ellenállást HIGH értékre állítja az adott PIN-t. Én a nyomógombbal egy külső ellenálláson GND-re zárom
Nincs szükség ellenállásra, a belső felhúzó ellenállás önmagában is elég magas.
az analóg bemenetet használva nem lehet olyat csinálni, hogy a különböző gombok más-más ellenállás értékkel zárnak és a kapott feszültség értéket kiolvasva meg tudom mondani melyik volt az? Esetleg több gomb lenyomását is?
Minden további nélkül, de mivel - ha szeretnéd úgy megépíteni, hogy több gomb egyszerre lenyomását is ki tudd olvasni belőle - az ellenállásokat (illetve analóg bemenet esetén az egyes gombokhoz tartozó feszültség értékeket) a 2 hatványai szerint kell választani, 8-9 gombnál többet nem nagyon tudsz így bekötni. Példa kapcsolás ellenállás létrával (érdemes az azonos értékű ellenállásokból álló kapcsolást megépíteni, könnyebb összeválogatni az értékeket, illetve lehet készen is kapni ellenállás létrát).
A kis kondira gondolsz
Nem, én szoftveres debouncingra gondoltam, van egyszerűbb és elegánsabb megoldás, persze meg lehet oldani kondival is, de felesleges hely és alkatrész pazarlás, mert szoftverből teljesen jól meg lehet oldani. Ha mégis hardveresen szeretnéd megoldani, akkor a felhúzó ellenállás értékéből kell számolni a kívánt időállandójú (40-100ms közt szokás kapcsolótól és felhasználástól függően) RC tagot és ahhoz választani a kondit.
-
-
válasz
#70211840 #18159 üzenetére
A kód méretével nem érdemes foglalkozni addig, amíg belefér a céleszközbe.
A méretkülönbség eredhet a kód különböző optimalizációjából is. És nem biztos, hogy a kisebb méretű program a jobb. Gondolom azzal tisztában vagy, hogy a gyorsaságra optimalizált kód néha nagyobb méretű programot eredményez. -
válasz
tordaitibi #18146 üzenetére
Az AVR (Nano) 5V, az STM 3,3V maximum jelszintet tolerál.
10bites felbontás: 0-5V között 1024 különböző értéket tud felvenni. Ha két tized pontossággal szeretnéd mérni a feszültséget, akkor az első cella esetében (ennek a feszültségét nem kell osztani, mert 5V alatt van) ez nem okoz gondot, 0,005V változást tudsz mérni. Még a második cellánál is 0,01V, de afölött már csökken, ráadásul nem is pont 0,005V egy lépés, hanem 5/1024=~0,0048V. A hetedik cellát ugye 7-el osztva egy osztás 0,034V eltérést jelent, ami azért már elég durva mérési pontosságot ad, ráadásul azért ezek a ADC-k annyira nem pontosak, a környezeti zaj is befolyásolja a mérést, tehát nem elképzelhetetlen hogy ±2-±3 érték eltérést fogsz kapni méréskor.
Más kérdés, hogy elméletileg a kvantációs zaj kihasználásával +2 bites pontosságot lehet nyerni megfelelő algoritmus (oversampling ) segítségével, nem is túl bonyolult, és mivel ebben az esetben lassan változó értéket kell mérni, ezt simán ki is lehet használni.De ez már mélyvíz, csak úgy itt hagyom, hátha valaki hasznát veszi.
Egy 12bites ADC esetében 5V 4096 értéket tud mérni, az 0,0012207031V pontosságot jelent.
-
válasz
sirály12 #18139 üzenetére
Azért mondom, hogy kalibrálni kell. Gondolom a hiszterézist nem a használat során fogod beállítani egy ilyen eszköznél, hanem előre meghatározod, még az építés előtt.
Bár az is igaz, hogy a feszültségosztók miatt, minél nagyobb az osztás, az érzékenység annál jobban csökkenni fog. 🤔szerk.: ahogy most kiszámoltam, az AVR 10bites ADC-nél a legnagyobb osztás esetén is 0,005V felbontás, ami kétszeresen is túlteljesíti a 10mV pontosságot.
-
válasz
sirály12 #18137 üzenetére
Ehhez a feladathoz semmilyen pontosság nem kell. 3 értéket kell megállapítani: feltöltött állapot (4,2V), alatta, meg fölötte (túltöltöttség). Ehhez egy 2bites ADC vagy két analóg komparátor is elég lenne, csak megfelelően kalibrálni kell használat előtt.
Mellesleg az AVR-ek 10 bites ADC-je eléggé pontos és jól használható. -
-
válasz
tordaitibi #18134 üzenetére
Szia, isten hozott a sötét oldalon!
Neked egy olyan uC-re lenne szükséged, aminek van legalább 7 analóg bemenete, vagy egy bármilyen uC-re, amihez tudsz i²c-n keresztül 7(8) darab ADC-t kötni.
Ezt gyakorlatilag az összes Arduino kompatibilis lap tudjaÉn egy Arduino Nano-t választanék, mert rubusztus, van rajta 8db analóg bemenet, és a processzor kompatibilis az UNO-val, ami azért előny neked, mert annak a legnagyobb a támogatottsága, az is lehet, hogy már valaki régen megírta a programot, amire szükséged van. Ezért azt javaslom, hogy a Google segítségével keress rá, hátha találsz készen ilyen projektet a neten!
Kijelzőből igazából bármit, ami megfelel a célnak, és tetszik. A legjobb egy i²c vagy SPI csatolós, de ha marad szabad kimeneted, egy ilyen egyszerű 2x16 karakteres, párhuzamos csatolós panelt is lehet használni (ebből létezik i²c, csak azt most nem találtam).
Ha kicsi ez a méret, akkor van 4x20, szintén karakteres, vagy 320x200 grafikus, az már nyilván drágább, és komplikáltabb is programozni.
Szerintem neked a 4x20 tökéletesen megfelelő lenne, csak SPI csatolós kellene belőle, mert az i²c pont két analóg lábat lefoglal. -
válasz
ViZion #18087 üzenetére
Ha hosszú a vezeték, ami a pin-re van kötve, a belső felhúzó ellenállás kevés lehet, mert egy hosszú vezeték több zajt tud összeszedni, főleg ha nem árnyékolt. Ráadásul nem is 10kΩ szokott lenni a belső, hanem lehet 20-30kΩ is.
A táp rákötése se tud önmagában megbízhatóan működni, mert ahhoz meg külső lehúzó ellenállás kell, hogy ne lebegjen, amíg nem kap jelet.
De továbbra is az a gyanúm, hogy valahonnan túlfeszt kapott az a pin, és ez a relével függhet össze. -
válasz
ViZion #18082 üzenetére
Mennyire régi, mert 1997-2010 között csak nokiáim voltak és mindnek 4,5V vagy 5V volt a töltője.
GPIO-ra nem szokás áramkorlátozó ellenállás nélkül ráengedni a tápfeszültséget. Volt a relével párhuzamosan kötve védődióda? Ha nem, akkor működés közben 10V-os tüskéket kaphatott onnan a bemenet (feltéve, hogy közös tápra volt kötve a wemos-szal).
-
-
-
válasz
#70211840 #18070 üzenetére
Szia!
Ha jól olvasom a kettő elvileg kompatibilis hardver szinten. Viszont ezen az oldalon ezt írják:
"Az ST letöltő szoftver nem használható, de a hivatalos letöltő szoftver nagyon kényelmes"
Nem lehet, hogy másik letöltő szoftverrel életre kelne? 🤔Bluepill témában egyébként ekkold kolléga a szakértő. Ismerkedj meg az Arduino IDE-vel, gyors guglizással ezt találtam róla.
-
válasz
tibi-d #18062 üzenetére
Áh, köszi, hogy megírtad, soha az életben nem jöttem volna rá, hogy ez lehet a gond
Egyszer jártam pedig hasonló cipőben: egy ősrégi laptop IDE HDD-jére kellett adatot másolni, egy USB-s külső adapterrel. Az istennek sem sikerült, állandóan írási hibával elszállt a folyamat, mire rájöttem, hogy túl gyors neki az usb 2.0 sebessége. Volt otthon egy szintén ősrégi 1.1-es usb hub, arra dugtam az adaptert, na az annyira lelassította az adatátvitelt, amit már a hdd is tudott követni
-
válasz
daninet #18051 üzenetére
Az enyém ragaszkodott hozzá, hogy minden ledcsík külön tápon legyen és a villanykapcsoló a tápot kapcsolja, nem a szalagot. Nálad ha gond van, egyszerre fog kimenni mindenütt a világítás.
A routerem mostanában sokat vacakol, lehet nálam is táp gond van? 🤔 Kösz a tippet! -
-
válasz
Undoroid #18032 üzenetére
nem állítja meg az akku töltését, ha már elérte a beállított max értéket!
Biztos vagy benne, hogy
1. eddig megállította?
2. a vezérlővel van a baj, és nem az akkupakkal?A Li-ion töltés a felvett áram alapján állítja le a töltést (amikor az a névleges töltési áram 1/10-e alá csökken). Ha az egyik cella zárlatos lett, a felvett áram nem tud lecsökkenni arra a szintre, ahol a vezérlő lekapcsolna.
-
válasz
tibi-d #18027 üzenetére
Mikor néztem, még nem volt ott.
5V tápot adsz neki? Mert ott a lapon a konverter.
A jobb alsó chip nem tudom miféle lehet, talán az maga a szintillesztő chip, vagy az végzi az illesztést, ebben az esetben nem tudom, hogy a külső pinek felé milyen feszültségszint van, a külső illesztés mégis csak indokolt lehet a uC védelme miatt.Jó lenne inkább 3.3V-os SD kártya modult használni, ez így nem életbiztosítás.
-
válasz
tibi-d #18023 üzenetére
Hát pont ez az. A modul 5V-ra készült, az SD kártya 3.3V-tal működik, ami azt jelenti, hogy a modulon van belső szintillesztés. Ha ezt 3.3V-ról szeretnéd használni, az illesztést ki kell iktatni mert emiatt nem működik a kommunikáció. A konkrét modul ismerete nélkül ez persze csak feltételezés.
-
válasz
Wolfram #18004 üzenetére
https://www.hestore.hu/prod_10030412.html
Jobb oldalt a pdf-ben ott a bekötési rajz hozzá. Kell hozzá egy 2 erű árnyékolt kábel és 3,5" jack csatlakozó.
Vagy keress a fiókban régi olcsó headset-et, aminek külön kábelen ment a mikrofon, pont ilyenből volt összerakva. -
válasz
Krisztian01 #17967 üzenetére
Oszd már meg, amit a ghidrával kinyertél. Meg hogy milyen címekre/milyen adatokra vagy pontosan kíváncsi. A hex fájlt visszafordítottam én is assembly-ra, csak nem tudom mit keressek benne.
-
válasz
tonermagus #17949 üzenetére
TTL-UART-hoz nyugodtan használhatsz feszültségosztót.
I²c-nél és 1wire kapcsolatnál van szükség aktív illesztésre a 3 állapotú adatvezetékek miatt. -
válasz
Krilehor #17928 üzenetére
Ha jól gugliztam utána, nem túl komplikált/sok funkciós a távirányítója, esetleg meg lehetne próbálni a távirányítót szétszedni és a kontaktusokra egy-egy vezetéket forrasztva egy ESP32-ről közvetlenül vezérelni azt (emulálni a gombnyomásokat).
Tudsz esetleg szerezni hozzá egy másik távirányítót (hogy ne az eredetit tedd tönkre)? -
válasz
Wolfram #17929 üzenetére
Sajnos én az analóg részhez nem annyira értek, de egy 10kΩ megfelelő lehet a feladatra. Annyi gond lehet, hogy a poti egyik végállásában rövidre tudja zárni a két pólust, ami tönkreteheti a végfokot, tehát szükség lesz még egy védő ellenállásra.
Kevésbé veszélyes megoldás lenne a fixre beforrasztott, 2db ellenállásból álló feszültségosztó, hátránya, hogy nem állítható így a hangerő, csak a tagok cseréjével. -
válasz
Wolfram #17924 üzenetére
A fotó mindenképp segít, ha itt nem is, a hobbielektronika topikban biztosan tudnak az alapján segíteni.
Látatlanban annyit tudok javasolni, hogy ragaszd le valamivel a hangszóróját, ehhez elektronikai ismeret sem kell, csak szigszalag.
De amúgy hogy lehet egy riasztó túl hangos?
-
válasz
gordonfreemN #17914 üzenetére
Elméletileg semmi akadálya, de utána kell nézni, hogy 5V-os jelszinttel kompatibilis-e a választott kijelző, mert ezek jellemzően 3,3V-ról üzemelnek inkább. De ez amúgy nem fog akadályt jelenteni, csak ha olyan, akkor kell hozzá szintillesztés.
Itt egy példa, hogy hogy kell ezt elképzelni (a kijelző itt egész pici, csak 0.95"-os): https://www.electronics-lab.com/project/color-oled-ssd1331-display-arduino-uno/update:
Itt egy kijelző kimondottan Arduino Mega board-hoz: [link]. Szerintem kompatibilis az Uno GPIO tüskesorával is, de lehet maga a board kevés lesz (pl. kevés a RAM) a driveréhez. -
válasz
gordonfreemN #17912 üzenetére
Hát annyi ötletem lenne, hogy egyénileg címezhető ws2812 RGB LED-eket kellene sűrűn egymás mellé applikálni egy PCB-re, mert ennyire sűrű LED szalagot gyárilag nemigen csinálnak.
Nem tudom mekkorára szeretnéd csinálni a kijelzőt, a legsűrűbb a 144LED/m, ott kb. 7mm egy osztás, akkor 10cm-re 14/15 LED jut. Arra kell tenni mondjuk egy polikarbonát csíkot, aminek a hátoldala fel van csiszolva, hogy szórja a fényt, és akkor egybefüggő csíknak fog látszani kívülről. Ez jutott eszembe.A kijelzős megoldást én nem vetném el abban az esetben, ha piciben szeretnéd elkészíteni, egy 4-5cm hosszú színes OLED kijelző erre pont jó lenne, viszont nagyobban azért nem érdemes, mert ilyen hosszúkás kijelzőt nemigen gyártanak, és a hosszával együtt a szélessége is nő, na meg az ára is, hatványozottan.
-
válasz
gordonfreemN #17909 üzenetére
Én inkább RGB ledekkel próbálnám megcsinálni, a videón látható mütyür is azzal van megoldva. Ügyes megoldás, az optikai részét nem tudom hogy csinálták.
Egy LCD kijelző, vagy inkább színes OLED is szóba jöhetne amúgy, de feleslegesen nagy kellene belőle, és nem biztos, hogy ugyanolyan flowless lenne a látvány, ezeknek a képrissítése nem túl gyors.
-
válasz
Tomika86 #17896 üzenetére
Ez eddig nem volt feladat
#define Gomb 15
#define Led 2
unsigned long aktualis_millis;
unsigned long mentett_millis;
unsigned long ido = 20000;
unsigned long kulonbseg_millis;
void setup() {
pinMode(Gomb, INPUT);
pinMode(Led, OUTPUT);
Serial.begin(115200);
}
void loop() {
if (!digitalRead(Gomb)) {
mentett_millis = millis();
kikapcsolas();
}
Serial.println("Fut a program");
delay(1000);
}
void kikapcsolas() {
kulonbseg_millis = millis() - mentett_millis;
if (kulonbseg_millis <= ido) {
if (digitalRead(Gomb)) {
Serial.println("Visszalep");
return;
}
Serial.println(kulonbseg_millis);
Serial.println("Leallas idozitoben");
}
else {
Serial.println("Esp leall itt");
// deep sleep
}
} -
válasz
Krisztian01 #17888 üzenetére
Szia! Az MCU.hex fájlból pontosan milyen információt szeretnél kinyerni?
-
-
válasz
tibi-d #17814 üzenetére
Ez tényleg kb. egy oszcilloszkóp működése
Nemrég csináltam egyet, ezen a részén is dolgoztam egy keveset.
Ilyen sebesség mellett gyorsan el fog használódni az EEPROM, úgyhogy a logolást mindenképpen a RAM-ban kell végezni, és csak az eredményt menteni az EEPROM-ba.Én egy 256 elemű tömbbe írnám folyamatosan az adatokat, hogy kerek szám legyen
UINT8 lenne a számláló, ami 255 után túlcsordul, tehát csak növelni kell folyamatosan, és felülírja a régi adatot. A trigger esemény után a tömb utolsó 100 eleme lesz az előzmény, egy másik tömbbe pedig mehetnek az ezt követő minták. -
válasz
Undoroid #17788 üzenetére
Egyébként jobban belegondolva, valahogy úgy van megoldva a mechanika abban az 5V stepperben, hogy az áttétel ellenére - emlékeim szerint! - kézzel el lehet tekerni, tehát valahol csúszik valami benne. Szóval ez alapján ki lehet hagyni a végállás érzékelést, és a mechanikára hagyatkozni, ha úgy alakul.
-
válasz
Dißnäëß #17780 üzenetére
Azért, ami miatt a diótát mint műfajt kitalálták ?
Nem tudom mire gondolsz.
Amikor a DTR pin alacsonyra vált, a kondi kisül, majd feltöltődik az ellenálláson keresztül. Mikor újra magasra vált, a kondi RESET láb felőli oldalán egy 10V-os tüske keletkezik, ha jól értem a kondi működését. Ezt a többlet feszültséget hivatott a dióda a táp felé elvezetni.
Javítsatok ki, ha tévednék!
-
válasz
gordonfreemN #17778 üzenetére
Nem mindegy, ahhoz, hogy az elvárt módon működjön, CH340 DTR kimenetére, sorba egy kondival ês a 328 tápjára 10k-val.
Állítólag utóbbi felesleges, mert van belső felhúzó ellenállás a RESET lábon, de a gyári lapra se véletlenül került rá, szóval a stabilitás érdekében én biztosan rátenném. A diódát se hagyd ki, az meg a kondi miatt kell.
-
válasz
Dißnäëß #17775 üzenetére
Ha már 6V trafó, ne 5V-ra konvertáld, mert 6V-ból stabilizált 5V-ot nem is igen lehet, hanem konvertáld rögtön 3,3V-ra és add neki direktben! A kettős konverzió miatt elfűtöd az összes teljesítményt. Arra vigyázz, hogy a 3,6V-ot semmilyen körülmények közt ne lépd át, mert megsül a flash chip az esp-n, használj zener diódát.
Azt sem értem, hogy bírtál belőle bármeddig is 5V-ot kivenni. Valószínűleg a trafó üresjárati feszültsége jóval 6V fölött lehet. 6V-ból a Graetz-híd maga levesz 1,2V-ot, marad 4,8V. A stab kockán is esik kb ugyanannyi, marad ~3,6V. Mire ez eljutott az ESP-ig, az jó, ha 2,4V-ot kapott. Azzal nem csoda, hogy nem indult el.
-
válasz
Dißnäëß #17773 üzenetére
Nem tudom miért alakult így, de az a hobbim, hogy megpróbálok a lehető legminimálisabb hardverből a lehető legtöbb funkciót kihozni, avagy hogyan lehet egy feladatot megoldani egy olyan hardverrel, ami teljesen alkalmatlan az adott feladatra.
Például hogyan lehet 4 pin-re 9 különböző funkciót tenni port extender nélkül...
Vagy amikor attiny85 helyett attiny12-t küldtek Kínából, amit kizárólag assembly-ban lehet programozni, és voltam olyan fakír, hogy megtanultam, hogy ne kelljen kidobni (10 darab jött belőle), úgy csináltam belőle töltöttségjelzőt li-ion akkumulátorhoz, hogy nincs rajta analóg bemenet.Nem tudom amúgy minek kínlódsz azzal a trafóval, használj 5V/12V dugasztápot, mint mindenki más.
-
válasz
Undoroid #17768 üzenetére
A LiquidCrystal library, amit Te keresel. A library példaprogramjai közt pedig biztosan találsz választ a kérdésekre. Ha elakadsz, segítünk.
Arra figyelj, hogy az 5V stepper motornak olyan lehetetlen belső áttétele van *, hogy nem fogsz egész számú osztót találni mondjuk 1° kitéréshez.
* A belső áttétele papíron 1:64, ami a valóságban 1:63.68, ez a gyakorlatban azt eredményezi, hogy 2048 lépés helyett 2037.5 lesz egy 360°-os teljes fordulat -
válasz
Dißnäëß #17764 üzenetére
Ha ennyire egyszerű a menü, oda tényleg kár egy gombnál többet pazarolni
Annyit akartam még megjegyezni, hogy írtad, hogy rövid meg hosszú gombnyomás mellett dupla meg tripla nyomással is operálnál, de utóbbi kettő felesleges, mert rövid és hosszú gombnyomással teljes mértékben meg lehet oldani az összes funkciót, amit felsoroltál.
Új hozzászólás Aktív témák
- Honor Magic 5 Pro 512GB, Kártyafüggetlen, 1 Év Garanciával
- Honor Magic5 Pro 5G LTPO 120 Hz kijelző, 50 MP triplakamera, 66W gyorstöltés 512 GB
- Bomba ár! Dell Latitude E5570 Touch - i5-6300U I 8GB I 256SSD I 15,6" FHD I HDMI I CAM I W10 I Gari
- Akció! Paidashu 10600MAH / 20700MAH Powerbank olcsón!
- GIGA AKCIÓ!!! AKTIVÁLATLAN iPad Air M2 11" WiFi + CELLULAR 512GB!!! KÉK
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest