- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy A54 - türelemjáték
- CMF Phone 2 Pro - a százezer forintos kérdés
- Tokba kerülnek a Pixel 10 mágnesei
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fotók, videók mobillal
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Külföldi SIM-ek itthon
- Samsung Galaxy A34 - plus size modell
- Garmin topik
-
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
-
Janos250
őstag
Közben megpróbáltam utánanézni ennek az SPI-s hibaüzenetnek. Amit találtam:
1. ESP8266 esetén kapták ezt az üzenetet. Biztosan ESP32-t állítottál be?
2. Mellesleg ez az utolsók egyike volt a hibaüzenetekben. Mindig a legelső hibaüzenetet kell nézni, bár az már általában nem látszik. Ezért én úgy szoktam, hogy a "hibaüzenetek másolása" gombbal kimásolom, és kiteszem notepadre, ott keresem ki a legelső hibát, mert az utána már generál még egy csomó, érthetetlennek tűnő hibát. -
Janos250
őstag
"de így is ugyanazt az üzenetet kapom."
Akkor valami egyéb gáz van, mert mielőtt feltettem, direkt próbára lefordítottam, annak a képét tettem fel.
És a másik verzió, amit a 8194-ben írtam? Abban még RMT sincs, csak digitalWrite(), annak aztán mindenképpen menni kellene! Az ESP32 elég gyors ahhoz, hogy RMT nélkül, csak a GPIO használatával is menjen, ha az interruptot letiltjuk.
Itt írom le, hogy ha valakinek nem elég a millis, micros, mert nagyobb felbontást akar, akkor a CCOUNT használható. Egy baja van, hogy csak 32 bites, de szoftverrel ezt meg lehet kerülni. Ezzel nagyon pontos időzítések állíthatók be bármire."De nekem szerintem a NodeMCU van."
Az tökmindegy, a rajta lévő IC a lényeg. Az ESP32-k közül sem különösebben lényeges, hogy melyiket állítod be azok közül, amelyiken ESP-WROOM-32, vagy lánykori nevén ESP32S van. Mellesleg amit én használok, az pont úgy néz ki, mint a Tied, a lábak is ugyanúgy vannak. -
_q
addikt
Nekem is ugyan ilyen van kép alapján, nem innen vettem és ott nem is volt benne a nevében a nodemcu, ami nem véletlen hiszem ez ESP32S modul, nem ESP8266. Itt tévesen szerepel a nevében. Gondolom így több találatot ad ki ha valaki ESP32-re kerese vagy ESP8266-ra. ESP Dev Board-ként működik az Arduino IDE 1.8.5-el. Tehát inkább a code/library lesz a gond szerintem.
-
válasz
Janos250 #8193 üzenetére
Köszi.
Most ugyanazt állítottam be, mint ami te képernyőképeden szerepel, de így is ugyanazt a z üzenetet kapom.
Arduino IDE 1.8.5 van nekem feltelepítve.Eddig sima ESP32 DevKit volt az alaplap beállítása. (De nekem szerintem a NodeMCU van. Ezt vettem, és pont így néz ki az enyém is. [link] )
Tegnap este a vezérlőpin vezetéke és a led szalag DIN vezetéke csak össze lett csavarva, hogy kipróbáljam. A 10 db-os teszt szalag viszont közvetlenül volt rákötve a vezérlőre egy kb 10 cm-es vezetékkel. Az alapján amit írtál, akkor ez is lehet probléma, erre nem gondoltam.
A táp biztos elég, mert 12V/4A a táp, amiből egy stabilizátor IC-vel csináltam 5V-ot, és 5A-ig terhelhető ez az IC.
#Tankblock Köszi, ezt néztem én is, de nem láttam hozzá guide-ot, hogy milyen paramétereket lehet megadni, hogy kell használni a library-t. Ugyanez a bajom van a Pixelbus-sal is.
-
Tankblock
aktív tag
Hello,
mert un. "bit banget" használ....
a RMT használatával lehet megoldani. Nálam 96 W2812 led gond nélkül megy.
PL használd ezt: [GitHub repo
letöltöd a cpp és a h filet, includálod Ardunioba és a main szerint használod.....
Meg sem kell írdon.Még egy dolog, a földet közösítsd a controllerrel, de a táp legyen elegendően nagy. Nálam a végén 5V 5A ipari lesz addig meg jár 2,5A tápról de minimál fényerő van a kódban.
96 x 3 x 20 mA számolva = 5,76 A.... még ez is alul van tervezve, de nem tervezem 100% fehér fényen járatni.
-
Janos250
őstag
Ha végképp nem megy, tettem fel egy gyalogkakukk megoldást, amiben semmi más nincs, csak a CCOUNT a delay helyett. Ha megnézed a writeOneByte()-ot, látod, hogy felviszi a lábat magasra, helyben jár, ameddig magasan kell tartani, majd leviszi, és rögzíti az időt, hogy mikor kezdődhet az új bit kivitele. Az új kiírása előtt megnézi, hogy eletelt-e már a megfelelő idő.
link
Ebben tényleg semmi olyan nincs, ami miatt ne működne. Persze a másiknak is kell működni. -
Janos250
őstag
-
JozsBiker
aktív tag
Értem. Illetve így nem értem a delay szerepét, de mindegy. Én azért érdekességképpen tennék a for ciklusba is mondjuk 1 másodpercet, hogy szemmel látható legyen a működése
Írtad hogy az első led -del két verzióban is bajod volt. Lehet hogy egyszerűen csak hibás. Hagyd ki, kezdd a másodikkal.
Néhány led színe provizórikusan akkor szok megváltozni, ha a vezérlési láncban kontakthiba van, esetleg a táp nem megfelelő ( feszültség és/vagy áram szempontjából ). A kontakthiba az utolsó jól működő led után van. -
válasz
JozsBiker #8189 üzenetére
Nem. A célja az lenne most a programnak, hogy mind az összes leden a megadott színt jelenítse meg. Majd ezt fogom később tovább bővíteni (színbeállítás wifi-n keresztül, nyomógombos ki és bekapcsolás, fényerőszabályzás, 2-3 szalag vezérlése)
Addig akarom majd bővíteni a kódot, amíg van tárhely, illetve vezérelhető PIN (pl.: hőmérséklet mérés LCD kijelzővel, mozgásérzékelő, meg ami még eszembe jut)
Ha ezek már mennek rutinból, akkor játékot is tervezek készíteni egy másik modullal, illetve egy lézergravírozót is.
-
válasz
Janos250 #8187 üzenetére
Üdv,
A link ahogy néztem ugyanarra weboldalra visz. Mindegy, letölöttem azt amit most küldtél. és nnál is ugyanezt a hibaüzenetet kapom.
Közben tegnap este azt olvastam, hogy a FastLED hivatalosan nem is támogatja az ES32-t, így nekem marad az Adafruit_Neopixel, vagy esetleg a Pixelbus, csak az utóbbihoz nem találtam használható leírást.
[link] -
Teasüti
nagyúr
válasz
Janos250 #8182 üzenetére
Az csak a retrigger.
Nekem az kéne, h ne tartsa fent a jelet egyáltalán.
Ha van mozgás, akkor van jel, ha nincs mozgás akkor nincs jel.
Az mcu meg majd szűri a jelet.
Esetleg ha van jobb ötlet egy sorompó készítésére, akkor jöhet.
A cél az volna, hogy egy vonalban érzékelni a keresztező mozgást, az áthaladást.
Ezt jelenleg jobb híján PIR-rel tervezem, aminek a lencséjét részlegesen letakarom, hogy csak egy szűk sávban lásson. -
válasz
Janos250 #8120 üzenetére
Üdv,
A hardveres előkészületekkel kész vagyok.(Összeraktam a tápegységet, elő van készítve a dobozolása megvan a ledszalag, össze van kötve be az egész bazár. A ledszalag és az ESP32 között kb 40cm-es vezeték van.
Most jön a szoftveres rész. Az a kód, amit megosztottál, nem fodul le nekem.
Ez a hibaüzenet:
"No hardware SPI pins defined. All SPI access will default to bitbanged output"Mit tudok vele csinálni? (FastLED 3.1.6 van telepítve)
Most az Adafruit_neopixel lilbrarbyt próbálgattam, de nagyon furán viselkedik. Ha csak 10 db ledet kötök be, akkor a színeket RGB sorrendben kell megadni a függvénynek és jól működik. Ha viszont az 57 db-os szalagot, akkor már a sorrend BGR, ráadásul az első valamiért led mindig eltérő színnel világít. Ha pedig valami színt szeretnék kikeverni akkor a delay lejárata után villan egy picit a led és megváltozik néhány lednek a színe.
Környezet: Arduino IDE 1.8.5, Adafruit_neopixel 1.1.6.
Ez a kód van most feltöltve, kék színnel világit most a szalag, kivétel az első led--et, mert az rózsaszín:
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 57 //osszes led
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_GRB + NEO_KHZ800);
void setup() {
LEDek.begin();
}
void loop() {
for (i=0; i<56; i++)
{
LEDek.setPixelColor(i, LEDek.Color(0,255,0));
LEDek.show();
}
delay(10000);
} -
AcCEsS
senior tag
válasz
Janos250 #8183 üzenetére
Ehh, elkéstél mert már elkaptam!
Van egy kalap Wemos D1 (normál/mini) egy pár szenzorral, RPI3 kettő is, Xiaomi gateway kb. 20-25 eszközzel, 7db Sonoff Basic/Pow, 2db Broadlink. Ezekre Domoticz figyel meg egy halom saját szkript. Ja, és jó pár egyéb cucc úton van! Lassan már az asszony is, csak ő elfele.
-
Teasüti
nagyúr
válasz
Janos250 #8167 üzenetére
Ha már PIR, akkor nem tud vki egy olyan szenzort, amiben nincs késleltetés?
Nekem is ilyen van, ami tök jól működik de nekem nem tetszik, hogy fent tartja a jelet. Ez tök jó egy relé vezérelt lámpához, de mikrokontrollerhez azért elég buta megoldás. És le se lehet szabályozni 0,1-1 másodperc környékére.
Jelenlét érzékelésnél ez annyira nem gond, de mondjuk egy fénysorompónál már gáz. -
AcCEsS
senior tag
válasz
Janos250 #8167 üzenetére
Köszönöm szépen az infót, az SR501-ből rendeltem egy 5db-os pakkot. Időközben a másik topikban is kaptam választ, ahol enesbcs - a téves jelzések elkerülése érdekében - javasolt hozzá egy radarszenzoros kiegészítést.
-
Janos250
őstag
Elvileg nem kizárt persze, hogy ez is, meg a
http://www.indiegamebundles.com/
linken felsorolt többi is jogtiszta legyen 1-2 százalékáért annak, amennyiért a kiadó, gyártó árulja.Akkor maradjunk annál, hogy jogtiszta.
-
Janos250
őstag
válasz
csadi0011 #8171 üzenetére
Ez ugye nem igazán jogtiszta? Ha jól értelmezem első ránézésre, 15 $-ért kapsz 14 könyvet, amiből néhánynak valószínűleg hasznát is veszed.
Szerintem háromféle letöltés létezik:
1. megveszed jogtisztán
2. letöltöd nem jogtisztán, de ingyen
3. letöltöd nem jogtisztán, de pénzértJól értem, hogy ez a harmadik kategóriába tartozik?
Ha rosszul értelmeztem, javíts ki, lsz! -
csadi0011
őstag
Angol nyelvű e-könyv csomag:
Humble Book Bundle: DIY Electronics by Wiley -
Én nem akarok több áramot bele, hanem a konvertert/regulátort akarnám kihagyni a képletből, mert eddigi tapasztalataim alapján egy egyszerű stepdown konverter nem tudja rendesen árammal ellátni a motorokat, plusz ha a li cellákat lekonvertálom 5V-ra, a driveren meg esik +1V, akkor tuti erőtlenek lesznek a motorok. Vagy egy nagy áramú konvertert kell használni, ami nagy is, drága is, és nincs is nekem. Ez pont 3 kizáró ok.
-
Janos250
őstag
Én az SR501-ekből szereztem be még régebben, de még a ládikában várnak jobb sorsukra. Azért azt, mert úgy láttam, hogy azt használják leginkább. Mivel TTL a kimenete (low/high) ezért elvileg simán kell (ene) működni Arduinoval. Jumperrel, potival lehet állítani. Ez csak sejtés, nem tapasztalat.
Más:
Az okosotthonhoz valóban jól kiegészíthetik egymást az Arduino és a málna. A baj az, hogy hiába adja meg a gyártó az árat, ez a gyakorlatban nem annyi. Az angol cégek közül én régebben egyet találtam, ami szállított Magyarországra, de annak eleve drágább volt az ára, plusz még rájött a posta. Így már messze nem annyiba került, mint amennyiért hirdették. Ráadásul még várni is kellett rá jó sokat, mert nem volt raktáron (Zero). Nálunk meg minden drágább. -
tvamos
nagyúr
Akkor csinald half-step uzemmodban, akkor lesz valamivel tobb nyomatekod. Esetleg two-phase-on half step. [link]
Az a baj, ha tobb aramot tolsz benne, nem lesz annyival nagyobb a nyomatekod, mert telitesbe megy a vasmag, es csak jobban melegited a tekercset. [link]
Amugy milyen eszkozeid vannak, ha nem vagyok indiszkeret? Gondolom multimeter...
-
AcCEsS
senior tag
válasz
Janos250 #8163 üzenetére
(#8163) Janos250 és (#8162) vargalex: Ne haragudjatok, nem reklámozni akartam, csak hírt adtam róla. Az Okos Otthon topikban már is megkérdeztem, de talán itt nagyobb a tapasztalat Arduino témában.
Wemos D1-hez szeretnék PIR szenzort csatlakoztatni. Ez nekem teljesen ismeretlen terep (eddig csak egy DHT22 lett vele beüzemelve tesztelésre), ezért inkább megkérdezem: Milyen típusút rendeljek? Rengeteg féle/fajta létezik, de nem ismerem az egyes modellek előnyeit/hátrányait. Ti mit használtok, mit javasoltok beszerzésre?
-
Janos250
őstag
Ilyet kéne csinálni Arduinoval:
https://www.facebook.com/dario.lavesero/videos/10215872372591655/ -
AcCEsS
senior tag
Kijött a Raspberry Pi 3 Model B+
Ár: nettó 35$ itthon bruttó 13.990,- Spec:
A termék részletes specifikációja:
CPU: Broadcom BCM2837B0, Cortex-A53 64-bit SoC @ 1.4GHz - 10%-al gyorsabb a sima Pi 3-nál
Memória: 1GB LPDDR2 SDRAM
Wifi: IEEE 802.11 b/g/n/ac szabványú kétsávos rendszer (2.4 GHz és 5GHz)
LAN: Gigabit Ethernet (Microchip LAN7515), ami jelen esetben max. 300Mbps
USB: 4x USB 2.0
GPIO: a Pi 1 B+ óta megszokott 40-pin, hála a tervezőknek.
Videó és hang (ez sem módosult):
HDMI kimenet
MIPI DSI display port
MIPI CSI kamera port
4 pólusú 3.5mm-es jack aljzaton sztereó hang és kompozit videó kimenet
Multimédia képességek: H.264, MPEG-4 dekóder (1080p30); H.264 enkóder (1080p30); OpenGL ES 1.1, 2.0 grafikus gyorsítás
SD kártya támogatás: Micro SD támogatás az operációs rendszer futtatásához és adattároláshoz
Tápellátási lehetőségek:
5Vdc/2.5A (max.) micro USB csatlakozón keresztül
5Vdc GPIO tüskéken át
PoE (Power over Ethernet) lehetőség megfelelő HAT alkalmazásával
Működési hőmérséklet tartomány: 0-50°C között -
válasz
Janos250 #8158 üzenetére
Na megnéztem a gépen, snap4arduino ami nagyon tetszett! Egyrészt sokkal stabilabb és gyorsabb, mint a többi, amit próbáltam, másrészt létre lehet benne hozni saját blokkokat, Xml és javascript alapon, amit a programmal együtt is el lehet menteni, az ember nincs ráutalva arra, hogy a készítők beletegyék, amit az ember használni szeretne, pl ultrahang szenzor, vagy motor shield.
-
Janos250
őstag
Igen, úgy tűnik, mert mindenestül törölték. Nem tudni miért, mert én is írtam adatvédelmisnek, meg volt ELTE hallgatónak is javasoltam, hogy szóljanak már nekik. A lényeg, hogy törölték.
Viszont, ha beütöd Google-ba, amit beidéztem, 8 590 találatot ad ki. Azért ez borzalom! -
Janos250
őstag
Na, ezekután megnéztem a Scratch dolgait, mert az is valami hasonló, és elájultam. Meghekkelték az ELTE szerverét, és hamis útlevelet, miegymást hirdetnek rajta.
"Vásárolni az eredeti és a hamis jogosítvány, útlevél .........."
Már október 30 óta folyamatosan. Senki nem tesz ellene?
Aki ismer ott valakit, szólhatna nekik!
http://scratch.inf.elte.hu/lecke/attekintesek/ismerteto -
válasz
Janos250 #8152 üzenetére
Akkor már blökli.
Van vagy 4-5 arduino programozására is alkalmas blockly fork, amit végigpróbáltam, ebből van egy, ami kimondottan nagyon jól sikerült, most fejből nem tudom a nevét, majd este belinkelem. Mindegyik valamilyen firmata firmware-el működik, és Bluetooth kapcsolaton keresztül a pc-ről vezérli a uC-t. -
-
Janos250
őstag
Megnéztem az általad linkelt blocky (blöki, hogy legyen valami értelme
)
https://developers.google.com/blockly/
oldalt.
Jó játék, így összerakni egy programot. -
válasz
// Chaka // #8146 üzenetére
Pláne, hogy én nem nyomtatni fogom az alkatrészeket, hanem vágni/ragasztani.
Már csináltam egy nagyobb és bonyolult smart car-t DC motorokkal, de az túl komplikált ahhoz, hogy a gyerekeim tudják programozni. Ezt úgy akarom megcsinálni, hogy valamelyik blockly klónnal lehessen programozni, grafikusan, mint a Lego mindstorms-t. -
válasz
// Chaka // #8144 üzenetére
Két léptető + egy bolygókerék. Egy ilyet akarok csinálni.
Update: most néztem meg alaposabban az oldalt, amit linkeltem, és 5db AA elemre kötötte a stepper-eket szívbaj nélkül, sőt, a leírás szerint 6db-ot is lehet használni, szóval ezek szerint feleslegesen csináltam problémát a tápból.
Vagy a projekt készítője gyakrabban fogja cserélgetni a motorokat, mint eredetileg tervezte. -
válasz
// Chaka // #8142 üzenetére
Tartásra igazából nem lesz szükség, elvileg vízszintes felületen nemigen fog elgurulni a kocsi, amit hajt. Viszont ha folyamatosan gurul, az szerintem elég nagy igénybevételnek minősül. Asszem ezt empirikus módszerrel kell kiderítenem.
-
// Chaka //
tag
Huszonéve tanultam isiben léptető motorokról, és olyasmi dereng, hogy léptetés közben nagy feszültségen járnak, álló helyzetben meg kis feszültségen állnak. Ha én ilyennel kísérleteznék, és nem lenne a motor nagyon igénybe véve, akkor léptetéshez adnám a 8.4V-ot, és a lépések között ugyanezt kicsiny tüske formájában. Pl. ha 100ms egy lépés, akkor 50ms impulzus a lépéshez, majd a következő 50ms közepén 10ms a tartáshoz. Ha nincs lépés, akkor csak tartás van. Ha nincs értelmesebb ötlet, egy próbát megér
-
Hát ha a tekercsek ellenállása 35ohm körül van, ahogy írják, akkor ha jól számoltam 7,4V-on 220mA körüli áramot kap. Esetleg ha teszek rá egy hűtőbordát?
Egy kis egyszerű smart car-t szeretnék belőle összerakni, és 5V-on elég erőtlennek találtam a motort, meg a táplálás is egyszerűbb lenne konverter nélkül... -
tvamos
nagyúr
Itt azt irjak, 160 mA per winding. Szoval ezt be lehet allitani ellenallassal, vagy PWM-mel is. (Mondjuk en 5V-rol hajtom, es igy is rohadtul melegszik. Csak kiprobalasra vettem, nem hasznalom semminek a meghajtasara. Szoval nem tudom, hogy mit csinalna terheles alatt.)
Van szkopod? Azzal beloheted a megfelelo PWM-met, akar ugy is, hogy par 100 ms-re rakapcsolod a teljes akku feszt, utana meg visszaveszed, hogy ne legyen tul nagy az aram. -
Sziasztok!
Egy 5V stepper motort (28BYJ-48) lehet magasabb feszültségen hajtani?
Dc motoroknál meg szoktak adni min/max értékeket az adatlapon (pl. 6V motornak 3-9V) de ennél semmi ilyet nem találtam.
Két 18650 li cella max 8.4V-ját vajon kibírja hőhalál nélkül? Egy
ULN2003 driverrel lenne hajtva, amin ha jól tudom eleve lesz kb 1V feszültségesés, vagyis legrosszabb esetben (maxra töltött cellákkal) is max 7.4V-ot kéne elviselni. -
JozsBiker
aktív tag
Megpróbáltam a time-master -rel, és úgy már valóban lemegy a fordítás hiba nélkül. Viszont valami gebasz még van, mivel a soros monitoron nem látom hogy működik, annak ellenére, hogy a fenti linken szereplő példaprogramok közül azok amik nem használnak library -kat azok rendesen működnek, azaz az UNO felé látható módon érkeznek jelek a DCF modulról. Persze ha jól gondolom ennek az is lehet az oka, hogy az érkező jelekben sok a zavar, így nem lehet belőle kinyerni az időt. De már ez is nagy segítség, hogy a kód működik, köszi szépen.
-
JozsBiker
aktív tag
Alapvetően értem amit írsz, és köszi szépen hogy segítesz. Biztos valami olyat rontok el, amire nem gondolunk. Érdekesség, hogy egy másik számítógépen is próbálkoztam, és azon is ugyanaz a jelenség. Most frissítettem az IDE -t a legújabbra ( 1.8.5 ), de nem változott semmi.
Alapvetően EZEN leírás alapján próbálkozom, ami 3 oldalból áll, az elsőn ott egy link hogy honnan tölthető le a DCF library, Gondolom az itt levő dolgok konzisztensek egymással, vagyis a példaprogramoknak amik a leírás 3. oldalán vannak és a hivatkozott DCF könyvtáraknak passzolniuk kellene ( annak ellenére, hogy a DCF library dátuma 2012 -es ). Nálam érdekes módon nem passzolnak.
Szerintem ott mehetek el az erdőbe amit a #8124 -ben írtam. -
tvamos
nagyúr
válasz
// Chaka // #8129 üzenetére
Pl. ha már szóba jött a PI, képváltást kellene csinálnom áttűnéssel
Ez itt nagyon off-topic, gondolom a Linux kezdőknek topicban szivesen segitenek.
En ezt a leirast hasznaltam egyszer, ha jol emlekszem, egy 3.5"-es kijelzon, de nem biztos: [link](#8130) mprrpm válasza // Chaka // (#8127) üzenetére
En nem mondanam, hogy meguszos... regen az apukajatol (vagy a kornyezeteben megtalalhato emberektol, esetleg tanaroktol) tanult az ember, most meg sajnos ez nem nagyon megy, mert az ember apukaja nagyon sok esetben nem latja at a dolgokat, nem ert hozza, stb-stb. Beleugrik a dologba, de nincs segitseg... illetve itt, a forum. (Sajnos, nekem nagyon sokszor nincs turelmem segiteni, meg amugy is, a hardware-hez jobban ertek, de na...) Majd megerti, vagy feladja. Jo ez igy. Nem kell mindent megerteni, amit hasznalunk. -
mprrpm
tag
válasz
// Chaka // #8127 üzenetére
Teljesen igazatok van. De az átlag user hogy kezdi?
Lát valamit, megtetszik neki, vas megjön és egyből a megúszós produkciós utat választja.
Rátalál valamire letölti, feltölti és nem működik.
A miértjét megérteni, időigényes feladat, szerintem nektek nem kell mondanom.
Hiányosságok, hát igen....De ez így szép.
-
// Chaka //
tag
Jaja, igazad van. Ez személyes beállítódottságtól függhet. Huszonéve nagyon rákattantam a gépi kódra, tizenéve az assemblerre, és csak pár éve álltam át C-re. És érzem a hiányosságaimat, ha valami bonyolultabbat kell megoldani. Pl. ha már szóba jött a PI, képváltást kellene csinálnom áttűnéssel
-
tvamos
nagyúr
válasz
// Chaka // #8127 üzenetére
Az jó, ha eldönti előre, de azért az se baj, ha nem. Az a lényeg, hogy legyen sikerélménye, és akkor szívesen csinálja. Aztán majd kitalálja, hogyan folytatja. Lehet, inkább felfelé lép, Raspberry, és társai irányába, és nem az alacsony szintű programozás fogja érdekelni.
-
// Chaka //
tag
Ha az ember fia mikrovezérlőkkel és egyéb mütyürökkel foglalkozik, akkor érdemes eldöntenie az elején, hogy mennyire akar belemélyedni a dolgokba. Ha csak játszani szeretne, akkor ott vannak a kész könyvtárak, hardver KIT-ek tömegei. Azok annyit biztosan tudnak, amire kipróbálták őket. És van a másik út: végignyalod a hardverek gyári adatlapjait, próbálod megérteni, és a kezelő programokat magadnak megírni. Ennek az az előnye, hogy ha hiba van, könnyebben megtalálod, hisz te írtad. De piszkosul munkaigényes. Ám nagyon tanulságos
-
mprrpm
tag
válasz
JozsBiker #8124 üzenetére
Na tisztázzuk a dolgokat.
Ha egy arduino programot megtalálsz igaz ez bár mire az szinte semmit nem ér ha nincsen hozzá meg a könyvtárrendszere ami alapján hivatkozik egy csomó mindenre valamint még nagyon sokszor a verziója sem mindegy.
Példa: amivel menetrend szerint szívok, engem érdekelnek a pontmátrix kijelzők, megjelenítő felületek, ebben az arduinóra szerintem legjobban összerakott nagyon profin megalkotott igen igen struktúrált program az MD.parola.
(Egyirányú soros kommunikáció sokat lehet belőle tanulni. WS2812 ledek meghajtása hasonló csak ugye ott kicsi másképpen + bejön a szín is.)
De ahhoz, hogy ez működjön ehhez kell egy csomó minden. Többek között ami a max7219 ic soros vonali meghajtót kezeli. Ebből kijön kb. 3 havonta újabb és újabb verzió. De a meghajtó progiból is van kb. 4-5 féle amit remekül lehet használni. (Ha nagyon profi vagy csinálsz sajátot.)
Tehát alkotok dcf77-hez saját programot szuperül csillog-villog, működik és eszembe jut valami kb. 3 hónap elteltével amit szeretnék hozzátenni a programomhoz de közbe már felajánlotta az arduino progi, hogy megjelent újabb frissítés, lefrissíti az ember, rá akarod tölteni a módosított programodat és már hibát dob, hogy valami gond van. A te esetedben a time.h-val. (time.h-t már nem nagyon használják van helyette Time-master, szebb, jobb) Szokták mondani ugye a kőkorszaknak sem azért lett vége mert elfogyott a kő.
De ezek a frissítések amik a könyvtár rendszert is tartalmazzák sokszor meg bekerülnek újabb jobb dolgok, esetleg portolják más hardverekre is (pl. ESP32) ami az előző verziókba nem volt.
Nagyon sok arduino minta program uno-ra íródik, de attól kisebb-nagyobb átalakításokkal megy az mondjuk Arduinó Megán is a hardver sajátosságaival együtt lábkiosztás, memória...stb, stb.
Lehetőségek a megfelelő könyvtár felrakására.
Vagy bemásolod a letöltött könyvtárat az arduino könyvtárba vagy ahogy az előzőekben írtam feltelepíted és elintéz mindent a program(letölti bemásolja) vagy pedig a letöltött zip file-t a zip file hozzáadása menüpontban rakod fel. (github-ról komplett leszeded a zip file-t és hozzáadod)
Ilyenkor telepítésre kerülnek többek között a példaprogramok is és ezek általában megfelelően hiba nélkül lefordulnak és elindulnak.
Remélem tudtam valamicskét segíteni. -
JozsBiker
aktív tag
válasz
JozsBiker #8123 üzenetére
Nem értem a library használat filozófiáját.
Azt írják meg kell nézni a Beállításokban a "Vázlatfüzet helyét" ( Sketchbook location ), és oda - illetve azon belül egy libraries alkönyvtárba - kell bemásolni annak a library -nak a komplett alkönyvtárát, amivel bővíteni akarunk. Ez a path az én esetemben: C:\Users\Apa\Documents\Arduino.
Viszont van egy másik Libraries alkönyvtár is ahol az IDE van, konkrétan itt: c:\Program Files\Arduino\libraries\
Ez eddig tehát kettő.
Viszont érdekes módon ha mindkét helyről kitörlöm pl. a Time libraryt, a kód ( aminek az elején ez van: #include "Time.h" ) akkor is lefordítódik. Ebből az következik, hogy valahol még van egy Time library ill. time.h fájl. Nosza rákerestem, meg is találtam itt:
c:\Program Files\Arduino\hardware\tools\avr\avr\include\
Ha innen is kitörlöm a time.h -t, akkor már hiányolja.
Azért is körözök ezen, mert a DCF77 bővítés a DCF77+Time+Timezone könyvtárakból áll, és a példaprogramok fordításakor a "'time_t time' redeclared as different kind of symbol" hibaüzenetet kapom, azaz valami a time.h -val nem stimmel.
Fel tudna valaki világosítani hol siklottam el ? Köszi.
-
mprrpm
tag
válasz
JozsBiker #8118 üzenetére
Én ezt javaslom:
#include <dcf77.h>
#if defined(__AVR__)
const uint8_t dcf77_analog_sample_pin = 5;
const uint8_t dcf77_sample_pin = A5; // A5 == d19
const uint8_t dcf77_inverted_samples = 1;
const uint8_t dcf77_analog_samples = 1;
// const uint8_t dcf77_pin_mode = INPUT; // disable internal pull up
const uint8_t dcf77_pin_mode = INPUT_PULLUP; // enable internal pull upconst uint8_t dcf77_monitor_led = 18; // A4 == d18
uint8_t ledpin(const uint8_t led) {
return led;
}
#else
const uint8_t dcf77_sample_pin = 53;
const uint8_t dcf77_inverted_samples = 0;// const uint8_t dcf77_pin_mode = INPUT; // disable internal pull up
const uint8_t dcf77_pin_mode = INPUT_PULLUP; // enable internal pull upconst uint8_t dcf77_monitor_led = 19;
uint8_t ledpin(const uint8_t led) {
return led<14? led: led+(54-14);
}
#endifuint8_t sample_input_pin() {
const uint8_t sampled_data =
#if defined(__AVR__)
dcf77_inverted_samples ^ (dcf77_analog_samples? (analogRead(dcf77_analog_sample_pin) > 200)
: digitalRead(dcf77_sample_pin));
#else
dcf77_inverted_samples ^ digitalRead(dcf77_sample_pin);
#endifdigitalWrite(ledpin(dcf77_monitor_led), sampled_data);
return sampled_data;
}void setup() {
using namespace Clock;Serial.begin(9600);
Serial.println();
Serial.println(F("Simple DCF77 Clock V3.1.1"));
Serial.println(F("(c) Udo Klein 2016"));
Serial.println(F("www.blinkenlight.net"));
Serial.println();
Serial.print(F("Sample Pin: ")); Serial.println(dcf77_sample_pin);
Serial.print(F("Sample Pin Mode: ")); Serial.println(dcf77_pin_mode);
Serial.print(F("Inverted Mode: ")); Serial.println(dcf77_inverted_samples);
#if defined(__AVR__)
Serial.print(F("Analog Mode: ")); Serial.println(dcf77_analog_samples);
#endif
Serial.print(F("Monitor Pin: ")); Serial.println(ledpin(dcf77_monitor_led));
Serial.println();
Serial.println();
Serial.println(F("Initializing..."));pinMode(ledpin(dcf77_monitor_led), OUTPUT);
pinMode(dcf77_sample_pin, dcf77_pin_mode);DCF77_Clock::setup();
DCF77_Clock::set_input_provider(sample_input_pin);// Wait till clock is synced, depending on the signal quality this may take
// rather long. About 5 minutes with a good signal, 30 minutes or longer
// with a bad signal
for (uint8_t state = Clock::useless;
state == Clock::useless || state == Clock::dirty;
state = DCF77_Clock::get_clock_state()) {// wait for next sec
Clock::time_t now;
DCF77_Clock::get_current_time(now);// render one dot per second while initializing
static uint8_t count = 0;
Serial.print('.');
++count;
if (count == 60) {
count = 0;
Serial.println();
}
}
}void paddedPrint(BCD::bcd_t n) {
Serial.print(n.digit.hi);
Serial.print(n.digit.lo);
}void loop() {
Clock::time_t now;DCF77_Clock::get_current_time(now);
if (now.month.val > 0) {
switch (DCF77_Clock::get_clock_state()) {
case Clock::useless: Serial.print(F("useless ")); break;
case Clock::dirty: Serial.print(F("dirty: ")); break;
case Clock::synced: Serial.print(F("synced: ")); break;
case Clock::locked: Serial.print(F("locked: ")); break;
}
Serial.print(' ');Serial.print(F("20"));
paddedPrint(now.year);
Serial.print('-');
paddedPrint(now.month);
Serial.print('-');
paddedPrint(now.day);
Serial.print(' ');paddedPrint(now.hour);
Serial.print(':');
paddedPrint(now.minute);
Serial.print(':');
paddedPrint(now.second);Serial.print("+0");
Serial.print(now.uses_summertime? '2': '1');
Serial.println();
}
}
Ez tökéletesen működik, és innen tudod leszedni hozzá a cuccokat meg egy kis infót.
De ha ez nem tetszene akkor válogass ezek közül. (páran feldolgozták már ezt a témát) -
Janos250
őstag
"de mi van akkor ha én pl egyszerre akarom az első tíz LED-et vezérelni."
"Egyszerre" nem tudod vezérelni a 10 ledet. Mind a tíznek ki kell küldened egymásután ugyanazt a kódot.
A WS2812 úgy működik, hogy ami színkódot elsőként kiküldtél, azt elkapja magának az első led, amit másodszorra, azt az első továbbküldi, a második kapja el, stb.
Akkor kezdi elölről, ha nagyobb (pl. 10 microsec) szünet van a két kód érkezése között.Amit én feltettem, az tutorial céllal készült, ha valaki tanulmányozni akarja az ESP32 RMT használatát.
-
JozsBiker
aktív tag
válasz
JozsBiker #8117 üzenetére
Mondjuk a hibaüzenetben ezt
c:\program files\arduino\hardware\tools\avr\avr\include\time.h:122:21: note: previous declaration 'time_t time(time_t*)'
a sort különösen nem értem. Hiszen a time.h amit a DCF77 -hez most feltettem ebbe az alkönyvtárba került:
c:\Program Files\Arduino\libraries\Time\
-
JozsBiker
aktív tag
Arduino progiba könyvtárak kezelése majd keresés: dcf77.
Többet is kidob, felteszed, mindegyik működik.Nekem csak kettőt hoz, amiből az elsőt tettem fel:
És a mintaprogram fordításakor már az elején kiakad:
#include "DCF77.h"
#include "Time.h"
#define DCF_PIN 2 // Connection pin to DCF 77 device
#define DCF_INTERRUPT 0 // Interrupt number associated with pin
time_t time;
DCF77 DCF = DCF77(DCF_PIN,DCF_INTERRUPT);
void setup() {
Serial.begin(9600);
DCF.Start();
Serial.println("Waiting for DCF77 time ... ");
Serial.println("It will take at least 2 minutes until a first update can be processed.");
}
void loop() {
delay(1000);
time_t DCFtime = DCF.getTime(); // Check if new DCF77 time is available
if (DCFtime!=0)
{
Serial.println("Time is updated");
setTime(DCFtime);
}
digitalClockDisplay();
}
void digitalClockDisplay(){
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.print(" ");
Serial.print(day());
Serial.print(" ");
Serial.print(month());
Serial.print(" ");
Serial.print(year());
Serial.println();
}
void printDigits(int digits){
// utility function for digital clock display: prints preceding colon and leading 0
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}A hibaüzenet:
InternalClockSync:28: error: 'time_t time' redeclared as different kind of symbol
time_t time;
^
In file included from C:\Users\Apa\Documents\Arduino\libraries\DCF77/DCF77.h:9:0,
from C:\Users\Apa\Documents\Arduino\libraries\DCF77\examples\InternalClockSync\InternalClockSync.pde:22:
c:\program files\arduino\hardware\tools\avr\avr\include\time.h:122:21: note: previous declaration 'time_t time(time_t*)'
time_t time(time_t *timer);
^
Ami tulajdonképpen igaz is, hiszen a header file -ban a time_t már deklarálva van. Csak azt nem értem másnak miért fordul le, nekem pedig miért nem. Sajnos ennyire mélyen nem vagyok benne a programozásban. -
válasz
Janos250 #8114 üzenetére
Ok, köszi. Azt keresgéltem, hogy van-e valami egyszerű módja annak, hogy egy szalagon több ledet is egyszerre vezéreljek.
Sejtem, hogy ha definálok egy tömböt, akkor ez kezelhető lehet, de mi van akkor ha én pl egyszerre akarom az első 10 LED-et vezérelni.Azt nézegettem, hogy a fastLED ami most talán népszerűbb LED vezérlő könyvtár. Szerintem ahhoz szerzek valami dokumentációt és azt fogom használni.
-
Janos250
őstag
Ja, látom, közben megoldódott, nem baj, egyelőre nem veszem le.
-
Janos250
őstag
Tettem fel egy hevenyészett fényképet a bekötésről, és azt a programot, amivel fut.
Ha akarod, megnézheted. A case után vannak, amit sorra vesz, azt kell átírogatni.
http://arduinouser.hu/esp32/WS2812/index.html -
Üdv,
kis segítséget szeretnék kérni. Megvan a WS2812B LED szalagom.
Tegnap levágtam belőle egy 10 db LED-es csoportot és összeraktam a következő környezetet:
- USB-re rákötve az ESP32
- ESP32 Vin és a mellette lévő GND lábára rákötöttem a LED 5V+ és GND megfelelő lábait (Vin-ről azt olvastam több helyen is, hogy az egy +5V-os ki és bemenet, az USB +5V-ja jelenik meg itt)
- az ESP32 D13 feliratú lábára (elvileg ez a PIN13) rákötöttem a D0 feliratú vezetéket (asszem D0, de nincs is több csatlakozó)Csak ki akartam próbálni, hogy lássam működik-e, így megpróbáltam több példa programot is rátölteni az ESP-re. Volt köztük Neopixel, FASTled, meg LEDc is, de egyikkel sem tudtam a LED sort kifényesíteni. Minden programban a PIN-t átírtam, hogy 13-as legyen, ami vezérli LED-eket.
Annyit sikerült elérnem eddig, hogy ha lehúztam az ESP-t az USB-ről, és visszadugom, kb 1 tized másodpercre néha felvillan a LED sor (pirosan vagy zölden).
Tegnap kb 1 órám volt vele foglalkozni, de nem találtam olyan egyszerű kódot, amivel el tudnék indulni. Mindenki egyből bluetooth, meg wifi, meg az franc se tudja milyen bonyolult megoldásokat tett fel a netre.
Esetleg kérhetek valakitől olyan kódot, amivel el tudnék indulni? Vagy hol kereshetnék ilyen egyszerű leírásokat?
Kb az kellene, hogy:
#define PIN 13 //ezen megy ki a LED vezérés
#define szín RRGGBB //milyen színű legyen
#define akármi //ha kell még valamit definiálnivoid loop
legyen világosság (PIN, szín, akármi) -
ngabor2
nagyúr
Össze kellene raknom egy egyszerű dolgot kickstarter attiny85-tel. Egy DS3231 RTC-től kérdezné le az időt, és ha reggel 6 óra van, akkor meghúz egy relét (= LOW-ba teszi az egyik digitális pint), ha 18 óra, akkor elengedi.
Annyit már láttam, hogy SoftwareSerial kell, mert nincs benne hardveres soros port. De utána olymértékben elbonyolítják, hogy nem bírom kihámozni a lényeget.
Itt van egy hasonló, csak ennél mosfet kapcsol.
-
mprrpm
tag
válasz
JozsBiker #8102 üzenetére
Hálószobába: óra, hőfokmérő, családi név és születésnapokon, 10 percenként "boldog szül.......stb.stb", óránkénti csipogó jelzéssel, autómata téli-nyári átállás, autómata fényintenzitás mérés beállítás (asszony kedvéért éjszaka nem elég sötét a sötét
).
Konyhába: + gombnyomásra napi névnapok + jelenlét érzékelés (energy saving).
Üzletbe: reklámszöveg (8 x 64led), külső, belső hőfok, óra, dátum.
Munkahelyen: óra, hőfokok, műszakból még hátralévő idő, idegen belépésre üdvözlő szöveg.
-
mprrpm
tag
válasz
JozsBiker #8102 üzenetére
Egyébként arduinóba megcsináltam már a dcf77 pontosítja DS3231-et.
dcf77 vételi problémával már foglalkoznak mások is, sőt már külön jelformálót is készítettek ennek a kezelésére. Amit ajánlottam előzőbe, ha azt felrakod abban már van egy jelvizsgáló kis rész és meg tudod nézni a vett jelek minőségét is egy szkóp szerű képernyőn.A ds3231 ZS-042 panel alapvetően nem sima CR2032 gombelemre van kitalálva hanem LIR2032 gomb akkura, mert létezik egy töltő áramköri rész ami folyamatosan tölti a 3,6V-os lítium akksit.
Így az akkumulátor kapocsfeszültsége 4,2 V körül jár na most ha ebbe elhelyezel egy CR2032-t akkor az pár napon belül szinte felrobban, ezért el kell távolítani a panelről ezt a töltő áramköri részt. (bocs hirtelen ezt találtam)
Egyébként én nem tettem gombokat egyik órára sem hanem IR-en keresztül pl TV távirányító nem használt gombjaira tettem a beállítást és nem kell hozzányúlni közvetlen az órához, vagy pl. magasra mászni a beállításához.
De igen lehet BT vagy Wifi-n keresztül is, nekem volt egy csomó IR vevőm régi projektből maradt.
Az én óráim Arduino nano valamint a kihívás és tanulás kedvéért STM32F103-mal készültek.
A terv amin most dolgozom házfalra kültéri kb. 5000-8000 ledes reklámfelület fél méter magas, alapja ESP32lenne, hőmérővel, órával természetesen (költséghatár max 40000Ft-ig).
-
JozsBiker
aktív tag
EBay -ről vettem, és egy darab szállítással valóban nem sokkal olcsóbb a Conrad -os 4eFt -nál, de ha többet vesz az ember már jóval kedvezőbb.
Az én órám egyelőre csak "deszkapanel" formájában van meg, szintén DS3231 -et használok, tettem rá gombokat amivel lehet az időt állítani, sőt bluetooth modult is, így android -os telefonról is állítható az idő.
De vannak esetek szerintem, amikor ezek sem elegendőek. Pl. ha az óra mondjuk egy buszváróterembe kerül. Oké, beüzemeléskor pontos, rendben. Aztán hónapokig, esetleg egy évig egész pontos, rendben. És azután ? Biztos hogy egy év után lesz olyan a helyszínen, aki még emléxik rá hogy van az alján 3 pici gomb amivel pontosíthatja ? Vagy biztos meg lesz még a telefonján az alkalmazás ? Ilyen meggondolásból akarnám - mintegy biztonságképpen - még a dcf modult is beizzítani.Az "egy kis átalakítást végzéséről" a DS3231 panelon írnál pár szót ?
Köszi.
-
mprrpm
tag
válasz
JozsBiker #8097 üzenetére
Máshol nem fogsz kapni használható dcf77 modult, persze lehet építeni is csak nem éri meg.
De ha van rá olcsóbb megoldás akkor szólj. Ja és inverterek közelébe se szereti venni a jelet.
Kb. 2-3 méteren belül ha csak egy telefontöltő üzemel már bizonytalanná teszi a vételt.Szinte kivétel nélkül mindenhol DS3231-et használok.
Kb 5.-ik mátrixos órámat építettem, valamint egy szintén saját készítésű reklámfutófénynek is ez az RTC-je. Munkahelyre most készül éppen egy nagyobb kivitelű óra.
Kb.5 évig elmegy egy CR2032-vel, igaz kell egy kis átalakítást végezni a panelon, a pontossága pedig évente 10sec-en belül van, amit progiba meg után lehet húzni. Ennél olcsóbban már csak a DS1307-van de azt nem szeretem mert hőmérséklet változásra szeret elmászkálni a pontossága.
Új hozzászólás Aktív témák
Hirdetés
- Nintendo Switch 2
- Hardcore café
- Milyen TV-t vegyek?
- Kerékpárosok, bringások ide!
- Azonnali alaplapos kérdések órája
- Horgász topik
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- A fociról könnyedén, egy baráti társaságban
- Milyen billentyűzetet vegyek?
- További aktív témák...
- BESZÁMÍTÁS! MSI Z77 MPOWER Z77 chipset alaplap garanciával hibátlan működéssel
- Bomba ár! HP ProBook 430 G8 - i5-1135G7 I 16GB I 256GB SSD I HDMI I 13,3" FHD I Cam I W11 I Gari!
- AKCIÓ! AMD Ryzen 5 2600 6 mag 12 szál processzor garanciával hibátlan működéssel
- Microsoft Surface Pro 7 - Újszerű, dobozban, gyári töltővel, billentyűzettel
- Prémium PC házak akár 20-40% kedvezménnyel eladók garanciával, számlával!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest