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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [Mr Dini:] Mindent a StreamSharkról!
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] Gurulunk, WAZE?!
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [Kolondrum:] BBM Enterprise - End-Of-Life-Notice - 2024.11.01
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
- [Re:] [Mr Dini:] Ha szeretnéd rootolni az LG Smart TV-d, tedd meg most!
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Útvonal
Fórumok » Egyéb hardverek » Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)Téma összefoglaló
Hozzászólások
zka67
őstag
Szia, a 32768Hz es kvarc mindkét lába és a GND közé tegyél 5-10 pF-os kondikat. Nekem ez havi 4-5 mp-es eltérésre csökkentette.
Gergosz2
veterán
Ennyi infóból kevés lesz debuggolni. DS3231-et használok, szerintem 1 év alatt szed össze 10 sec hibát.
Szokásos kérdések: hogy kötötted be, mire, milyen kód fut stb...
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
kbhuinfo
tag
Ezzel mar probalkoztam, sajnos nem hozott eredmenyt. Koszonom a javaslatot!
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Teasüti
nagyúr
Ha csak ujjal hozzáérsz a modul lábaihoz, akkor történik vmi?
"Ha külső áramkör csatlakoztatásakor megfelelően működik" jelenségek általában vagy föld probléma, vagy interferencia. Mondjuk összeszed vmi zavart a vezetékeken, vagy gerjed, stb. Ha oszcilloszkóppal történne ez, akkor egyszerű lenne a megoldás: egy bypass kondi éppúgy, mint a szkóp szondáiban. De multiméternél én speciel nem tudom milyen bemeneti fokozat van és az milyen hatással van a mérendő áramkörre.
Számít az is milyen hosszú és mekkora vezetékkel van összekötve az EPS-vel. Árnyékolt-e a vezeték. Mekkora áramfelvétele van: ha nem mA-es nagyságrendről van szó, akkor feszültségesésre kell méretezni a vezetékeket, mert nagyobb távolságnál kialakulhat eltérő potenciál a tápon (gnd-t is beleértve). GND mindenképpen legyen közösítve a vezérlő és a modul között (ha esetleg nem a vezérlő táplálná a modult), különben nem jó a jel feszültségszintje.
[ Szerkesztve ]
ecaddsell
aktív tag
A kérdés pedig: mire van szükség (ellenállás, kondenzátor, stb.), hogy jól működjön az áramkör? Feltételezem, hogy valami hiányzik és a mérés az, ami ezt az űrt betölti
Jó eséllyel árnyékolás az ami hiányzik. De ha nem is ez kellene legyen az első lépés. Az ESP32 nekem pl. bezavarta a GPS vevőt amíg jó távol nem tettem a GPS vevő antennáját.
kbhuinfo
tag
Koszonom a javaslatokat, GND kozos (alap). Mericskelek es visszajelzek, ha talaltam valamit (6 cm-es vezeteken a 0-3,3V kozotti tartomanyban keves a zavar eselye. Aramfelvetel max. 100 mA, de alapbol 20-25 mA).
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Amarton
tag
Sziasztok,
Arduino Uno R3-hoz valaki használ tokot?
Az akril vagy a PVC ami a jobb?
http://kodolas.skoda-muszerfal.hu
Teasüti
nagyúr
Megpróbáltad leválasztani az összes egyéb eszközt - ha van - és csak az esp-t és a modult beüzemelni?
Az ESP 5V vagy 3V lábáról (LDO-nak bírnai kell) megtáplálni a modult. Így a feszültségek tuti jók, hisz ugyanarról megy a vezérlő is.
Amúgy úgy méred, hogy a vezérlővel össze van kötve, vagy méréshez leválasztottad az ESP-ről? Ha utóbbi, akkor a vezérlő húzza le GND-re. Akkor viszont még a szoftver is kérdőjeles.
(#10007) Amarton
Az, h "jobb", az elég relatív. Milyen tulajdonságban jobb?
[ Szerkesztve ]
kbhuinfo
tag
Megvan a hiba - kontakt. A stab. kondi egyik lába nem érintkezett megfelelően. Megforrasztottam és most minden működik! Köszi a tippeket!
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Vladi
nagyúr
Megtaláltam álmaim mikrokontrollerét: link.
70 ojróé kapok:
- csavaros vezeték rögzítést
- sínes rögzítést
- real time clock
- kijelző
- 3 gomb
- valszeg kínai utánzatnál jobb voltage regulatort
plusz:
- 32 bites arm proc
- flash 256 KB, SRam 32 KB, 48 MHz
Úgy gondlom, hogy ez idális az én kisipari igényeimhez.
Ennyi a marketing duma, ami negítavum:
3.3 v io. Erről nem nagyon tudok ssr relét hajtani, mármint nem mindet. 5 volt jobb lenne.
Azt írja a doksija, hogy inputban az 5 voltot elviseli. Mennyire lehet ennek hinni hosszabb távon?
Outban meg külső felhúzót kell használni, akkor 5V. Mondjuk később lehet mechanikus ipari relét használnék, ahhoz úgyis kell valami kölső megoldás.
ide mit javasolnátok? bjt, vagy mosfet? Inkább utóbbira szavaznék, akkor nagyobb áramerősséget is tudnék kapcsolgatni.
Inputra van már 12V->5V optóm, akkor csinálok egyet outputra is.
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
Amarton
tag
Használhatóbb, nagyobb védelmet biztosít, robosztusabb. Ilyenekre gondoltam.
http://kodolas.skoda-muszerfal.hu
tvamos
nagyúr
Miért nem egy PLC akkor már?
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Vladi
nagyúr
Néztem plc-ket, de:
- nem nagyon ismerem a programozását, műkdöését. Arduinot már legalább láttam műkdöni.
- nagyon drágák nekem. Legolcsóbb is ilyen 3-4x annyi.
De lehet találok valami használtolcsót, akkor kicsit tanulmányozom.
Ebben a cuccban egyedül az 5v io hiánya bosszant. Mostanában errefelé megy a mikrokontroller világ? Előbb utóbb 3.3 voltra vált az egész?
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
Teasüti
nagyúr
Nekem tetszik, nem nagyon van ilyen éles használatra előkészített megoldás a piacon gyári burkolattal.
Viszont nem látom rajta az USB portot, ezért azért nagy kár.
Meg kíváncsi lennék hogyan oldották meg az EMI és ESD védelmet. Aligha beszélhetünk ipari megoldásról ezek hiányában.
Ebben a cuccban egyedül az 5v io hiánya bosszant. Mostanában errefelé megy a mikrokontroller világ? Előbb utóbb 3.3 voltra vált az egész?
32 biten már nincsenek 5V-os processzorok. Viszont 5V toleráns és felhúzóval megoldható az 5V-os kimenet, ahogy azt írják is.
(#10011) Amarton
Akril: jó időjárásállóság, bírja az UV-t, a magas hőmérsékletet és ellenáll a legtöbb vegyszernek. Mechanikailag nem kiemelkedő, az ütőmunkája kisebb, viszont jellemzően vastagabbra készítik, emiatt nehezen törik.
PVC: szintén jó UV állóság, jó kémiai stabilitás, emiatt lassan öregszik. Szívós és erős anyag, mérsékelten tűzálló és jó elektromos szigetelő.
[ Szerkesztve ]
kbhuinfo
tag
Altalaban toleransak ezek a kutyuk - velem legalabbis megbocsatoak voltak
Siemens LOGO PLC: https://hu.rs-online.com/web/p/logikai-kartyak-es-kiegeszito/8251644/
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Vladi
nagyúr
Védelmet írnak gyárilag, legalább is adatlap szerint.
Van rajta usb! micro van, a gombok alatti felületen. Nem látszik egyértelműen. A lefelé gomb alatt látszik egy kicsi nyílás, na azaz.
Viszont a képeken látszik az open hardware logó, bár szerintem ez nem annyira szigorú, mint a gpl például. Inkább ilyen gumicsont, én shematikot nem nagyon találtam tőlük. A psu részét azért megnézném.
A felhúzót olvastam én is. Akkor a gyári 5v és a 3.3 output közé teszek egy 10K-t és utána a kimenő jelem 5V? Így kell érteni?
(#10015) kbhuinfo:
Hurrá, ez csak 2x annyiba kerül.
Maradok én ezen a vonalon. Úgy érzem, hogy ez a belga cég marketingje pont az én szintemet célozza meg. Már valami összetákoltam arduinoval, kisispari szinten és lépni kéne tovább kevésbé gány megoldásra. Meg legyen olcsó. S nem kell rá sok sallang.
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
Teasüti
nagyúr
A felhúzót olvastam én is. Akkor a gyári 5v és a 3.3 output közé teszek egy 10K-t és utána a kimenő jelem 5V? Így kell érteni?
Igen. De azért méretezd max pár mA-re, hisz 6 mA-t ír a portokra!
Meg a biztonság kedvéért én open-drain módban használnám a portot: INPUT (külső pullup) és OUTPUT LOW módban. Nem tudom mi történne, ha egy OUTPUT HIGH-ra kapna visszirányú áramot.
Vladi
nagyúr
Hajaj. Miért van az az érzésem, hogy felhúzónál komplexebb megoldást kell keresnem?
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
kbhuinfo
tag
Valoban nem olcso, de azt tudom, hogy nalam az udvaron uzemel 5 eve hoba-fagyban es meg nem indult ujra Szoval siemens es nem valami csirkelabas termek. Amugy a megbizhatosagat tekintve az esp32-es megoldasok is egesz jok!
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Vladi
nagyúr
Pillanat! Ilyen Level-Shifter ic nem létezik? Nem létezik, hogy nem létezik! Na olyat keresgélek most.
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
JóGéza
aktív tag
Valami ilyesmire gondolsz?
TXB0104
Vladi
nagyúr
Igenis uram!
Texas Instruments mindent gyárt?
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
quint
aktív tag
Teasüti
nagyúr
Szintillesztésre én mosfet-eket használok egy marék felhúzóval. De a szintillesztett áramkör is open-drain módban működik. Ha találsz vmi kézzel beültethető olcsó IC-t aminek kisebb a footprint-je mint egy sot-23 fet és mellé két 0805-ös ellenállás, akkor írd meg kérlek!
Vladi
nagyúr
Szivacc? Én találjak, neked?
Én is néztem ilyen megoldásokat, valamit kapizsgálok is, de:
- túl sok alkatrészt kéne rakosgatni, arra nincs kapacitásom
- a nagy Scottnál én úgy értettem a mosfet videót, hogy nagyobb frekvencián már vacakul működik.
Egyébként nekem nincsenek ilyen méretbeli igényeim. Én a Texasos CD4050BE -t nézegetem most. az dip-16-os. Az túlnagy?
Nem félünk! Nem félünk! Itthon vagyunk e földön. Nem félünk! Nem félünk! Ez nem maradhat börtön!
Teasüti
nagyúr
Ha már úgyis keresgélsz!
Neeem, az túl nagy.
Nekem vmi két csatornás ic elég lenne.
De miért nem jó az 5V portra kötése?
[ Szerkesztve ]
JóGéza
aktív tag
JóGéza
aktív tag
Amarton
tag
Sziasztok,
Elkezdtem a kódolást egy Uno boarddal.
Az lenne a feladat, hogy soros porton beírok betűt. pl. "p", akkor írja ki, hogy piros, majd 0-9-ig ha beírok egy számot, akkor kapcsolja be a piros LED-et.
Annyi megvan a kódból, hogy ha leütöm a betűt, akkor megszakításból lekezelem a soros portot, de egyelőre csak 100%-ra tudom a LED-et beállítani, mivel fogalmam sincs, hogyan lehetne azt lekezelni, hogy a "p" betű után kérjen be egy számot.
const int red = 9; // the pin that the LED is attached to
const int green = 8; // the pin that the LED is attached to
void setup() {
// initialize the serial communication:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
pinMode(red, OUTPUT);
pinMode(green, OUTPUT);
}
void serialEvent() {
// check if data has been sent from the computer:
if (Serial.available() > 0) {
int inChar = Serial.read();
switch (inChar) {
case 'p':
Serial.println("piros");
analogWrite(red, 255);
analogWrite(green, 0);
break;
case 'z':
Serial.println("zöld");
analogWrite(green, 255);
analogWrite(red, 0);
break;
case 'n':
Serial.println("narancs");
analogWrite(red, 255);
analogWrite(green, 255);
break;
case 'f':
Serial.println("fehér");
analogWrite(red, 0);
analogWrite(green, 0);
break;
}
}
}
void loop()
{
}
http://kodolas.skoda-muszerfal.hu
JozsBiker
aktív tag
Újabb karaktert újabb Serial.read(); utasítással tudsz beolvasni :-)
Tankblock
aktív tag
Hello
azért van még pár lehetőség:
readBytes()
readBytesUntil()
readStringUntil()
readString()
Vagy olvasod a következő karakterig amíg "\n" nem jön, majd parsolod....
Release the Beast....
Teasüti
nagyúr
C++ függvények közt van egy olyan, h atoi().
Ezzel a legegyszerűbb.
gyapo11
őstag
Furcsa nekem, hogy a loop üres. Oda kellene tenni a beolvasást, majd ha bejött a p, akkor újabb beolvasást. Közben persze egy változó is kell, ami jelzi, hogy most mit olvas. Pl. a változó=1, akkor várja a p-t, ha bejött, akkor változó=2, és most már a számot várja.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
Amarton
tag
A loop azért üres, mert jelenleg az egész soros kommunikáció megszakításból megy. Szerintem ezzel nincs baj.
http://kodolas.skoda-muszerfal.hu
Véletlenül sem 3,3V-os pro micro-d van, és arra próbálsz 5V-osra fordított kódot tölteni, ugye?
kbhuinfo
tag
Allapotgepet kell keszitened es az inputot annak fuggvenyeben kezelni. Olvass utana, programozas 1.
"if (Serial.available() > 0)" helyett eleg "if (Serial.available())"
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Amarton
tag
Közben sikerült megcsinálnom.
Működik.
http://kodolas.skoda-muszerfal.hu
kbhuinfo
tag
Grat
[ Szerkesztve ]
Van egy szint, ami felett nem mész egy bizonyos szint alá...
tvamos
nagyúr
Hello!
Az a kinom, hogy az egyik taskbol szeretnem triggerelni a masikat.
Csinaltam egy valtozot, ami "volatile".
Raallitottam az egyik taskot, hogy figyelje, ha a valtozo 1, csinalja meg, amit kell, es utana allitsa 0-ba.
A loop-bol sikerul is triggerelni a taskot, szepen vegrehajtja, amit kell.
Sajnos a masik taskbol nem megy ez.
Mi lehet a problema?
Jut is eszembe...
ESP32
Arduino framework
xTaskCreate-tel vannak letrehozva a taskok
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Tankblock
aktív tag
Hello,
Mivel állítottad rá a figyelésre?
const static int TASK_0 = BIT0;
const static int AVAIL_BIT = BIT1;
const static int BUSY_BIT = BIT2;
static EventGroupHandle_t event_Handler = nullptr;
/// setupba:
event_Handler = xEventGroupCreate();
// várakozó taskba:
EventBits_t uxBits;
const TickType_t xTicksToWait = 10000 / portTICK_PERIOD_MS;
uxBits = xEventGroupWaitBits(event_Handler, TASK_0 | AVAIL_BIT , pdTRUE,xTicksToWait);
if(uxBits & (TASK_0 | AVAIL_BIT ) == (TASK_0 | AVAIL_BIT )) {
// ide jön a kód
}
//Kód jelző taskba
xEventGroupSetBits(event_Handler,TASK_0);
vagy az xQueue használd
Release the Beast....
tvamos
nagyúr
if
Nekem amit irsz totalisan kinai...
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
tvamos
nagyúr
Van valami leiras arrol, amit javasolsz?
Ez a binary semaphore jo lehet?
Vagy mit nezzek, ami a legegyszerubb?
A queue nekem nagyon bonyolultnak tunik.
Ennyi van most:void SendNikonCode( void * param ) {
while (1) {
if ( shutState!=0 ) {
Serial.println( "TRIGGER SHUTTER!!!" );
shutState = 0;
}
}
// END task
vTaskDelete( NULL );
}
Meg ugye globalkent letrehozva: volatile char shutState = 0;
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
tvamos
nagyúr
Ezt pl. ertem nagyjabol: [link]
Azt csinalja ez, amit akarok?
Amit en irtam, az miert nem jo? Azt nem ertem...
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Tankblock
aktív tag
Hello
Kódot tudnál linkelni pl githubról?
Ha nem látom a kódot debuggolni sem tudok.
Aminek nézzél utána az a Design Patternek. Mennyi helyről jöhet a szignál, lehet e olyan h 1x többhelyről? Hányszor kell akkor kell akkor megcsinálni?
FreeRTOS van néhány megoldása ezen problémákra.
Lehet simán az is h a másik taskod priorítása alacsoy és sosem fut.
A megoldásod CPU pazarló és nem engedi futni a többi taskot csak 100 ms enként talán.
Az enyém amíg a feltételek nem adottak nem foglal CPU erőforrást.
Semaphor vagy Mutex is jó lehet, ott is van néhány Deadlock -nak nevezett csapdahelyzet.
[ Szerkesztve ]
Release the Beast....
tvamos
nagyúr
Ilyen lett: [link]
De mar atirtam a video alapjan, es mukodik... nagyjabol.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
Amarton
tag
float voltage= sensorValue * (5.0 / 1023.0)
Ennek a sornak az eredménye két tizedes pontossággal írja ki az eredményt.
Hogyan tudom ezt kettőnél több tizedesre növelni, illetve 1 tizedesre csökkenteni?
http://kodolas.skoda-muszerfal.hu
kbhuinfo
tag
Furcsallanam, ha a valtozoban nem lenne meg a teljes ertek - a kiiras teljesen mas lapra tartozik. Hogyan akarod es hol megjeleniteni?
Van egy szint, ami felett nem mész egy bizonyos szint alá...
Amarton
tag
4x16-os LCD panelen, lcd.print() függvénnyel.
http://kodolas.skoda-muszerfal.hu
Amarton
tag
Megoldódott. Az lcd.print(voltage,3); működik 3 tizedes jegyik.
http://kodolas.skoda-muszerfal.hu