- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Indiában startolt a Poco X6 és X6 Pro
- Fényképeken a Google Pixel 9 Pro
- Apple Watch Ultra - első nekifutás
- Poco F3 - a mindenes, de nem mindenkinek
- Készül a Galaxy S24 FE
- Netfone
- iPhone topik
- Egy kabaré volt az Edge 50 család belgrádi bemutatója
- Xiaomi 12X – kicsi a bors és hűvös
Hirdetés
-
Megjelenési dátumot végre a Men of War II (PC)
gp Többszöri halasztás után végre megkapjuk a régóta várt folytatást.
-
Szűkös készlettel indít az iPad Pro OLED?
ma Állítólag meggyűlt a Samsung baja az iPad képernyőkkel, az LG viszont a kívánt mennyiségben szállítja a paneleket.
-
3 évig még biztosan nem rendelhetünk Xiaomi EV-t
it A következő 15-20 évben a Xiaomi a világ öt legnagyobb autógyártója közé akar kerülni, de a következő 3 évben még kizárólag Kínára koncentrál.
-
Mobilarena
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
-
Teasüti
nagyúr
Uhm, van arra vkinek vmi ötlete, hogy az alábbi képlet miért ad nekem negatív számot eredményül?
int16_t = 250 * uint8_t / 255 + 2;
Ahol a bájtot 255-ről indítva végigpörgetem nulláig egy vmekkora léptetéssel és a kimeneten azt látom, hogy 252 helyett -5-ről indul a számláló és elszámol -124-ig, ami után átugrik a pozitív oldalra és 130-tól számol lefelé (ahogy a teljes tartományban kéne neki).Azt várnám, hogy 252-től számol lefelé 2-ig. Hogy a p.cs.ba lesz ebből negatív? És miért esik át a pozitív tartományra félúton?
-
gyapo11
őstag
válasz Teasüti #3395 üzenetére
A hardware-es kevésbé, egyszerűbb programból megoldani, de akadhat eset, amikor jobb a hw-ban.
Pont az a baj, hogy csak egy nyamvadt gomb, olyan érintkező felületekkel és mechanikával, amikből következik a prell. Nem is tudom, hogy egyáltalán el lehet-e tüntetni a prellt tisztán a kapcsoló mechanikai kialakításával, arany vagy bármi más érintkező felületekkel. Elektronikával sokkal egyszerűbb. A programmal szűrés időzítést kíván, és az néha gond lehet.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
-
gyapo11
őstag
Nincs semmi, ha be kell tartanom gombnyomási hosszakat, csak szeretem, ha nem én alkalmazkodok a processzorhoz, hanem fordítva.
Csak el kell képzelni egy számológépet, ahol nem pikkpakk nyomogathatom a gombokat, hanem hosszabban, hogy bevegye a számokat, hamar földhöz vágnám.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
-
tvamos
nagyúr
válasz gyapo11 #3404 üzenetére
Ne is mond a mechanikai designt... vagy 200 tactile switchet mertem ki egy projecthez (kulonbozo gyartoktaol, a legjobb Japantol, a legegyszerubb "nevtelen" kinaiig,) oscilloscoppal. (Sajnos nem tudok meresi eredmenyeket megosztani, mert ceg.) Iszonyat ami ott tortenik, foleg, ha nem hatarozottan nyomod / engeded el. Persze, mit tud tenni a gyarto, ha meg 10 Ft-ot sem adsz egy darabert? Ott sporol, ahol csak tud... Nem vesznek az emberek higannyal nedvesitett erintkezoju nyomo gombokat.
Itt nagyon jo az oscilloscope snapshot. Mintha a sajat scope-om latnam...."Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
gyapo11
őstag
A jó öreg 7400 hogy vigyorog a rajzokon.
Merthogy lehet kondizni, de az is időzít, idő kell neki a töltődéshez és a kisüléshez is. Másrészt maga a jelzés is késik emiatt, mert a kondi feszültségének el kell érni a bemenet küszöbfeszültségét, tehát a nyomógomb megnyomása (vagy fölengedése) és a processzor általi érzékelés között lesz egy késleltetés. És nem feltétlenül csak nyomógomb lehet ott, hanem valami gyors mechanikai kontaktus, végálláskapcsoló stb.
A nand kapuk meg ns-ok alatt kapcsolnak és garantáltan egyszer, persze nem nyomógomb kell hozzá, hanem váltókapcsoló, pl. mikrokapcsoló.[ Szerkesztve ]
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
-
tvamos
nagyúr
válasz gyapo11 #3408 üzenetére
Oke, de akkor mar nem jo a sima, egyszeru tactile switch.
A fizika mar csak ilyen, prellezik a kapcsolo. Szoftverbol meg kell irni a filtert, oszt kesz! Akinek olyan gyorsan kell az eredmenyt, az vesz egy cortex-et, oszt tol ra egy fft-t. (Bocs, mindenre ezt szoktam a programozo kollegaimnak mondani, ha ertetlenkednek, miert ugy mukodik a hw, ahogy.)[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
whYz
addikt
Egy ilyet ra lehet kotni az UNO-ra rele nelkul?
-
Teasüti
nagyúr
Na bakker, egy az egyben átemeltem az itt látható pufferelt bemenetet és ugyanúgy elhagyja a karaktereket, mint eddig minden megoldás.
De iszonyú nagy hibaszázalékkal, talán 5-ből csak 1 üzenet érkezik meg 100%-osan.
USB, BT tökmindegy (hardveres UART - Uno).
Általában az első kettő megjön, aztán vége szakad.
Pl. elküldöm a C255-öt és megérkezik a C2. Vagy R255G255B255 és megérkezik az R2.[ Szerkesztve ]
-
Gergosz2
veterán
-
Zoja™
őstag
Jó reggelt.
Csatlakoznék én is a társasághoz egy Uno R3-mal. Egyelőre a tudásom e téren konvergál a nullához, de igyekszem felfejlődni. Feliratkoztam a TavIR 60 napos tanfolyamára kezdésként, viszont annyiban iránymutatásként a segítségeteket kérném, hogy mely programnyelvbe kellene bele ásnom magam ahhoz, komolyabban is tudjak fejlődni a témában. Esetleg némi könyv és/vagy link alapú szakirodalom ajánlás is jó lenne.
Előre is köszönöm a segítségeteket.
-
tvamos
nagyúr
válasz Teasüti #3421 üzenetére
En elso blikkre azt javasolnam, hogy menj le, amennyuire lehet. 600 baud, ha az a minimum.
Masodikra meg azt, foglald itt ossze, mirol van szo, mert en mar nem emlekszem pontosan.
- Hardware elemek: Windows PC / laptop --- Arduino Uno R3 USB kabellel osszekotve, vagy ket kinai nano 1km riaszto kabellel, ilyesmi. Esetleg egy kep.
- Ird le, mit szeretnel, mert mar arra sem emlekszem. Idojaras adatokat kuldeni, vagy Tolsztoj Háború és békejet akarod atkuldeni soronkent.
- A programodat esetleg rakd fel valahova, hogy be tudd nekunk linkelni. (Mondjuk a pastebinre.) En most kiprobalni nem fogom tudni, de azert beleolvasok... (Ami nem sokat segit, mert en nem futtatok fejben programot, meg amugy is hw tervezo vagyok, de hatha megis jon valami otlet.)Ha osszefoglalod, mit akarsz, lehet, hogy neked is lesz otleted, nekem mar tobbszor segitett, hogy valakivel beszeltem a problemarol, es osszefoglaltam, mi a gond, mit is kell megoldani.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Ribi
nagyúr
Attól függ hova.
Legalábbis én úgy tudom az 5V-ra csak 5Vot szabad kötni, 4 elem pedig kb 6V+
Ha a tápcsatira kötöd oda pedig ugye 7V minimumot írnak, mert 0.6V dióda + másik min 0.6V LDO regulátor miatt. Szóval ez így határeset. Inkább vagy 6 elem menjen rá.
Úgy néztem a neten inkább 9V elemet szoktak rákötni.Viszont egy kérdés.
Elvileg 40mA a terhelhetősége a pineknek.
Az 5V pinnek is 40mA a terhelhetősége?
Nincs olyan ami direktbe össze van kötve mondjuk az USB csatlakozóval?
Csak 60mA kellene, de azt már nem merem rákötni, mert hátha elfárad.[ Szerkesztve ]
-
Ribi
nagyúr
Tudomásom szerint ahogy írtam LOD regulátor van benne és ha az 0.6-0.8V alá esik a ki és bemenet között, akkor onnantól nem tudja ellátni feladatát és vagy csak lentebb engedi a fesz, vagy rossz esetben teljesen megzakkan. Plusz a dióda miatt is kell még 0.6V. Szóval ha 6.2V alá mész akkor kitudja mit kap a rendszer.
De a leírásában is 7-12V van a tápcsatlakozóján. Az 5V-ra meg 5Vot kell kötni és akkor megkerüli a beépített regulátorát. De annak stabilizált 5V kell lenni általában max 5% eltéréssel. Egy elem nem stabilizált, mert terheléstől függően változik a fesz.[ Szerkesztve ]
-
-
Ribi
nagyúr
Lenne nékem egy Leonardo illetve egy RX2004A kijelzőm.
Mind2 elvileg tudja az i2c vezérlést, csak nem igazán világos, hogy melyik libet kellene használni, hogy pontosan mik is az értékek a LiquidCrystal_I2C lcd(0x20, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE)-ban
Illetve az elején ez a 0x20 vagy 0x27 mit is jelent.
Ezt az oldalt néztem, ezzel indíthatok egy teszttel?
Van esetleg bővebb leírás mi mit jelent? -
Janos250
őstag
Én ezt használom szinte mindenre:
[link]Meg ezt:
[link]Néha ezt:
[link]Ha nagyobb teljesítmény kell, akkor ezt:
[link]Erre tervezem átállni az Arduinoknál, de még nem próbáltam ki
[link]Ezeknek a hatásfoka igen jó!
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz Teasüti #3421 üzenetére
Esetleg egy próba:
Már nem pontosan emlékszem a problémára, és nem találom az eredeti bejegyzést, de soros átvitel során elvesznek adatok.
Nekem a Serial.print okozott hasonló problémákat ott is, ahol nem lett volna szabad. Igaz, én ESP-t használtam. Ha kihagytam az ellenőrző Serial.print-eket, hiba nélkül ment. Ha a Serial.print-ek elé, után delayt raktam, általában az is megjavította. Ha gondolod, próbáld ki.
Nincs más a programban, ami a megszakításaival bekavar?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Ribi
nagyúr
válasz Janos250 #3431 üzenetére
Mondjuk ezek után nem árt még egy kevés szűrést rakni, mert eléggé tüskés amit kiadnak magukból.
Illetve a konvertereknél is igaz, hogy a cél értékhez nem szabad közel engedni a bemenő feszt, mert a konverter nem szereti és egyre nagyobb zajt nyom ki magából. Szóval ezt is legalább 6 elemmel etetném, cserébe tényleg nem lesz akkora vesztesége mint az Ardu beépített konverterének. Csak figyelni kell az elem feszt, mert ha egyszer lemerülnek akkor a konverter megintcsak megzavarodhat.
[ Szerkesztve ]
-
Teasüti
nagyúr
Win10 laptop, IDE 1.6.8 -> Arduino Uno (eredeti). Hozzá a gyári usb kábele ~1,5m VAGY HC-05 BT adapter a hardveres UART-n és egy random kínai usb BT a laptopon. A helyzet mindkettő felállásban ugyanaz.
Serial monitorból szeretnék küldeni pár vezérlőbájtot az Uno-ra, mint pl. "R255G255B255" ahol a sort a "/n" zárja. A soros kimenet vagyis a Serial.print() hibátlanul működik, sose szemetel a kimenetre.
A bemenet viszont kvázi teljesen használhatatlan. Úgy két karakterig üzembiztos kb, e felett elhagyja az üzenet további részét. A new line karakter viszont úgy látszik mindig megérkezik, különben nem volna feldolgozás a programban, hisz ez a delimiter.Ötletem már nincs, átrágtam magam szinte mindenen, amit a Google kidob az "Arduino serial lost characters" szavakra, kipróbáltam már többféle megoldást is a Serial.read()-re, mások által közzétett kódokat egy az egyben emeltem át a programba. Alapvető megközelítés, hogy a pufferben elérhető bájtokat polling-gal rakom be egy tömbbe amíg megérkezik a delimiter. Ha ez megjött, akkor a tömböt pofozom formára ilyen-olyan módon : atoi() segítségével főként.
Letölthető fájl a munkámról.
A loop elején szerepel a meghívás és a loop alatt vannak a releváns függvények.Előre is köszönöm!
-
Teasüti
nagyúr
Azt hittem inkább csak megmosolyognak majd a profik.
Pedig az elképzelésim kis része valósult még csak meg.Saját megszakítás kezelő? Olyat is lehet?
Mondjuk megnézném mire mennék a megszakítások prioritási sorrendjének átrendezésével. Mondjuk feljebb rakni az adatkapcsolatot a sorban, esetleg a legtetejére a hardveres megszakítók után.[ Szerkesztve ]
-
Ribi
nagyúr
Ha az i2c scanner nem ad ki eszközt, akkor mivel érdemes próbálkozni?
Kijelző elvileg jó. -
Janos250
őstag
válasz Teasüti #3437 üzenetére
Okosat nem tudok mondani, de az egyik case-ből hiányoznak a break-ek.
Tapasztalatom szerint ez teljesen meg tudja bolondítani a programot, teljesen váratlan módon képes futni, nem csupán azt teszi, hogy ráfut a többire is.Ezt másnak is hangsúlyozom: Hiányzó break-ekre vigyázni!
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz Teasüti #3437 üzenetére
Még egy megjegyzés egy amatőrtől:
Majd amikor már teljesen készen lesz a program, javasolom a globális változók használata helyett a class/objektum-ra átírást. Ugyanis ha csak egy szalagod van, akkor nem okoz gondot a globális változók használata, de ha több szalagot vezérelsz, akkor egymásnak bekavarnak. Objektum esetén viszont minden példánynak sajátjai vannak, tehát nem bántják egymáséit.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
Pár szigorún szubjektív megjegyzés azoknak, akik színes led szalagot akarnak programozni:
#include <RGBConverter.h> után kényelmes RGB - HSL átszámítási lehetőséget kapunk:
RGBConverter enKonverterem = RGBConverter();
enKonverterem.rgbToHsl(R, G, B, HSL); //byte R, byte G, byte B, double HSL[]
enKonverterem.hslToRgb(H, S, L, RGB); //double H, double S, double L, byte RGB[]
Az eredményt az utolsó paraméter 3 elemében kapjuk.
Ha az RGB-t átrakjuk HSL-be, változtathatjuk a H (hue) színezettséget,azaz a színt, az S (saturation) színtelítettséget, és az L (lightness) fényerőt.
Utána visszarakhatjuk RGB-be.LED szalaghoz én az Adafruit osztályát próbáltam:
#include <Adafruit_NeoPixel.h>
Egy ciklusban (vagy akárhogy) feltöltjük minden egyes (i.) ledhez a három színt.
enLEDszalagom.setPixelColor(i,R,G,B);
Amikor kész a feltöltés, akkor jöhet a show:
enLEDszalagom.show();
Szerintem kényelmes, de több másik is fellelhető a neten.A neten található példákban a szabályozásra különféle tekertyűket használnak. Azt már korábban írtam, hogy - sokakkal ellentétben - én a mindenféle tekertyű helyett a WiFi/telefon képernyője használatát javasolom.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Teasüti
nagyúr
válasz Janos250 #3439 üzenetére
Az effektezésnél tudatosan vannak kihagyva, így paramétertől függően végigmehet mindegyiken.
Ez az objektum/class nekem új. Vmi szájbarágós tutorial esetleg nincs kéznél?
Pedig az elképzelés éppen az volt, hogy sorszámozom a globális váltózókat.
De akkor létezik elegáns megoldás is.A saját megszakítás kezelőre van vmi ötlet? Merre induljak egyáltalán?
Próbáltam kilőni a programból az összes megszakítással babráló részt, mint a kikapcsolás a led frissítésénél és a gyroszenzor jelzésénél új adatról.
Szóval elméletileg nem kéne közbevágnia semminek a soros kommunikációnál, de így is eldobálja a karaktereket.
Úgy amúgy mi történik, ha megszakítás közben bejön még egy megszakítás?Az Adafruit és Fastled library-t nem véletlenül nem használom, túl erőforrás igényesek és televannak demóval.
FABled-nél meg te magad kezeled a puffert direkt módon és mentes minden felesleges extrától, így jóval kisebb méretre fordul le.[ Szerkesztve ]
-
Janos250
őstag
válasz Teasüti #3442 üzenetére
Sajnos nincs kéznél, és a napokban nem is érek rá csinálni , neten meg nem tudok egyszerűt.
"Az effektezésnél tudatosan vannak kihagyva, így paramétertől függően végigmehet mindegyiken."
Én azért próba-szerencse alapon kipróbálnám enélkül, azaz ideiglenesen kikommentelve.
Vagy másként szervezném a switchet, hogy szabályos legyen, bár lehet, hogy így is az.Erőforrás:
Ja, igen, én ESP-t és ARM-ot használok többnyire :-)Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
tvamos
nagyúr
válasz Teasüti #3442 üzenetére
En inkabb megprobalnam elhagyni a switch-case-t, ha lehet, ha ilyet csinalok.
A serialll kapcsolatban: [link]
En nem hasznaltam meg az Arduino frameworkot ilyen bonyolultsagu projekthez, megirtam C-ben. (Vagy regebben Asm.) Igy nem kellett megszakitasokkal sem bajlodnom, kiveve a pin change interruptot, azt hasznalta azert.
Most a te Unodban melyik AVR van? 328?
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Teasüti
nagyúr
SerialEvent() is volt már, technikailag lényegtelen, h loop()-ban olvasod be, vagy a loop után. Nálam az a kód volt a SerialEvent()-ben, ami ki van kommentelve az érkező adat olvasásának meghívása fölött a loop elején.
328p, igen.
Arduinoban nem C-ben programozunk? Vagy vmi elfajzott C++?[ Szerkesztve ]
-
tvamos
nagyúr
válasz Teasüti #3445 üzenetére
Arduinoban nem C-ben programozunk?
De. Úgy értettem, arduino framework nélkül. Rendes IDE-ben, debuggerrel, ilyenek.SerialEvent() is volt már
Akkor nem tudom. Nekem atmennek adatok gépről AVR-re gond nélkül. Tobb kB egy hibás byte nélkül.[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
-
Daszkalosz19
aktív tag
Sziasztok! Próbálok összehozni egy 4 csatornás időkapcsoló órát lcd kijelzővel és 1x4 keypaddal,de tudás hiánya miatt nem jön össze!
Esetleg ha valaki kar keresni egy kis pénzt a programkód megírásával az privátban jelezze!
Sajnos ez meghaladja a tudásom,de tanulgatom azért!
Köszönöm előre is! -
kovimre
tag
Sziasztok! Egy egyszerű számláló áramkör működésének program írását el tudná valaki vállalni? (4*7 szegmenses kijelző, + 2 mikrókapcsoló lenne az áramkörben)
[ Szerkesztve ]
-
Janos250
őstag
válasz Teasüti #3442 üzenetére
Kérésedre készítettem egy hevenyészett egy oldalas mintát az osztályok, objektumok témában.
A dolog persze sokkal összetettebb, de azt nem egy oldalon, hanem teljes könyvekben írják le.
[link]Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
gyapo11
őstag
Új hozzászólás Aktív témák
- ZOTAC GeForce GTX 1080 AMP Edition 8GB GDDR5X 256bit
- Filmes gép gyűjtemény
- Nikon D5000 + AF-S DX NIKKOR 18-105 mm
- Bontatlan Seagate & Western Digital HDD-k 3TB - 12TB -ig - Számla + Garancia, Ár alatt! BeszámítOK!
- DJI Mini 4 pro FMC drón - 3 akku, RC2 táv, 2 táska, Filterek, 2025. decemberig garancia, DJI Care