-
GAMEPOD.hu
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
-
kesztió
aktív tag
A nehogy már ezen kapjunk össze az kb. annak szólt, hogy pl. az Index fórumon óvakodni kell, hogy egy szakinak ellentmondj vagy visszaszólj, mert általában sértődésbe és implicit anyázásba (expliciten azért ott se lehet ) fullad a dolog. Párszor már megégettem magam, úgyhogy próbálok vigyázni, kinek mit és hogyan írok.
De ha jól értem, ez nem az a hely, ahol ilyen gondok lennének.
Bug és debug fia vagyok én
-
kesztió
aktív tag
Na, kedves kartársak, az ESP32 ún. érintésérzékelő lábai egy rossz vicc.
Csak és kizárólag akkor érzékelnek, ha galvanikus kapcsolat van az ujjad és az érzékelőfelület között. 3 mm plexin keresztül mintha ott se lennél. Úgyhogy a touch gombok implementálásához ez esik.
A TTP223 végső megoldásnak jó, de nem elegáns, mert sok helyet foglal, felületszerelt kondenzátorokkal kel „finomhangolni” és 3 db. TTP223-hoz 9 drótot kell vezetni a laphoz.
Így nagyon gondolkozom a Microchip CAP1203-as, pont 3 csatornás szenzor IC-n, ezt használja a SparkFun Capacitive Touch Slider modulja is, úgyhogy erről a rajzról koppintanék.
A kérdésem: van valakinek egy ennél érthetőbb és világosabb, esetleg működő, kipróbált rajza? Az eredeti SparkFun rajzon sajnos pl. nem egyértelmű, hova kerülnek a védőkondenzátorok stb.[ Szerkesztve ]
Bug és debug fia vagyok én
-
CHIPman
nagyúr
Se áramkört nem tudok rajzolni, fényképet meg max olyat, ami ott is van. microUSB az ESP-be, ~5cm jumper kábel a VIN-ről a szalag pozitívra, jumper kábel a GND-ből a szalag negatívba, és jumper kábel a data pinről a szalag data line-jára, és a szalagnak külön nem adok áramot. A leírás szerint így 5V-ot kéne kapnia a szalagnak, bár ez előtt én is értetlenül álltam. Illetve a leírásban is jumper kábeleket használ, ellenállás nélkül.
A "miért nem próbálod ki" kérdésre pedig az a válasz, hogy nincs ellenállásom, és vasárnap délután van, tehát nem sok esély van rá, hogy bárhol is tudok venni most.hardverapro.hu/tag/chipman
-
-
-
Nekem egy más elpusztult fordított bekötés miatt, azért kérdezek itt, hogy hogyan lehet megtudni, mi a helyes
Az akkun felcserélni, az szép.... Én még csak (elég komoly) RC távirányítóba fordítva beültetett akkucsatit -> szerencsére az AA cellás volt, és csak pár 7805 bánta.
Mutogatni való hater díszpinty
-
repvez
addikt
köszi,
Ezeket a reg cimeket, honnan tudom, meg? bármelyik manuált letöltve ugyan az lesz mindegyiké vagy az összes chipnek van sajátja?
Ha egy adott modulnak csak egyfajta registere van akkor kettő vagy többet hogy lehet ugyan abbol a modulbol használni ?HA nem tudom , hogy van e felhuzo ellenállás a panelokon, akkor enélkül nem is tudom tesztelni öket ?
Per pillanat nincs semilyen ellenállásom se itthon.
ÉS azt hogy érted, hogy mindegyik vonalra és nem modulhoz kell ilyen ?Mitől , függ, hogy honnan számit hosszúnak a vezeték aminél már kisebb ellenállás kell?
jelenleg csak 20cm es vezetéket tettem rá tesztelni, de későnn ez változhat.A párhuzamos soros részt, ugy értettem, hogy ha 4 modult teszek rá akkor mindegyik lábhoz 4 vezetéket kell bekötni vagy beköthetem ugy is, hogy az egyik modul SDL lábárol a másik modul SDL lábára aztán a 3. és 4ére kötöm , majd a 4. től vezetem csak vissza a panelra és igy csak két vezeték menne a panel azonos lábaira:
-
hukhl
csendes tag
Köszönöm aryes és neked is Janos250!
Ez a globális változó ez bejött.Viszont a funkcióból sajnos nem sikerült kinyernem a return értéket. Biztos valami alap nyelvtani hibát vétek ami miatt nem sikerül. Monitorozva a programot, sajnos nem kapom meg kívülre az értéket...
Lent látató az eddigi kód bejelölve ahova át akarnám másolni a visszatérési értéket majd újra betenni a funkcióba. Így megoldani a LED ki és bekapcsolását...Végig gondolva az eddig megírt funkciót, ha többször fogom behívni akkor a "previousMillis" értékeket külön-külön kell nyilvántartani, mivel más időintervallumot fogok megadni az egyes ledekhez és így máskor kapja meg majd az aktális Millis értéket.
//---------
//Constans
//---------
const int LED1 = 12;
const int LED2 = 10;
const int LED3 = 8;
const int LED4 = 6;
const int BUTTON1 = 4;
const int BUTTON2 = 2;
//---------
//Variables
//---------
unsigned long previousMillis = 0;
int Button1State = 0;
int Button2State = 0;
int Button1LastState = 0;
int Button2LastState = 0;
int Button1CountState = 0;
int Button2CountState = 0;
bool LedStateResult = LOW;
//-------------------
// Start Initializing
//-------------------
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(BUTTON1, INPUT);
pinMode(BUTTON2, INPUT);
Serial.begin(9600);
}
//--------------------
//Main CODE start here
//--------------------
void loop() {
Button1State = digitalRead(BUTTON1);
unsigned long currentMillis = millis();
//---------------------------------
//Button State Reading and Counting
//---------------------------------
if (Button1State != Button1LastState) {
if(Button1State == HIGH){
Button1CountState = Button1CountState+1;
Serial.println("BUTTON STATE CHANGED");
}
}
Button1LastState = Button1State;
Serial.print("LED Result Main Loop : ");
Serial.println(LedStateResult);
//-----------------------------------------
//State machine according to Button 1 State
//-----------------------------------------
switch (Button1CountState)
{
case 0:
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
Serial.println("CASE0");
break;
case 1:
LedMillis(2000, LED1, currentMillis, LedStateResult);
LedStateResult = LedMillis;
// Serial.print("Millis Function Reuslt: ");
// Serial.println(LedMillis);
Serial.print("LED Result CASE1 : ");
Serial.println(LedStateResult);
//LedMillis(500, LED2, currentMillis, LedStateResult);
// LedMillis(500, LED3, currentMillis, LedStateResult);
Serial.println("CASE1");
break;
case 2:
Serial.println("CASE2");
break;
case 3:
Serial.println("CASE3");
break;
case 4:
Serial.println("CASE4");
break;
case 5:
Serial.println("CASE5");
break;
case 6:
Serial.println("CASE6");
Button1CountState = 0;
break;
}
}//----------
//Function
//-----------
bool LedMillis(long interval, int LEDPin, unsigned long currentMillis, bool ledState){
bool LEDStateResultInternal;
Serial.print("Previous Millis :");
Serial.println(previousMillis);
Serial.print("Current Millis :");
Serial.println(currentMillis);
if (currentMillis - previousMillis >= interval)
{
if(ledState == LOW)
{
ledState = HIGH;
LEDStateResultInternal = ledState;
Serial.print("LED Result LedState High :");
Serial.println(LEDStateResultInternal);
}
else{
ledState = LOW;
LEDStateResultInternal = ledState;
Serial.print("LED Result LedState Low :");
Serial.println(LEDStateResultInternal);
}
previousMillis = currentMillis;
digitalWrite(LEDPin, ledState);
Serial.print("LED Result Final LedState :");
Serial.println(ledState);
}
return LEDStateResultInternal;
} -
hukhl
csendes tag
Bocsánat a szerkesztésért.
Ahogy fentebb írtam. Egy olyan funkciót szeretnék megírni. Ahol paraméterként egy idő intervallumot és egy pin számot kellene megadni. Amivel a pin-hez tartozó LED-et megadot ideig villogtatom. És van egy állapotgép, amit nyomógombbal léptetek. Az egyes állapotokhoz ezt a funkciót hívnám be. Ahol mindig más és más idő intervallmot adnék majd meg. Tudom elég nyakatekert. -
Janos250
őstag
Ezért - is - jobb a párhuzamos programozás.
Tulajdonképpen azt csinálja, amit leírtál, csak el van rejtve.
Amikor el kell indítani egy led villogtatását, elindítom egy külön taskként, ami majd megszűnik, amikor lejár az idő.
Nincs gond az átlapolással, miegymással, a taskok nem zavarják egymást, az op. rendszer elintézi, hogy mind kapjon egy időszeletet, de senkit ne zavarjon.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Alu
senior tag
Direct memory access. Amikor szoftverben felkonfigurálod ezt a módot, akkor megadsz egy tömböt és ő cpu idő nélkül hardveresen beteszi a bejövő adatokat a megadott tömbbe. Ha pedig beérkezett az a mennyiségű byte, amit az elején megadtál, akkor generál egy megszakítást.
λŁƯ™
-
Alu
senior tag
Én is gondoltam erre, de tartottam tőle, hogy a 2. megszakítás kritikusan gyorsan következne és beleszólna a tömb másolásba. No meg akkor a feldolgozást is alaposan át kellett volna gondolni. Végül máshogy oldottam meg. A másik eszköz amúgy egy Nextion kijelző és minden eventnél saját magam határoztam meg, hogy mit küldjön az stm -nek. Minden üzenet fix 16 byteos lett, bár megesik, hogy ebből csak 2 byte hasznos, a többi '0x00'... de legalább egységes és könnyebben tudom kezelni stm oldalon. DMA -t is kukáztam és interruptos megoldást alkalmaztam. Jó fél nap volt, mire rájöttem, hogy mi a különbség az interrupt és a dma kezelés között. Ráadásul dma -nál is annyi mindent be tudsz konfigurálni, mint égen a csillag... Eddig nem tűnt fel, de Arduban hatalmas segítség, hogy a szoftver elég sok mindent lekezel a háttérben. Igaz így a kezed is jobban meg van kötve, de valamit valamiért.
#14080 Janos250: Köszi! Privátban éri őket zaklatni?
[ Szerkesztve ]
λŁƯ™
-
Janos250
őstag
A beta ingyenes. Legalábbis korábban még az volt, remélhetőleg nem változott.
https://support.saleae.com/logic-software/legacy-software/latest-beta-release
A Pulseview-t is dicsérik, de én még csak a Saleae-t használtam.
Ha esetleg igen, akkor vannak korábbi ingyenes verziók.
Én régebben töltöttem le a standalone verziót, azt használom, ha kell.
Mostanában ritkábban kell. Megvan a kisebb és a nagyobb verzió is.
Kettő (vagy három?) éve, mikor a WS2812-höz csináltam drivert az ESP32-re, lehetetlen lett volna enélkül csinálnom. Ezen láttam az időzítéseket, végig tudtam próbálni, ténylegesen mi lehet, és mi nem.
A digitális tárolós szkópot (hú, de rohadt drága volt, pedig a legolcsóbb kínait vettem) azóta gyakorlatilag nem is használom. A múltkor is csak egy kaputelefon panelhoz használtam, ahol a panel úgy jelez a lakáskészülékeknek, hogy a nyugalmi kb. 18 V vonali feszültséget leviszi 15 V-ra. Na, ezt nem tudtam volna szkóp nélkül kimérni, de Arduino dologban gyakorlatilag mindent.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
-
repvez
addikt
Nem minden müködött meg villogtak a ledek csak épp nem tudtam feltölteni rá a programot.
DE rákerestem a hibakodra és ugy látszik, hogy nekem még a régebbi chipbol valo van igy a régi bootlooadert kell használnom, mert a link alapján átálitottam és utána fel tudtam tö9lteni és meg is mozdult a servo -
MrChris
nagyúr
Az volnék, zongihangszerész. Tovább kibontva a feladatot, beállításkor nincs nagy sebesség, sőt kifejezetten nagyon lassan kell működtetni, hogy kiderüljön melyik tompító siet/késik. Az a pillanat számít amikor kb megmozdul. Nem szükséges az összeset, elég lenne ahogy írtam egy tucatot figyelni, ha jól müxik a dolog, lehet, hogy kevesebb is elég.
Hasonlattal leírva, kiraksz az asztalra 6 dobókockát libasorba, egymástól egy ujjnyira, majd oldalról velük párhuzamosan egy vonalzóval egyszerre szeretnéd az összeset megmozdítani. Ha nem használtál segédeszközt a sorba rendezéshez akkor az egyik biztosan hamarabb ér a vonalzóhoz és lesz amelyik utoljára, de valszeg még a vonalzóval is az egyik szélsőhöz hamarább érsz hozzá. Szeretném pontosan kiszűrni melyik volt az első/utolsó, mértéke végül is mindegy.
Csak kettő? -
gyapo11
őstag
Én teljesen máshogy közelíteném a problémát. Nem az a fontos, hogy mechanikailag egyformán mozogjanak a valamik, hanem hogy egyszerre álljon meg a húrok rezgése. Vagyis tennék egy potmétert a pedálra, és egy mikrofont a zongorába. Ezután leütnék egy hangot, esetleg a mikrofont érdemes a húr közelébe tenni, és megnyomnám a pedált, megjegyezném, hogy melyik pedálállásnál hallgatott el a húr, és ezt az összes hangnál meg lehet csinálni, miközben az arduino kiírja, hogy melyik hang mennyivel előbb vagy később hallgatott el, mint az etalonnak kijelölt hang. A menyivel itt nem idő, hanem távolság. Tkp. nincs mértékegység, csak hasonlítás az etalonhoz.
Addig kell állítgatni az éppen mért hangnál a valamit, amíg a különbség 0 lesz, ekkor pontosan egyszerre fognak elhallgatni.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
-
MrChris
nagyúr
Igen az a probléma. Nagyon kicsi a mozgás és a különbség is. Tű... esetleg valamilyen szenzorból kilóghatna egy fémszál, ami feltámaszkodik a tompító tetején és azon keresztül érzékelné annak megmozdulását? Hevenyészett skicc. A két analóg bemenet viszont kevés lenne.
gyapo11: Sajnos hanggal nem lehet vizsgálni, mikor megmozdul még tompít, a tompító filc kb 12mm vastag és nagyon lágy. Elengedni se annyira diszkréten, kapcsolószerűen teszi.
-
nagyúr
Kifutottam a szerkesztési időből.
Mindkét terv előnye, hogy nem kell hozzájuk analóg bemenet, az encoder/optokapu miatt csak egy-egy digitális bemenet kell hozzá, az optokapu ugyanis digitális jelet ad.
A második terv előnye, hogy felnagyítja a mozgást, tehát kisebb mozgásra is reagál, de talán ez hátrány is lehet, ha túl érzékeny lesz a szerkezet. -
-
repvez
addikt
köszi, mondjuk azért jövök ide mert gondoltam vannak olyan emberek akik nálam jobban értenek a dolgokhoz esetleg már használták is a szobanforgó elemeket.
És talán nem kell minden buktatón ujra végigmennem . Az ellenállással kapcsolatban ,meg csak annyit, hogy jelenleg nincs egy darab semmilyen mérető és tipusu ellenállásom sem. a paneljaim vannak meg vezeték enyni, nincs fészer elfekvő alkatrészekkel, meg ellenállásokkal diodákkal.
És bárhol kerestem az alábbi modullokkal kapcsolatban tutorokat és kapcsolást sehol nem tettek az áramkörbe és nem említettek ilyet. Csak itt mondtátok hogy kell.
És ahogy te is irtad, lehet , hogy a panel már alapbol tartalmaz ilyet ezért nem kell.Igen ha sok modult akarok felfüzni egymás után akkor kell, de ha csak egyet akarok probálgatni ahogy a linkeken is találtam akkor ugy gondoltam, hogy nem olyan fontos.
És ha arra vetted a fáradságot hogy annak utána keress, hogy hánysor szerepelt az ellenállás a topicban akkor gondolom arra is figyelmes voltál,
Hogy azt is leirtam, hogy semmilyen kapcsolatom nincs elektromos áramkörökkel. most probálgatom, hogy mit hogyan .A programozással meg még annyi sem.
És mint ilyen akkor hadd legyek már egy kicsit értetlen ha a neten mindenhol azt látom, hogy nem kell semmi más, csak itt mondják, hogy anélkül nem megy.De ha esetleg nehezedre esik , akkor nem kell segiteni, majd talán valaki más fog.
-
nagyúr
Mozgásérzékelő szenzornak én infra ledet és tsop1838-at javasolnék, optokapuként, a lyukak átellenes oldalára szerelve. Az infra led jelét 38kHz-el modulálva a szenzor napfényben is használható lesz, igazából csak PWM meghajtás kell a ledeknek és egyszerű digitális bemenetként lehet a tsop jelét olvasni. Bár abban nem vagyok 100%-ig biztos, hogy elég gyors lenne-e a feladatra.
-
Rivaul
addikt
Elsőre a lidl parkside akkuk jutottak eszembe ahogy említetted hogy akkus is lehetne. Mobilisabb is lenne nem kellene figyelnem rájuk az áram miatt. Azok viszonylag olcsóak de nagy teljesítményűek. Eddig amúgy a Te verziód felé húz a szívem a sokodalúsága miatt.
Eladó egy zöld kaméleon….Nem,sárga! Inkább piros! Most barna….Ez k**va jó!…… NEM ELADÓ!!!
-
And
veterán
"[..] csak PWM meghajtás kell a ledeknek és egyszerű digitális bemenetként lehet a tsop jelét olvasni."
(Sajnos ez nem ennyire egyszerű: a TSOP-sorozat IR-távkapcsolókhoz való, nem szereti a folyamatos vivőt. Kifejezetten szükséges, hogy apró 'csomagokat' vegyen, közöttük meghatározott minimum hosszúságú szünetekkel, hogy az AGC megfelelően állítsa be az érzékenységet. Bármilyen frekvenciájú folyamatos vivőt - mint zavarjelet - a folyamatos fényhez hasonlóan igyekszik elnyomni.)
Mod: léteznek egyébként a TSOP-khoz hasonló megjelenésű közelítésérzékelők is TSSP-típusjellel, inkább azok valók ilyen célra: [link].[ Szerkesztve ]
-
gyapo11
őstag
12 V-os ledszalag elmegy 3 celláról direktben. Felsőmaróval marnék egy árkot a lyukak köré és abba süllyeszteném a szalagot, hogy a ledekre közvetlenül rá lehessen látni, napsütésben máshogy nem lennének láthatók. Az árok meg megvédi a labdától.
Szenzornak eszembe jutott még az ultrahang. 2-400 centi között mér, fény nem zavarja, a labda csattanásai sem. A mérés gyakoriságát és sebességét kellene megtudni, hogy alkalmas-e egy csont nélkül átszáguldó labda érzékelésére.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
-
And
veterán
Ez, ahogy az adatlapja is említi, a TSSP-sorozat egyik (mára kifutott) elődje. Ennek megfelelően nincs benne AGC sem. Ezt a szerepkört teljesen átvették a TSSP-k. Mellesleg a TSOP1838 is kifutott hivatalosan, ha jól látom, a helyette a TSOP22xx, -24xx, -44xx, -48xx jelűek vannak manapság.
"A TSSP sorozatot nem ismerem egyáltalán, tudsz konkrét darabot javasolni?"
Valamelyik relatív kis érzékelési távolságú és gyors típussal próbálnám a linkelt táblázat alapján. Sajnos olyan kivitel nincs, amelyiknél a tokba lenne integrálva az IR-sugárzó is (pedig némelyik tokozás /Heimdall/ úgy néz ki, csakhogy az megtévesztő, mert az is csak receivert tartalmaz). -
Dißnäëß
veterán
Ha hiszed, ha nem, pont a szuperkondira gondoltam én is A powerbankom az elôzô munkahelyemtôl kapott ilyen reklámvalami, lapos, de kiváló, és olyan, amit Te is írsz: középen microUSB-n tölthetô, két szélén pedig 1-1 USB-A port, egyik 1 amperes, másik 2.
Ezek a hat-ek is nagyon jók.
Szerintem meg tudnám oldani a logikát magával a Pi-vel vagy egy külön mikrokontrollerrel, hogy pl. 2 órahosszáig egy relével vegye el az áramot a Powerbanktól, 3 órahosszáig meg adja rá. Vagy ha ügyes vagyok, megoldani azt, hogy kb. 2/3 töltés közelben legyen a powerbank, amit bár mérni nem tudok (hacsak meg nem moddolom), de az idôkbôl, megfigyelés alapon ki tudok silabizálni valahogy, aztán ezt évente csekkolom, ahogy az akksi változik lassan.
Mondjuk ennyi erôvel vehetnék egy pucér akksit is akár, meg supercap, meg minden, és akkor saját magát elmenedzselgeti a Pi.. Na ez nem is rossz kis hobbiprojekt ötlet amúgy.. 🤷👍🤭
Kössi a tippeket, linket, beleásom magam az ünnepek alatt.
POKE 16017,44 ..... SYS 2077
-
gyapo11
őstag
Színes, de rgb. Úgy értelmeztem a feladat leírásban, hogy változik a szín de nem szükséges ledenként, hanem a lyuk körül egységes lesz a szín. De persze lehet pulzáltatni, színeket váltogatni is, szóval a 3 színen kívül azért még van lehetőség a kijelzést variálni. 3 pwm kimenetre a 3 szín és hajrá.
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
Nem tudom árban milyen viszonyban vannak ezek a ledszalagok, esetleg lyukanként egy nano, ami vezérli a szalagot, és egy központi arduino küldözgeti a parancsokat rs232-őn. 1-2 $ között szoktam látni akcióban nanot. Ebayen most 1.5 $ free shippinggel, alin is van 2 $ alatt. Voltak itt problémák a ws2812-vel, vagy János250-et kell megkérni, neki hibátlanul megy.
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