- Apple asztali gépek
- Melyik tápegységet vegyem?
- OLED TV topic
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Nvidia GPU-k jövője - amit tudni vélünk
- HDMI topic
- Szünetmentes tápegységek (UPS)
- ZIDOO médialejátszók
- Teljesen az AI-ra fókuszál az új AMD Instinct sorozat
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
-
PROHARDVER!
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
Scooter86101 #13313 üzenetére
-
válasz
Scooter86101 #13309 üzenetére
Teljesen kizárt.
Ezt magadnak kell megoldanod.
-
Nem.
Ezt írtad:
"A weller páka 20 fokon ~22 ohm, és 350 fokon ~50 ohm."
...
" a forrasztópáka ellenállását mérném"Ha külön van rajta PTC, akkor a módszer minden további nélkül működhet, de vedd figyelembe, hogy ha az ellenállásosztó másik tagjának túl kicsi értéket választasz, nagy áram fog keresztülfolyni a PTC-n, amitől melegedni fog. Bár ez 350 fokon nem tudom mekkora hibát okozhat.
-
válasz
Scooter86101 #13302 üzenetére
Ha minden igaz ennek működnie kell. Tesztelni nem tudtam, mert nincs nálam a hardver.
#include <TM1638.h>
TM1638 module(9, 8, 7);
byte display[8];
char cadena[20];
int alarma,contador,time1;
#define MILED 13
#define PIN_SOUND 12
//#define RETRASO 597
#define RETRASO 97
char fcontador;
void setup()
{
pinMode(MILED, OUTPUT);
pinMode(PIN_SOUND, OUTPUT);
digitalWrite(MILED, LOW);
module.setupDisplay(1,7);
module.setDisplayToString("L.u.L.u.",0,0);
delay(1500);
module.setDisplayToString("--------",0,0);
display[2]=0;
alarma=60;
}
void loop()
{
byte keys;
int z;
keys = module.getButtons();
switch(keys)
{
case 1:
if(fcontador==0)
{display[0]++; if(display[0]>2) display[0]=0;}
break;
case 2:
if(fcontador==0)
{display[1]++; if(display[1]>9) display[1]=0;}
break;
case 4:
if(fcontador==0)
{display[2]++; if(display[2]>5) display[2]=0;}
break;
case 8:
if(fcontador==0)
{display[3]++; if(display[3]>9) display[3]=0;}
break;
case 16:
fcontador=0;
contador=alarma;
digitalWrite(MILED, LOW);
module.setLEDs(16);
break;
case 128:
time1=RETRASO;
fcontador=1;
contador=alarma;
digitalWrite(MILED, LOW);
module.setLEDs(128);
break;
}
if(fcontador==0 && keys>0)
{
alarma=display[0]*600+display[1]*60+display[2]*10+display[3];
//sprintf(cadena,"%04d%04d",alarma,contador);
sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
module.setDisplayToString(cadena,0,0);
delay(200);
}
time1--;
// {if(display[2]>5) display[2]=0;}
if(fcontador==1 && time1<=0)
{
module.setLEDs(0);
time1=RETRASO;
contador--;
//sprintf(cadena,"%04d%04d",alarma,contador);
sprintf(cadena, "%01d%01d%01d%01d%01d%01d%01d%01d", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10 , contador/600, (contador/60)%10, (contador%60)/10, contador%10);
module.setDisplayToString(cadena,0,0);
if(contador<1)
{
fcontador=0;
for(z=0;z<10;z++)
{
//sprintf(cadena,"%04d0000",alarma);
sprintf(cadena, "%01d%01d%01d%01d0000", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
delay(500);
//sprintf(cadena,"%04d ",alarma);
sprintf(cadena, "%01d%01d%01d%01d ", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
delay(500);
}
//sprintf(cadena,"%04d----",alarma);
sprintf(cadena, "%01d%01d%01d%01d----", alarma/600, (alarma/60)%10, (alarma%60)/10, alarma%10);
module.setDisplayToString(cadena,0,0);
digitalWrite(MILED,HIGH);
for(z=0;z<300;z++)
{
digitalWrite(PIN_SOUND, HIGH);
delay(10);
digitalWrite(PIN_SOUND, LOW);
delay(10);
}
}
}
delay(1);
} -
válasz
gyapo11 #13292 üzenetére
"De vannak ilyen cmos ic-k, régen sok erősítőbe, előerősítőbe tettek ilyet, hogy ne a puruttya yaxley legyen a bemenetválasztó."
Most csak a kiegészítő elektronika nélküli lehetőségeket mondtam.
"I2c-ről nem régen volt szó, hogy ha a libraryban nincs lekezelve, akkor akár az egész program futását meg tudja állítani egy hibás szenzor."
Hát ezen sajnos az sem segít, ha több lábra vannak elosztva a szenzorok.
-
válasz
Scooter86101 #13296 üzenetére
Tudom, percben adod meg és másodpercben írja ki. De legalább nem ír hülyeséget.
Most van időm, megnézem rendesen. -
válasz
Scooter86101 #13289 üzenetére
Ezt Te már módosítottad? Az idő beállítás részben már át van írva perc/másodpercre, csak a többi rész nincs hozzá igazítva.
Most épp telefonról vagyok, a leggyorsabb módosítás amit innen tudok javasolni ez lenne:
A 68. sort írd át erre:alarma=display[0]*600+display[1]*60+display[2]*10+display[3];
Akkor perc/másodpercben adod meg az időt, de másodpercben fog visszaszámlálni.
-
válasz
Dißnäëß #13286 üzenetére
"Például 3-4 hőmérséklet szenzort 1 digi bemenetre, 3-4 másikfajtát másik digi bemenetre...
Vagy ha analóg szenzoroznék, I2C ?"
Egy szenzor vagy analóg, amit nem tudsz multiplexelni, vagy digitális, i²c vagy SPI, ezt értelemszerűen multiplexelni kell, mert erre találták ki. Az uno/nano lapokon tudtommal 1db hardveres i²c és 1db hardveres SPI van, ha többet szeretnél, vagy más lap kell, ami többet tud, vagy szoftveresen kell megoldani, ami vagy működik, vagy nem.
"mi történik, ha egy szenzor meghibásodik."
Szerintem az i²c szenzorok egyszerűen nem válaszolnak többet, de saját tapasztalatom nincs róla. Nem hinném, hogy az egész buszt magukkal rántanák, persze most nem villámcsapásról beszélek, vagy hogy a kutya elrágja a drótot és rövidzárlatot csinál.
"Mivel csinálnátok ? (Wifi, BLE, egyéb rádió kizárt, optikai rálátás nincs, szintén kizárt)."
Ez esetben természetesen vezetékkel. Jól leszűkítetted a lehetőségeket.
Ha nagyobb távolságot kell áthidalni, vmilyen csavart érpáros vezeték, pl a hobbi elektronika topikban láttam ezt a megoldást UTP kábelre, vagy mostanában többször olvastam az rs485-ről, de ez külön hardvert igényel.
-
válasz
Gergosz2 #13283 üzenetére
Gondolom a LED csak egy példa volt, az igazi feladat a nano-tömb belső kommunikációja lenne. Na nem mintha el tudnék képzelni olyan feladatot, amit ilyen hardverrel kéne megoldani, de maga a feladat érdekes.
Annyira, hogy ezt a 1wire megoldást, amit fent leírtam, ki is fogom próbálni néhány attiny μC-el, ha lesz rá időm, mert lehet, hogy gyakorlati haszna is lesz valamelyik projektemben. -
válasz
gyapo11 #13282 üzenetére
Ha a vezérlő egy, a TX lábon keresztül vezérelt H-bridge-en keresztül látná el a többi lapot táppal, a vezérelt lapok Vcc lába előtt pedig egy dióda + puffer kondenzátor lenne, a tápvonalat közvetlenül az RX lábukra kötve sima serial kommunikációval lehetne a tápvonalon keresztül kommunikálni velük. Jól gondolom?
-
válasz
zsolti_20 #13276 üzenetére
NRF modulokkal? Többe kerülne a leves, mint a hús. Szerintem nem is működne ennyi rádióadó ilyen kis távolságban. De ha lenne is értelme a vezeték nélküli összeköttetésnek, akkor ott lenne még az 50 külön táp problémája.
Bár jobban meggondolva nem írtad, hogy a sorok/oszlopok közt milyen távolság lenne. Szóval adj több információt. -
válasz
zsolti_20 #13274 üzenetére
Ha van 50 felesleges nano-d, abból eggyel simán meg lehet oldani ezt a feladatot, a többi 49-et pedig nekem adnám.
Kell keresni egy szabványos kommunikációs csatornát, amire 50 node-ot rá lehet akasztani. Például az i²c-hez gyárilag hardveres támogatás van a nano-ban. Az elsőt kinevezem master-nek, a többit pedig slave-nek, mindegyik kap saját azonosítót, aztán a master irányítja az egész folyamatot.
Ha kell, tudok ettől bonyolultabb megoldást is kitalálni, de ahhoz idő kell.
-
válasz
Scooter86101 #13271 üzenetére
Szia! Én szívesen segítek benne, ha tudok, feltéve, hogy nem fizetsz érte, mert az hirdetésnek minősülne, ami ugyebár a szakmai topikokban tiltott...
-
válasz
Janos250 #13254 üzenetére
A TCP szerintem nem is való ilyen folyamatos kapcsolatra, bár nem megoldhatatlan, én régen csináltam push szerverhez hasonló folyamatos kapcsolatot PHP-val, böngésző felé, úgy emlékszem mobilneten keresztül is működött órákon keresztül. Én eleve azt hittem, hogy weblapot küldesz. Talán egy "Connection: keep-alive" header-ön múlik az egész, vagy a küldő oldalon egy buffer flushing beállításon, ezeket nézd meg a küldő oldalnál, hogy van-e ezekre beállítás a library-ban.
Weblap törzsben bináris adat küldésére a legegyszerűbb a base64 encoding. -
válasz
Janos250 #13251 üzenetére
Ja, azt hittem valami php/szerver oldali script/apache szerver a küldő.
Én akkor is a küldő oldalt nézném át először, a client class-ban milyen timeout, buffer méretek vannak megadva.
Olyat próbáltál már, hogy nem csak másodpercenként küldesz adatot, hanem a kettő közt folyamatosan néhány byte-os dummy adatcsomagokat küldesz megszakítás nélkül? A másodpercenkénti adatküldés holtbiztosan bekövetkezik mindig, nincs olyan, hogy kimarad egy-egy csomag és olyankor szakad meg a kapcsolat? -
válasz
Janos250 #13245 üzenetére
Ehhez jó lenne tudni azt is, hogy hogyan épül fel a kommunikáció, milyen weboldalt vagy mit szeretnél folyamatosan elérni, mert az a gyanúm, hogy nem az ESP oldalán van a difi, hanem a kapcsolat nem jól van felépítve (pl http fejlécek).
Ha gondolod írj privit, elég sokféle webes applikációt írtam már, hátha meglátom a hibát. -
válasz
repvez #13236 üzenetére
Én arra gondoltam, hogy annyira nem vagy jártas sem a programozásban, sem az elektronikában, hogy nem tudod felmérni, hogy azzal a módszerrel, amivel szeretnéd, nem fogod tudni ezeket megtanulni. Ez egyszerűen nem így működik. De igazad van, nem volt jó példa.
A programozás részét akár le is tudhatnád egy Blockly/Scratch/MIT App inventor (Android) típusú grafikus (kockatologatós) programozó környezetben, ott van ez, hogy egymásba kell tolni a kockákat, némi angol tudás mellett egyszerűen lehet benne működő programokat készíteni. Biztos, hogy mérnök tervezte ezeket, mert nem az én gondolkodásomnak való, talán Neked pont ezért lesz szimpatikus.
Az elektronika résznél elég jól el lehet igazodni a breakout board-okon, mert a pin-ek fölött mindig felirat mutatja, hogy VCC, GND, MOSI, MISO, CLK, DIN stb, igazából ezt sem lehet elrontani, ha az ember történetesen nem diszlexiás.
-
válasz
repvez #13230 üzenetére
Szép terv.
Az az igazság, hogy - ne sértődj meg - némi Dunning-Kruger hatást érzek a nyilatkozataid mögött.
Mielőtt futóversenyen akarsz indulni, előbb tanulj meg járni.
Én 3 éve arduino-zom, és van mögöttem 17+ évnyi programozói gyakorlat, de én nem mernék egy ilyen projektbe vágni saját kútfőből. Viszont mivel tudom, hogy a legtöbb problémát már megoldotta más, valamint nagyon sok kész kódot/projektet tanulmányoztam, átolvastam pár adatlapot elejétől a végéig és vissza, rengeteg saját tapasztalatom van, hogy mi mivel tud összeakadni és ennek mi lehet az oka, hogyan lehet orvosolni, tudom, hogy meg tudnám csinálni.
De hogy gépész analógiánál maradjunk: képzeld el, hogy azzal jövök hozzád, hogy megvettem az alkatrészeket, hogy összerakjak egy autót otthon a kertben, de még soha nem láttam csavart meg villáskulcsot, fogalmam sincs a mechanikai kötésekről, se a belső égésű motorok működéséről. Te mit javasolnál? Kezdjek Scrap Mechanic-ozni?
A drón projekt esetében - mivel már tudod, mi az az i²c - nézz utána, hogy hogyan kell több eszközt egy buszra kötni.
Rendeld be az olcsóbb alkatrészeket, egy 9axis gyro nem hiszem, hogy 5$-nál drágább. A távolságmérő, légnyomásmérő + egy humidity+temperature modullal együtt nagyon max 20$. Teszteld le külön-külön mindet, aztán rakj össze kettőt, majd hármat. Ha az olcsóbb alkatrészeket kitapasztaltad, jöhetnek a drágábbak, ezeket is egyesével próbáld ki. Mire idáig eljutsz, garantálom, hogy összeszedsz annyi tudást, hogy a folytatás nem fog gondot okozni. -
válasz
repvez #13224 üzenetére
Hát hol is kezdjem... Ezzel a hozzáállással továbbra is csak egy helyben fogsz toporogni.
"lehet hogy megtanulok könyvből 10 funkciot, de a problémámra csak 5re van szükség, de 2-t pont nem tartalmaz az a 10 amit már tudok."
Ha megtanulsz 10 funkciót, abból lehet, hogy csak 5-öt fogsz felhasználni, viszont legközelebb egy másik feladat megoldásakor eszedbe fog jutni, hogy "mintha lenne erre egy függvény, melyik is az?" Eklatáns példa: kovalens kötés.
Az általános iskolai tananyagban a rengeteg különböző, látszólag felesleges ismeret az általános műveltség része, a látókörödet bővíti. Remélem ezt nem kell magyarázni. Ugyanígy van ez a többi 5 függvénnyel.
"szóval addig míg nem tudok mindent addig jobban koncentrálnék arra ami épp kell .Csak az a másik, hogy azt se tudom mikor mi kell"
Erre az egyetlen megoldás: elkészült, működő kódokat nézni!!!
Példa: szeretnél egy LCD kijelzőt. Kiválasztasz egy Neked tetsző típust. Megnézed, hogy van-e hozzá library. Letöltöd, megnézed az "examples" könyvtár tartalmát. Ott lesz pár működő példakód, amit egy-az-egyben lefordítva működő programod lesz. Megnézed, mi van a kódban, rákeresel az összes benne lévő függvényre az https://www.arduino.cc oldalon, így csak azokat fogod megtanulni, amik éppen Neked kellenek.
Utána módosítod a kódot az igényednek megfelelően. -
válasz
gyapo11 #13222 üzenetére
Dennis M. Ritchie C könyvét ismerem (nekem is megvan) és egyáltalán nem csodálkozom, hogy nem értetted.
Én C64-en kezdtem BASIC-ben, még a 90-es évek elején. Az alapokat azzal tanultam, de sokan mondják a Pascal-t is, mint jó kezdő nyelv, az nekem kimaradt. Később C64 assembly-ban is próbálkoztam, ami nagyon jól jött nemrég, amikor egy Attiny12-t programoztam assembly-ban. -
válasz
repvez #13220 üzenetére
Nézd, úgy látom, hogy Te szeretnéd megúszni a tanulással járó kudarcokat, valamint szeretnél úgy tudni programozni, hogy nem akarsz megtanulni programozni. Ez nem fog összejönni.
"mi van ha többet kell egyszerre rákötni és elfogy a szabad láb vagy ugyan arra a lábra kellene több egységet is tenni?"
Ezért kell megtanulni az alapokat, ahogy fentebb írtam, a ki-bemenetek kezelését. Erre a Tinkercad is alkalmas, ha mindenképp emulátorozni szeretnél.
Én személy szerint teljesen autodidakta módon tanultam meg programozni, internetes példakódok, online dokumentáció és egy barátom segítségével. Én PHP-val kezdtem, ami sokkal, de sokkal egyszerűbb, mint a C++, mert script nyelv, a világ tele van példakóddal, magyar nyelvű tutoriallal, dokumentációval, mi lenne, ha Te is ezzel kezdenél? A PHP-val gyors sikerélményeket tudsz szerezni, a szintaxisa hasonló, és ha magát a programozói gondolkodást sikerül magadévá tenni, már egyszerűbb dolgod lenne az arduino-val is.
Én nagyon szívesen segítek, ha kérdésed van, akár itt, akár privátban is, de engedd el ezt az emulátor dolgot. Hidd el: az építés se drága, se nehéz nem lesz, szinte minden szenzor breakout board-ra szerelve kapható, forrasztani sem kell, annyi a dolgod, hogy összekötöd a megfelelő lábakat jumper kábellel."először virtuálisan próbálnám meg megcsinálni azt amit akarok, mert ott egyből kiderül ,ha valami nem működik."
Ezt például itt a topikban is ki tudod deríteni, mert ha leírod/lerajzolod a terveidet, megnézzük, és szólunk, ha nem fog működni.
A pro micro joystick jó tanuló projektnek tűnik, azt írtad van hozzá leírás és kód is. Próbáld meg a programot módosítgatni.
-
válasz
repvez #13218 üzenetére
Úgy érzem ez a rókafogta csuka esete: nem mersz a hardverekkel kísérletezni, mert nem tudsz programozni, illetve nem tudsz elkezdeni programozni, mert nem tudod, mit kezdj a hardverekkel.
Valahol meg kell törni ezt az ördögi kört. Én a programozás részénél fognám meg a dolgot, ugyanis egy programról könnyen el lehet dönteni, hogy sikerült, vagy nem, mert már a fordító szól, ha elrontottál valamit.
Kezdetnek olvasgass arduino és C tutorial-okat, ismerkedj meg az alapokkal. Szerezz pár ledet, ellenállást és nyomógombokat, és kezdj velük játszani. A ledvillogtatás az arduino "hello world"-je. Ha mennek a digitális inputok és outputok, akkor fogj egy potmétert, és olvass be analóg bemenetet. Ezzel az arduino lehetőségeinek a 70%-át fel is fedezted. Minden további külső periféria kezelése ezeken alapul. -
válasz
repvez #13211 üzenetére
Valahol javasolták a Tina nevű szoftvert, ezt még nem próbáltam, de analóg áramköröket lehet vele tesztelni.
Igazából nem értem, hogy mit szeretnél/mitől tartasz. Amikor egy szenzort postaköltséggel együtt megveszel mondjuk az Aliról 2$-ért, nincs miről beszélni.
Balesetek előfordulnak, én is sütöttem már meg alkatrészeket, mert elnéztem a lábkiosztását, de ez ellen pont nem véd semmilyen emulátor: ehhez odafigyelés és gyakorlat kell. Át kell olvasni az adatlapokat figyelmesen, megépített és tesztelt kapcsolásokat keresni a neten (ebből rengeteget fogsz találni fotóval, példakóddal), és ha valami nem világos, kérdezz! Elég sok tapasztalt hobbista gyűlt össze ebben a topikban ahhoz, hogy egy általad használni kívánt alkatrésszel kapcsolatban akadjon valaki, akinek van gyakorlati tapasztalata, esetleg tud jobbat javasolni helyette.Kérdezted, hogy "hogy érdemes elkezdeni az arduinoba való programozás dolgokat meg a fejlesztést?"
Először is ne céltalanul kísérletezz, döntsd el, hogy mit szeretnél építeni. Pro micro-ból nagyon jó dolgokat lehet csinálni, mert számítógépre kötve tud USB HID eszközöket emulálni (egér, billentyűzet, joystick/gamepad, midi vezérlő). Keress már megvalósított projekteket, onnan megtudod milyen alkatrészekre lehet szükséged, rendeld meg és játssz vele, tapasztald ki, hogy mik a határai, mi másra lehet még használni. Nálam általában egyik projekt szüli a másikat, mert menet közben eszembe jut, hogy ezt a cuccot másra is lehet használni. Aztán van egy csomó alkatrészem, amit csak úgy rendeltem, hogy valamire csak jó lesz.Van pl egy robot porszívóm, csak minden alkatrész külön dobozban van, össze kéne végre rakni.
Nézd meg ezt a két pdf-et, hátha segít, ötletet kapsz belőle:
[link]
[link] -
válasz
repvez #13209 üzenetére
Szia!
Én csak a tinkercad.com-ot ismerem, azt írtad is. Igazából a legtöbb kiegészítő filléres eszköz, érdemes inkább beszerezni, és úgy próbálgatni.
Amiből korlátlan mennyiségre lesz szükséged, az a jumper kábel, minden változatban, esetleg breadboard, bár én azt nem szoktam használni, mert amikor prototípust építek, vagy légszerelek, vagy próbanyákot használok. -
válasz
Janos250 #13202 üzenetére
Köszi a választ!
A verzió: van tippem.De tudod, hogy én meg mazochista vagyok, úgyhogy eldöntöttem, hogy attiny85 lesz, punktum.
B verzió: nem elég kidolgozott, mi van, ha nyomva tartott gomb mellett küldöm ki a PWM-et? Rövidzárlat.
Nekem van egy elképzelésem, csak nem akartam leírni, hogy ne befolyásoljam az ötletelést. Viszont azt nem írtam le, hogy a 3 féle funkció milyen viszonyban áll egymással.A gombnyomás következménye a fény és a hang. Néha lesz fény és hang gombnyomás nélkül is.
Az én elképzelésem szerint az alap beállítás az input, belső pullup-al. A gomb sorba kötve egy mondjuk 1000Ω ellenállással, az se a PWM-et, se a LED-et nem befolyásolja különösebben. A LED a +5V és a kimenet közé, fix LOW output-ra erősen világít, a PWM-re villog, de ez nem kimondottan okoz problémát, mert a kettő általában együtt fog működni. Folyamatos LOW output-ra és a gomb megnyomására a hangszóró elvileg egy kattanással fog reagálni, de a DC jel leválasztása érdekében lesz előtte egy felüláteresztő szűrő.
Ettől keresnék jobb ötleteket! -
Egy kérdés: ha egyetlen pinnel kellene 3 különböző feladatot megoldani:
- 1db nyomógomb állapotának beolvasása
- 1db LED villogtatása
- 1db PWM kimenet, ami hang kimenet, hangszóró (erősítő) feléTi hogy csinálnátok?
-
válasz
atesss #13191 üzenetére
Én ezt egy tetszőleges AVR-rel és a benne lévő analóg bemenetekkel, illetve komparátorokkal oldanám meg. Akár úgy, hogy méred a világítás idejét, és ha sokáig nem alszik ki a led, akkor ERR lépett fel. Itt nem kell vizsgálni, hogy két szegmens világít. Tovább megyek, ezt egy aluláteresztő szűrővel és egy schmitt-triggerrel is meg lehetne csinálni, μC nélkül. Ez egyúttal kiiktatja a multiplexelés problémáját is.
Bocs, ez nem volt válasz a kérdésedre, csak ötleteltem. -
válasz
csongi #13171 üzenetére
Nem jó a link.
A kolléga arra utalt, hogy UNO helyett érdemesebb csak egy ESP-re építeni az egész rendszert, ahogy írta, egy ESP8266 alapú Sonoff vagy valamilyen Wemos/Lolin/NodeMCU jobb erre a célra, vagy ESP32, ha több kimenetre / nagyobb számítási teljesítményre van szükséged.
Arduino UNO+WIFI összeállításra akkor lehet szükség, ha önmagában kevés az ESP8266 kimenete, vagy sok analóg bemenetre van szükséged, de egy ESP32 ma már minden szempontból agyonveri. -
válasz
Drótszamár #13159 üzenetére
A hardveres reset gomb megnyomása hosszabb ideig tart, mint a szoftveres reset, mert aránylag sokáig nyomva marad a gomb. Esetleg az is lehet, hogy a hardveres reset alatt a kimenetek hi-z állapotba kerülnek, a szoftveres reset alatt pedig talán nem. Próbáld ki, hogy a setup-ban minden lábat bemenetre állítasz pullup nélkül, és utána teszel egy delay-t.
-
válasz
Drótszamár #13155 üzenetére
Ha az i²c okozza a problémát, akkor szerintem nem fog segíteni a hardveres reset sem! Az i²c szenzort is kellene ilyenkor resetelni, illetve ha nincs rajta külön reset lehetőség, akkor próbáld meg a tápellátását megszakítani, pl. fet-tel. Szerintem a szoftveres reset azért hatástalan, mert a WD a μC-t hiába reseteli, a rákötött eszköz utána sem kommunikál.
-
válasz
Dißnäëß #13149 üzenetére
Az Ohm törvényt értem... Nekem az nem világos, hogy mi garantálja nálad azt, hogy 20mA fog folyni a két sorba kötött alkatrészen és nem 50mA? Nem ismerem a kijelző szegmenseinek a saját ellenállását. Ha az - tegyük fel - 0Ω, akkor 50mA fog rajta folyni. Érted, mire gondolok?
-
válasz
Dißnäëß #13135 üzenetére
Nem néztem utána, hogy ez hogy működik, de közvetlenül nemigen köthetsz egyet sem egy UNO-ra például, mert ugyan portonként 20mA-rel lehet terhelni, de az össz terhelés nem mehet 80mA fölé.
Egyébként nézd meg ezt az oldalt, talán itt jobban kapsz választ! Én led driver helyett mpc23017 port sokszorozót használnék hozzá, az pont 16 port, és a terhelést is bírni fogja. Van hozzá library. Az arduino-ról pedig csak 2 portot fog elfogyasztani az i²c miatt.
-
válasz
XP NINJA #13123 üzenetére
Szia! Én első körben megpróbálnám a szenzort 3,3V-ról megtáplálni, ha szerencséd van, működni fog.
Úgy tudom egyébként, hogy az ESP32 ADC-je elég vacak, talán megérné egy külső 5V-os ADC-t beiktatni, i2c-n keresztül, azt pedig jó eséllyel tudod külön illesztés nélkül az ESP-re kötni oly módon, hogy az i2c busz felhúzó ellenállásait az ESP 3,3V-ra húzod fel. -
válasz
Directors #13102 üzenetére
Hiányzik valami a sor elején, legalábbis az indent erre utal, szerintem véletlenül töröltél pár karaktert. Honnan szedted a programot?
Próbáld meg, hogy az "initdata" elé odaírod, hogy "matrix."matrix.initdata();
De ez csak egy gyors tipp.És legközelebb légyszives illeszd be kódot például ide, és linkeld, hogy lássuk, mert így csak sötétben tapogatózunk.
-
válasz
Atesz.d #13078 üzenetére
Nem. Első indítás előtt csinálni kell egy "portable" nevű mappát az arduino könyvtárban, onnantól kezdve oda pakol mindent a user/appdata könyvtár helyett. Így lesz portable.
Mondjuk azt van értem, hogy miért nem tud feldobni egy dialógus ablakot telepítés előtt, hogy mindenki értesüljön erről a lehetőségről, én is itt hallottam róla először, hogy van ilyen.Tényleg kéne már csinálni egy összefoglalót a topiknak.
-
válasz
Atesz.d #13075 üzenetére
Ezért van nálam az arduino ide portable módban. Hátránya, hogy több helyet foglal, ha több verzió is fent van párhuzamosan, mert az összes kiegészítőt minden verzióhoz külön le kell tölteni (és a legújabbat még le se töltöttem). Előnye, hogy több verziót is lehet használni.
-
válasz
Janos250 #13068 üzenetére
Természetesen csak vicceltem.
Minden feladatot próbálok a legkevesebb alkatrészből, a legminimálisabb hardver felhasználásával megoldani, azért gondolkodom mindig célhardverben. Az AVR-eket meg azért szeretem annyira, mert lenyűgözően egyszerű és átgondolt a működésük, és szeretem, hogy nagyjából mindent értek, ami bennük zajlik. Mint régen a C64.
A másik, hogy szeretek hackerkedni, élvezem, ha egy adott hardverből a lehető legtöbbet tudom kihozni.Az ESP32 mindent (is) tud, azzal nem kihívás bármit elkészíteni.
-
válasz
gyapo11 #13063 üzenetére
Egy tetszőleges attiny vagy 555 ic is pont megfelelő lenne a feladatra, csak az az egy probléma, hogy a tsop nem alkalmas folyamatos jelfogadásra, ezáltal optokapunak sem! Az adatlapja (ez éppen a tsop31238 adatlapján olvasható, mert az volt épp kéznél) szerint
"• Burst length should be 10 cycles/burst or longer.
• After each burst which is between 10 cycles and 70
cycles a gap time of at least 14 cycles is necessary.
• For each burst which is longer than 1.8 ms a corre-
sponding gap time is necessary at some time in the
data stream. This gap time should be at least 4 times
longer than the burst.
• Up to 800 short bursts per second can be received
continuously.
"Egyébként egy attiny85 + cr2032 elem + IR LED + ellenállás kombó távolságtól függően teljesen jól ellátná a feladatát, de csak ha nem kell nagy sebességű mozgást érzékelni.
-
Én a lencsés módszerrel, közvetlenül uC lábról (kb. 20 mA) hajtva simán átvittem a 10 métert. Kísérleteztem vele sokat, és próbáltam 1A csúcsárammal is meghajtani, de alig befolyásolta a hatótávot. Ami igazán segít, az a lencsés fókuszálás.
A tsop sorozattal rengeteget játszottam, és én pont azt tapasztaltam, hogy a várttal ellentétben 10kHz-70kHz-ig szinte minden frekvencián vesz, kivéve egy-egy keskenyebb sávot, ha jól emlékszem 25kHz és 50kHz környékén. És 20-25% körüli kitöltési tényezőnél a legjobb az átvitel, erre sem találtam magyarázatot, hogy miért nem 50% a legoptimálisabb.
-
válasz
atesss #13053 üzenetére
A lézerdióda ... ne legyen veszélyes a szemre (plusz gyerekek is vannak). Illetve ha komolyabban látszik, az sem szerencsés.
Kizártnak tartom, hogy a lézerfénybe csúszás közben bele tudjon nézni bárki elég ideig ahhoz, hogy veszélyes legyen, főleg, ha süllyesztve van és csak egy bizonyos szögből látszik, de még ekkor is lejjebb lehet venni a teljesítményét. De az infra valóban jobb, mert nem látszik, nem vonja magára a figyelmet.
A nagyító lencse is lehetne, bár az azért már átmérőben nagyobb.
Lehet bármekkora, ha egy 10mm lyukon kívül helyezed el, pont elég fényt fog a lyukon átküldeni.
Ennyiben lenne jobb egy még erősebb infraled. Aminek nem a sugárzási szöge nagyon kicsi, hanem a teljesítménye nagyobb
Hidd el, hogy egy mezei infra diódával, ami a távirányítókban is van, 20mA árammal 10m-re adatot is tudok sugározni megbízhatóan. A fókuszt pedig ne úgy képzeld el, mint a lézer pointer tűhegyes vetítési képét, nem kell azzal olyan pontosan célozni, kb 5°-ban nyílik a sugár. [kép]
-
válasz
atesss #13048 üzenetére
A PIR burkolata a mozgásérzékelő rendszer szerves része, ha azt eltávolítod, nem fog működni. Nagyjából azt csinálja, hogy váltakozó világos-sötét zónákat vetít a szobára, és utána az ebben történő változást érzékeli. Szerintem nem alkalmas arra, amire szeretnéd használni, ahhoz túl lassú. Mindenképp optokapuval kellene megoldani! Ha nagy a távolság, akkor vagy lézerdióda + fotocella kombinációval, vagy a sima infrás optokaput kiegészíteném a kínai boltokban kapható filléres, projektoros zseblámpából kiszerelt nagyító lencsével! Én most ilyennel készítek egyedi lasertag fegyvert, ha jól van a fókusz beállítva, 10-15m-re simán el lehet világítani vele.
+1 ötlet: mivel emberek fognak lecsúszni a csúszdán, valamilyen kapacitív-, illetve súlyérzékelő is szóba jöhetne!
-
válasz
Dißnäëß #13024 üzenetére
"Csak tudnám, mire használjak egy 320x240-es touchscreen-t. "
Én személy szerint egy ilyet építek most. Nagyjából megvannak az alkatrészek, már csak össze kellene pakolni. -
válasz
Dißnäëß #12972 üzenetére
" kulon topicban erdemes lenne"
Én meg úgy gondolom, hogy igenis helye van itt az ilyen jellegű tudásnak (annyira, hogy a topik összefoglalóba is betenném), mert bár nem kapcsolódik szorosan az arduino eszközök programozásához, de elég sokan használják az arduino-t IoT eszközök készítésére: ha visszaolvasol, a redőny- és garázsajtó mozgató automatikától kezdve a parkolássegítő rendszeren át a fűtésrendszerek ellenőrzéséig sokminden készült már itt házilag, és nem ártana, ha szem előtt lenne ez is a tervezéskor.
-
válasz
Dißnäëß #12966 üzenetére
Elgondolkodtató, amiket írsz. Én sem vagyok barátja annak a gondolatnak, hogy minden eszköz közvetlenül a netre kapcsolódjon, ezért nálam egy pi2 látja el a biztonsági funkciókat openvpn szerver formájában. Ugyanezen fut egy octoprint szerver és egy kodi, mert a tv-re van kötve az egész.
Csak a vpn szerver van kiengedve a routeren a külvilág felé, azon keresztül tudom piszkálgatni az itthoni eszközeimet. Az egész gyenge pontja egy Asus AC57U router, ami egy év alatt semmilyen frissítést nem kapott, pedig viszonylag új konstrukció (az elődje is Asus router volt, az vagy 5 évig kapott fw frissítéseket, azért is vettem újra Asus-t... Mindegy, ez már itt nagyon off)
-
válasz
Dißnäëß #12963 üzenetére
1. minek kell folyton frissíteni, ami működik?
2. hogyan tervezted arduino-ra kötni? Tudtommal az USB host funkció nem túl gyakori az arduino-k közt. Gondolom az USB mögött SPI vagy i2c csatoló lehet, esetleg az USB megkerülésével lehetne kommunikálni a display chippel, ha van hozzá library, akkor azzal, ha nincs, jöhet a reverse engineering...
3. mit szeretnél rajta kijelezni arduino-val, ami megéri az egész hercehurcát?Inkább vegyél egy másik kijelzőt, ezt meg add nekem, ha nem kell.
-
válasz
DrojDtroll #12961 üzenetére
"Ilyen célra milyen nagyobb olcsó kijelző alternatíva van még?"
Van egy felesleges kedei 2.8" színes TFT érintőkijelző + sd kártya shield-em, nem találtam neki jó projektet. Asszem 320x240-es, de sajnos párhuzamos adatbusza van, így egy UNO gyakorlatilag összes pin-jét elfoglalja.De mondjuk egy Mega boarddal akár vmi értelmes dologra is lehet használni. Ha érdekel és tudod használni, szólj.
-
válasz
Dißnäëß #12947 üzenetére
Nagy vonalakban:
ESP32
- újabb
- 2 magos CPU, valódi multithreading, FreeRTOS
- sokkal több I/O kimenetESP8266
- régebbi, ezért kiforrottabb az arduino integráció, nagyobb támogatás, rengeteg lib és példakód található hozzá
- 5V toleráns portok: néha jól jön, ha vmi szenzort/perifériát szintillesztés nélkül lehet rákötniEgy ilyen ismertetőt (a leggyakoribb AVR, ESP stb lapokról, összehasonlítás) lehetne tenni a topik összefoglalóba, nem? Időnként előjön a téma. Persze nem én írnám, illetve nem egyedül. Segít benne valaki?
-
válasz
atesss #12939 üzenetére
Igen, serial van rajta gyárilag, és van olyan board, amin integrált FTDI chip van az egyszerűbb kódfeltöltés érdekében.
Másrészt van lehetőség OTG firmware feltöltésre, ennél először USB-n (vagy serial-on külső FTDI kábellel) fel kell tölteni a megfelelő OTG firmware-t, onnantól kezdve wifi-n keresztül tudod frissíteni. -
Hűha... Elég sok helyen félre tud csúszni egy ilyen projekt, mindenekelőtt jó lenne, ha látnánk a pontos bekötést (rajz és/vagy fotó) és a forráskódot (töltsd fel például a pastebin-re, és onnan linkeld be).
A bekötés jó, ahogy írtad, de kérdés, hogy az rx lábat az rx-szel kötötted-e össze, vagy a tx-szel? Mert keresztbe kell, rx-tx, tx-rx. A legnagyobb odafigyelés ellenére is előfordul, hogy a két vezetéket fordítva dugom össze, első körben cseréld meg.
Annyi lehet még, hogy a modul gyárilag nem 38400, hanem 9600baud-ra van állítva, esetleg még ezt megpróbálhatod átírni a programban, de általában ha a sebesség rosszul van beállítva, vmi garbage ki szokott jönni a másik oldalon, amiből látható, hogy zajlik a kommunikáció, csak rosszul van beállítva (persze van, amikor semmi sem megy át).
A gépen, miután összepárosítottad a modullal, kellett kapnod két virtuális COM portot. Az egyiket állítsd be az arduino ide serial monitorban, válaszd ki a 38400baud sebességet, onnantól látnod kell vmiféle kommunikációt. Ha nem, akkor válaszd a másik COM portot.
Többet akkor tudok mondani, ha láttam a kódot.Janos250, gyapo11: köszi a megerősítést. A forrófejű kolléga úgy látom kapott pár napot, hogy más fórumon találjon megfelelő, hozzáértő segítséget, úgy látszik vki olyat is kioktatott, akit nem kellett volna.
-
válasz
KFORboy #12911 üzenetére
Egyik kritikád sem jogos, ok nélkül vagy felháborodva, és kioktató stílust is tőled olvastam először a beszélgetés során...
A válasz pontosan annyira volt konkrét, mint a kérdésed. Mindkét esetben.1. "Nem akarok semmi komolyat.
Egy nagyjábóli 3 óra leszámlálását."
Egyetlen szó sem volt arról, hogy közben valami más taskot is végeznél. Kaptál rá egy kész kódot. Hogy véletlenül nem működött? Na bumm. Ez benne van a pakliban, ha vki tesztelés és anélkül ír kódot, hogy birtokában lenne a célplatform. Nem is feltétlenül az volt a cél, hogy rögtön működjön, lehet az egy pszeudokód, aminek a lényege egy feladat megoldásának a megmutatása. Ilyenkor vagy megkeresed a hibát, vagy adsz egy feedback-et, és megkeressük a hibát együtt . Te egy betűt nem írtál rá, nem csak hiba jelzést, de annyit se, hogy "köszönöm".2. "Ha void setupban egyszer analog kiolvasok értéket egy pinről amit egy integerre definiálok akkor az rögzül, vagy az amúgy egyszeri kiolvasás után az visszaáll nullára és később nem marad meg az integeren az az érték, azaz nem tudok vele dolgozni mondjuk void loopban mint egy változó érték amit hozzáadnék a másik értékhez ?
Ha nem, akkor hogy tudnám ezt megoldani ?"
VS.
"másképp hogy is tenném ? épp ez a lényeg, hogy van egy integer aminek lesz egy értéke ha kiolvasok analogreaddel pinről, de aztán annyi, többször nem is kell, és azt utána oda felpakolja... majd a void loop dolgozhat vele az arra megírt process mint egy extra érték ami hozzáadódik egy bázis értékhez..."
Forráskód? Miért nem szúrod be a kódot, ami nem működik, találjuk ki látatlanban, mit írtál (el/rosszul)? A kolléga leírta az egyetlen olyan hibalehetőséget általánosságban, ami meggátolja, hogy a setup()-ban definiált változó értéke a loop()-ban olvasható legyen. Vagy mi lett volna a kérdés értelme? Te magad írtad, hogy most kezdted a kódolást, nyilván ilyenkor az ember olyan alap dolgokra is felhívja a figyelmet, ami egy rutinos kódolónál nem fordulna elő. Ad abszurdum, a kérdésből az jött le, hogy nem igazán vagy tisztában a változók működésével/láthatósági szabályokkal.
Kiegészítés:
"Ehelyett megint választottam a magam útját, napestig bújtam a netet, olvasgattam, tanultam és megtaláltam a megfejtést ami az orrom előtt volt"Fórumra akkor megy az ember, ha olyan kérdése van, amit egyedül nem tud megoldani. A fórumtárs azért tapsikolt, mert
1. Kaptál egy kulcsrakész kódot. Hogy volt-e benne hiba, azt most hagyjuk. Szerintem a kód jó. Legfeljebb nem azt csinálja, amit nem írtál le, de gondoltál rá.
2. A kód tökéletesen azt csinálta, amit a specifikációban írtál. Se többet, se kevesebbet.
3. A kolléga megértette a specifikációdat, nekem nem sikerült, pedig nem vagyok hülye gyerek... -
válasz
Dißnäëß #12895 üzenetére
Nyugodtan fárassz vele, mindig szívesen tanulok új trükköket.
Ez tényleg nem olyan drága, úgy látszik én régen vettem.Az infra egyik előnye az egyik hátránya is, tudniillik szórt fény, nem irányított, mint a lézer. Ezért a távolsággal négyzetesen csökken az átvitt teljesítmény, 10-15m az átvihető távolság, direkt napfényben jóval kevesebb. Az eső fogalmam sincs mennyire zavarja, sosem esett még idebent, amikor használtam.
De mivel a víz átlátszó és szórja a fényt, nem hiszem, hogy sokat zavar. A hó annál inkább.
Az infra és a wifi közt azért van még pár megoldás, egyrészt a Bluetooth, másrészt a 433MHz-es RF transzmitter, ami elég olcsó és akár nagy távolságot is lehet vele áthidalni.
-
válasz
Dißnäëß #12891 üzenetére
De nem kell optikai kábel sem, csak nagyjából ráirányítasz egy infra LED-et egy Tsop1838 vagy hasonló vevőre, és kész. Van hozzá library is. Még közvetlen rálátás sem feltétlenül kell, mert jól visszaverődik a jel a falakról, tárgyakról.
(Hogy tudtad egy mondatba tenni az "olcsó" és az "optikai kábel" szavakat?
)
-
válasz
instantwater #12890 üzenetére
Nem értelek, hiszen pont a megoldást írtam le. Már több USB HID eszközt csináltam, gamepad-et, billentyűzetet, legutóbb egy midi keyboard-ot. PS2 egérhez is csináltam már drivert még megboldogult legény koromban, csak azt nem arduino-val, hanem még pic-kel. Pont ilyet, így együtt speciel még nem.
-
válasz
Dißnäëß #12885 üzenetére
Én személyesen nem ismerek ilyet, de a google igen.
Én személy szerint nem szívesen játszanék a 230V-tal, bár az sem jó, ha tele van az egész lakás wifis eszközökkel...
Esetleg ha olyan helyen vannak az eszközök, hogy alkalmas a környezet (nincs tv/hifi/más infrás eszköz, tűző napfény, az eszközök fizikailag "látják" egymást), esetleg infrakommunikáció is szóba jöhet! Egy infra led + ir receiver filléres alkatrész és 5 sorból megoldható vele az adatatvitel. -
válasz
instantwater #12877 üzenetére
Szia! Kelleni fog az USB HID emulációhoz egy Leonardo/Pro Micro. A PS/2 kapcsolatot elég könnyű felépíteni, kösd rá a touchpadot és serial-on keresztül írasd ki a gépen, hogy miket kommunikál, mikor két ujjal görgetsz. Valószínűleg ugyanazt küldi, amit egy PS/2 egér kereke.
Új hozzászólás Aktív témák
Hirdetés
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RX Nitro+ 6700XT 12GB Corsair 4000D ASUS ROG 650W
- Eladó Apple iPhone Xr 64GB fekete / ÚJ KIJELZŐ / 100% AKKU / 12 hónap jótállással!
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RTX3070 8GB ZALMAN S2 TG Enermax 750W
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest