- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Milyen okostelefont vegyek?
- Honor 400 - és mégis mozog a kép
- Fotók, videók mobillal
- Magisk
- Android alkalmazások - szoftver kibeszélő topik
- Olcsó Galaxyk telepíthetik a One UI 7-et
- Bemutatkozott a Poco X7 és X7 Pro
- iGO Primo
- Samsung Galaxy S21 FE 5G - utóirat
-
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
-
And
veterán
Ez a módszer egy egyszerű ellenállásosztó kimeneti feszültségéből kalkulálja az egyik ellenállást, és ahogy a linken is írják, az eredmény akkor lesz elfogadható pontosságú, ha a két ellenállás (ismert és mérendő) nagyságrendje azonos.
Gyors számolás után az elméleti felbontóképesség a 10-bites ADC okán a tartományban sehol nem lehet jobb, mint 2..3 °C. Egyébként fizikailag milyen ellenállást mérnél? Mert ez csak akkor járható út, ha létezik egy szabadon lógó, sehova be nem kötött mérőellenállás. -
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. -
Imy
veterán
Arduinoval ezzel amódszerrel: [link] Mekkora ellenállás értéket lehet mérni, és milyen pontossággal? Egy Weller pákát szeretnék szabályozni egy nano-val. Alkalmas lehet ez rá, vagy sem? Ha nem, akkor mit lenne érdemes használnom, és hogyan?
A weller páka 20 fokon ~22 ohm, és 350 fokon ~50 ohm.
Rt=T*R0*Ra+R0 ahol Ra=0,00385ohm -
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.
-
gyapo11
őstag
analóg, amit nem tudsz multiplexelni
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ó.
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.
-
lmaresz
aktív tag
válasz
Scooter86101 #13289 üzenetére
Szia!
Szerintem rosszul értelmezed a kiírást, ugyanis a kijelzőkre másodpercben van kiírva a hátralévő idő, nem perc:másodperc formátumban. Tehát teljesen normális, hogy 101...100...99 a kijelzőn lévő szám. -
gyapo11
őstag
Működhet, de szerintem a soros kommunikációban elég sokat van L szint is, amikor a puffer nem tötltődne. Ide speciálisan olyan protokoll jó, amiben kevés az L szin és az is rövid, minél többet van H-n, annál kevésbé hullámos a pufferen a feszültség.
Vagy 12 V-os H, és a puffer után táp ic, ami lesimítja és 5 vagy 3.3 V-ra állítja be a tápfeszültséget. Ilyenkor kell szintillesztés, ha nem 12 V-os a soros bemenet. -
Scooter86101
tag
Sziasztok lenne egy ilyen programom amivel kapcsolatban lenne egy kérdésem, sikerül az időt beállítani az első négy gombbal , es a legutolsóval el is indul a visszaszámlálás, viszont óraként szeretném használni, és ahogy a visszaszámlálás történik a perc ahogy nullára ér nem úgy megy tovább hogy pl 59 .. hanem 99 .. pl be van állítva 01:20 ra akkor mikor odaér hogy 01:01 a következő lépése az hogy 00:99 és én azt szeretnék hogy 0:59 legyen és sehogyan nem jövök rá hol van ez a kódban
melyik ez a rész
#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]*1000+display[1]*100+display[2]*10+display[3];
sprintf(cadena,"%04d%04d",alarma,contador);
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);
module.setDisplayToString(cadena,0,0);
if(contador<1)
{
fcontador=0;
for(z=0;z<10;z++)
{
sprintf(cadena,"%04d0000",alarma);
module.setDisplayToString(cadena,0,0);
delay(500);
sprintf(cadena,"%04d ",alarma);
module.setDisplayToString(cadena,0,0);
delay(500);
}
sprintf(cadena,"%04d----",alarma);
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);
}
Köszönöm előre is ...
itt van egy videó is róla ...
[link] -
-
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.
-
Dißnäëß
nagyúr
Sziasztok, több kis szenzort tervezek megvenni, hőmérséklet, páratartalom, fénymennyiség, ilyesmik. Érdemes ezeket egy digi bemenetre felfűzni kategóriánként ? (Úgyis külön saját címe van mindnek). 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 ?
Inkább az érdekelne, mi történik, ha egy szenzor meghibásodik. Ne vágja agyon a teljes kommunikációs buszt, az kisebb tragédia lenne.
Mivel csinálnátok ? (Wifi, BLE, egyéb rádió kizárt, optikai rálátás nincs, szintén kizárt).
Vagy monitorozott eszközönként 1 ultrapici Arduino és ezekből egy marék, amik beküldik egy Pi-nek mondjuk az adataikat ? (Szóval szenzorok adatait kumuláljam Arduino-n, vagy sok miniatűr Arduino által küldötteket inkább ? Csak ezt pazarlónak találom, bár nem egy horror összeg).
-
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?
-
gyapo11
őstag
válasz
zsolti_20 #13280 üzenetére
Igen, ki lehet használni azt a fizikai tulajdonságát az induktivitásnak, hogy egyenáramú szempontból az ellenállása közel 0, viszont minél nagyobb a frekvencia, annál nagyobb az induktív ellenállása. Mivel a jel általában több 10 kHz, de lehet több is, ezért ezt egy kondenzátorral le lehet csatolni a tápvezetékről. A kondenzátor pont fordítva viselkedik, egyenáramú szempontból az ellenállása végtelen, és minél nagyobb a frekvencia, annál kisebb a kapacitív ellenállása.
-
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.
-
zsolti_20
senior tag
Üdv emberek. Csak egy elméleti kérdés. Ma munkába menet jutott eszembe ha mondjuk van 50 arduino nanom, amit tizesével helyezek el mondjuk egymás alá sorban.
Szóval minden sorban van 10 arduinom, hogyan lehetne megoldani hogy ezek csoportokban tudjanak dolgozni?
Első sor arduino 1-11
Második sor arduino 12-21
Harmadik sor arduino 22-31
Negyedik sor arduino 32-41
Ötödik sor 42-51
Egy egyszerű példát szeretnék használni. Minden sorban az első arduinotol az utolsóig 1-1 led felvillan majd kialszik. Szóval első arduino led bekapcs, kikapcs, majd a második csinálja ugyan ezt.
De a második sor addig nem villanthat fel ledet, amíg az első sor nem végzett. Hogy az időzítéses dolgot kilőjjük, lehetne olyat hogy random kap 0-10 között egy számot az első sor és azt az arduinót kell használni a led villantásra, amikor végzett az első sor, akkor a második sor következik, majd harmadik és így tovább. A soroknak nem szabad keveredniük.
Ki, milyen megoldással próbálkozna? -
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...
-
Scooter86101
tag
Sziasztok, szeretném megkérdezni valaki nem tudna nekem segíteni egy program megírásában, egy 7 szegmenses kijelző modulra amin gombok is vannak (led&key) szeretnék egy időzítőtt, picit fontos lenne és nem szoktam ilyet kérni sosem , de ha úgy van fizetnék is.... köszönöm szépen ..
-
Janos250
őstag
Szevasztok!
Köszi mindenkinek a segítséget hálózat ügyben. A javaslatokat kombinálva megszületett a megoldás.
Tulajdonképpen pofonegyszerű, csak tudni kellet (volna), hogyan.
Majd, ha lesz több időm, teszek fel konkrét, tutorial stílusra átírt programokat, most csak a lényeg:
Van a WiFiClient osztály, ami Stream leszármazott, azaz a Stream összes tagfüggvényét ismeri,
https://www.arduino.cc/reference/en/language/functions/communication/stream/
plusz azokat, amiket még a leszármazottakban megadtak, mint pl. print, println, printf, stb.
Vagyis:WiFiClient client;
client.connect("192.168.0.24", 80) // a cél gép IP, port
és már írhatunk is rá, pl. :client.write("proba\n");
client.println("println proba szoveg") ;
client.printf("printf proba %d\n",48) ;
client.write(buffer,10) ;
.
.
client.stop();
A másik oldalon pedig:WiFiServer wifiServer(80);
WiFiClient client = wifiServer.available();
while (client.available()>0) {
char c = client.read();
.
.
}
client.stop();
Tehát ugyanúgy használható, mint például a Serial().
Így már (remélem) könnyen fog menni a légihidat megoldani:
adó UART->ESP32->WiFi.......Wifi->ESP32->vevőUART. -
repvez
addikt
válasz
gyapo11 #13240 üzenetére
Eddig amiket találtam azok mind elég jónak tünik addig amig csak azokat a dolgokat használom ami alapbol benne vannak a programban, de nem mindegyikhez találtam információt, vagy azt a weboldalt ahonnan a kivánt senzort , érzékelöt modult, be tudnám inportálni a programba, vagy ha meg van akkor meg azt nem találom, hogy hogy lehet alternativ libarykat betölteni a szimulátorhoz és a kodoláshoz.
Eddig amiket találtam a tinkeren kivül:
autodesk 123d circuits
Victronics Arduino simulator
Fritzing
Siiid
VBB4Arduino
VBB (virtual bread board) Bár ez érdekes, mert amit a neten találok az elég részletes és sok dolgot be lehet inportálni, de amit le lehet tölteni most a microsoft storebol az elég alap.
Proteus
ÉS vannak olyan programok amikkel elvileg lehet szimulálni az arduino kapcsolásokat, de eddig csak olyant találtam ahol a legalapabb elektronikai elemekkbol kellett felépiteni hozzá a kapcsolást, tehát ha egy giroszkopot akarsz bekötni, ahhoz tudnod kellene a giroszkóp panel összes elemét hogy van bekötve és le is rajzolni a programba mielött a panelhoz kötöd.
Ez nekem már nagyon magas szint.
Ilyen a EAGLE, a TINA, és még pár.Szóval ha valaki a fentiekbol vagy azon tul tudja, hogy lehet beimportálni szenzorokat és librarykat, az jó lenne
-
y@g4n
tag
Sziasztok!
Lenne egy RC autó, ami irányítható a szokásos távirányítós módon.
Ez az autó lesz az alapja egy nvidia jetson nano-val megkreált self driving autókának.
Egy motor driveren keresztül az előre hátra, egy szervóval (simán GPIO-ról) [alapból szervós kormányzós az autó] pedig a jobbra balra irányzás lesz megoldva.
Azt szeretném viszont hogy kapcsolható legyen hogy én most csak azt akarom hogy az algoritmus vezesse, vagy én vezetem távirányítóval.
Milyen irányban tapogatózzak ilyen téren?
Másik kérdésem, hogy van-e szükségem másik fajta motor driverre? Amim van eddig az egy aliexpresses L298N. A 2 voltnyi drop pont jól is jön, szóval ha ez is okés akkor jó. -
Tankblock
aktív tag
válasz
csongi #13249 üzenetére
Szia, Őszintén mondva PLC-t utoljára középsuliban programoztam, az meg nem merem leírni mikor volt .... Azóta sokat fejlődhetett ....
Én azt mondom először szelepet válasz, ahhoz kell meghajtó elektronikát tervezni,
Majd milyen szenzorok és featurek kellenek, és utána lehet megnézni hány IO van szükség, saccolni h mi az ami szükséges. Alehetőségek tárháza kellően nagy, Ha az elején vagy nem mennék neki 6 szelepes rendszernek. Részegységenként mennék, és látni fogod milyen haamr tellik a flash/memória ekkor még eldöntheted h könyvtárak helyett optimalizálsz vagy kontrollert cserélsz...... lehet a végén ATMEga 2560 és ESP 01 fogsz használni, vagy akár ESP32, vagy STM-32 az a TE design döntésed kell hogy legyen....Ahogy a nagykönyv írja NO Free Lunch - ezt végig kell tanulnod, vagy megveszed...
-
Tankblock
aktív tag
válasz
Janos250 #13258 üzenetére
Websocket? Anno ESP8266 használtam, több eszközre is tudtam syncelni adatokat, ha jól tudom egész komoly projectek vannak vele....
LEtöltesz egy weboldalt a connecttel és a böngésző megnyitja a websocketet az ESP32 vel és az ESP32 feedeli az adatokat..... Droiddal és win 8.1 telóval is ment nekem anno.
-
válasz
Janos250 #13258 üzenetére
Bocs, lehet, hogy félreértem, de ahova küldöd, az fel tud dolgozni HTTP POST-ot? Ha igen akkor kb. ennyi a küldés:
String l_post_data = "az adataid";
HTTPClient l_http;
int16_t l_result = -1;
if(l_post_data.length())
{
l_http.begin("szerver címe");
l_http.addHeader("Content-Type", "application/x-www-form-urlencoded");
l_result = l_http.POST("data=" + l_post_data);
l_http.end();
} -
Janos250
őstag
válasz
Dißnäëß #13257 üzenetére
"Fájlátvitel: tökéletes arra a HTTP is."
Olyat még nem csináltam, ki kell bogarásznom, de hirtelenjében nem találok rá se példát, se leírást.
Az UART-on bejövő adatokat összegyűjtöm egy "fájlba", azaz egy vektorba, és másodpercenként egyszer egyben elküldöm.
"B opció, hogy VPN csatornát húzol ki a kliensről a vezetékes gépig"
Na, ez egész szimpatikus, nekem eszembe sem jutott. Persze, hogy hogyan csinálok VPN elérést a telefonhoz WiFin csatlakozó ESP-n, azt még szintén nem tudom.
"valami halálegyszerűt,"
Mivel még egyáltalán nem használtam VPN-t, mert eddig nem kellett semmire, nem tudom, melyik a halálegyszerű.
"Raspberry Pi "
Nem akarok málnát. Részben, mert azt preferálja az emberfia, amiben nagyobb gyakorlata van, részben meg már le vannak gyártva a PCB-k, be vannak ültetve az alkatrészek.
"persze érthető, ha nem írja le az ember"
Nem titok, csak nem akartam a lényegről elterelni a vonalat: GPS
Találtam ezt, de ezt se nagyon tudom hová tenni:
"HTTP uses TCP and TCP is a streaming protocol. You just need to send the HTTP headers, then pipe the serial input to the TCP socket. There's no need to store anything on the esp besides the transfer buffers."
Kénytelen leszek a TCP socket-ot is megtanulni? -
Dißnäëß
nagyúr
válasz
Janos250 #13253 üzenetére
Fájlátvitel: tökéletes arra a HTTP is. (Vagy HTTPS). (Jobb lenne FTP, SFTP). A http szerver kilistázza a könyvtárban található fájlokat, ezt az aloldalt frissítgeti a túloldali script, ami elhozza innen őket, vagy ilyesmi, sima wget, egyéb.
B opció, hogy VPN csatornát húzol ki a kliensről a vezetékes gépig, valami halálegyszerűt, gondolom úgysem szempont a titkosítás, ne egye a CPU-t. Az így felépült folyosóban már direktben ip alapon látják egymást a végpontok, tehát a vezetékes küldő gép tudja a VPN-es IP alapján címezni a fogadó felet.
Most nem vagyok benne biztos amúgy, hogy (tekintettel a bonyodalmakra) elég-e ide egy ESP, vagy nem-e lenne jobb egy marék Raspberry Pi (1-eseket, olcsón).
Az alap dolgot meglépi egy ESP is, de ha a fura hálózati dolgok miatt ilyen-olyan-amolyan kompromisszumokat kell kötni (és ezeket kezelni), passz.
A konkrét feladat ismeretében lehetne többet nyilatkozni (persze érthető, ha nem írja le az ember).
-
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. -
Janos250
őstag
Próbára azt csináltam, hogy nem zártam le a kapcsolatot, hanem küldözgettem egy próba szöveget.
Néhányszor átment, aztán néhány után újra kellett építeni a kapcsolatot.
Ez az újraépítés a lassú, nagyon. Ezért nincs ilyen gond az UDP-vel, mert ott nincs kapcsolat.
Az előbb írtam, hogy lehet telnetes irányban próbálkozok, mert ott percekig nem szakadt meg a kapcsolat, vagy WEB lap törzsében. Vagy fájlként, de azt nem tudom hogy kell, utána kellene nézni. -
Janos250
őstag
válasz
Dißnäëß #13250 üzenetére
Köszi!
Igen, a TCP kapcsolat felépítésének a lassúságára az Arduino alatt mások is panaszkodnak. Jó lenne az UDP is, mert nem gond a csomagvesztés, ezért is gondoltam erre is. Mivel ez nem egy állandó állomás, hanem havonta egy-két alkalommal odamegyek valahova,
mérek 10 percig, és ennyi, ezért nem nagyon akarnék erre külön néhánytízezres kütyüt, amikor a telefon úgyis ott van a zsebemben.
Viszont lehet, hogy mégis rákényszerülök.
Most még azon is gondolkodom, hogy az adatokat UART-on beolvasó ESP32-n WEB szerver, amiről a másodpercenként beolvasott
adatokat egyben HTTP-n keresztül megpróbálom leszívni a másik ESP32-vel, de ilyen, több kilónyi adatot egyben nem tudom hogy tudok
átvinni fájlként, de lehet, hogy WEB lapként, de akkor előtte - azt hiszem - karakteres formára kell konvertálnom a bináris adatokat. WEB lap törzsében már vittem át karakteres adatokat, azzal nem volt gond, az jól működött.
IPv6-ot még nem próbáltam ESP-n, de elvileg van. Azt se tudom, telefonon megy-e ez, ennek is utána kell néznem.
Régebben csináltam egy telnetes szervert, ami annyit csinált, mint egy MQTT szerver, hogy amit valaki küldött, azt továbbította minden bejelentkezettnek. Lehet, most is ezzel oldom meg, mert az látszólag jól ment, bár nagyobb adatmennyiséggel azt se próbáltam. -
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? -
Janos250
őstag
Köszi, de inkább ide írom, hátha valamikor más is érintett lesz.
Nincs http! Küldő oldalon ez van:if (client.connect(fogadoFel, 80)) {
client.print("proba \n");
client.stop();
}
fogadón meg ez:while(client.available()){
String line = client.readStringUntil('\r');
Ha a küldő oldalon nem zárom le, akkor is megszakad egy idő után.
Az elv:
A küldőre érkeznek adatok UART-on, minden egész másodpercben egy néhány kilóbájtos adag, ezt kell küldeni a fogadó fél számára, aki szintén továbbítja ezt UART-on a tetthelyre.
Neten keresgéltem, mások is panaszkodnak.
Lehet persze, hogy nálam a szinkronnal is van baj, majd próbálom a setTxBufferSize-al az UART pufferjét nagyobbra állítani. -
Dißnäëß
nagyúr
válasz
Janos250 #13245 üzenetére
Szia, részleges válasz:
- TCP megszakadás passz, ezt lehet az ESP csinálja így ? (Nem hiszem, nem lehet hogy vmi programozási izé ?)
- UDP: tipikus streaming/gaming jellegű protokoll, a küldő fél nem vár választ a fogadó féltől, hogy ő megkapta a csomagot, hanem csak küldi észnélkül. Ha a fogadó fél fogadta őt, fogadta, ha nem, nem. Nincs visszacsatolás csomagvesztésnél a küldő fele, emiatt adatfolyam megakadás sem (ami TCP-nél lenne, mindaddig, míg helyesen át nem ment a csomag és erről a visszaigazolót meg nem kapta a küldő fél).
Ha a csomagvesztés nem gond, lehet udp-zni. (Játékban ez nem gond, video-ban sem, mert max. sérül egy képkocka kicsit, na bumm, viszont a forgalom folyamatossága garantált, hibák esetén sincs akadás).
Mobilnetes megosztáson: komplex kérdés, több részre bontom.
1. szolgáltatófüggő, hogy egy SIM kártyával és adatcsommagal rendelkező eszköz, legyen az akár mobiltelefon, akár egyéb, publikus ip címet kap-e, vagy a szolgáltatónál is helyi hálón lévőt, mert spórolnak a nyilvános ipv4 címekkel. A pirosoknál biztos, hogy van ilyen trükk, a kékeknél-rózsaszíneknél nem tudom, de ott eddig mindig nyilvános publikus ip-t láttam magamról.
2. ipv6 mindezen segíthet, ha a szolgáltató, az eszköz és az ESP tudja, de hozhat be plussz bonyikat is.
3. Kék vagy magenta mobil internet kütyüt lőnék, nem telót. [link] Ehhez hasonló (ez csak példa) kütyükkel is lehet kérni, vagy hasonlót megveszel külön és megy bele a SIM, megeteted egy USB portról, vagy akksin keresztül bír vagy 10 órát, sacc.. ezeknek van web-es kezelőfelülete, ahol be tudod állítani a port forward-okat és minden egyéb okosságot, mint egy otthoni router-en. Én egy ilyet használok ha úton vagyok, annak ellenére, hogy a telóm is jóféle motyó, ... tökéletesen teszi a dolgát. Beépített antenna, amit a műanyag doboz nem árnyékol le, szóval a vétel (térerő) is jó, eddig nincs panaszom rá.
-
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. -
Tankblock
aktív tag
válasz
csongi #13227 üzenetére
Elhiheted a végén drágább lesz, vagy az időd megy bele vagy megíratod a programot már itt több lesz mint amit írtál.... ls még nem adtam össze a HW, amit használsz/ elfüstölsz....
Én nem bíznám tesztelésen kívül próbanyákra az öntözőrendszeremet. Egy kontakt hiba rosszkor és ázik minden......
A nyák mert azért fog kelleni, mivel ha utánaszámolsz mennyi az annyi kelleni fog GPIO extender, a végén ha elhagyod az UNO-t és ESP32 cseéled fele annyi fejfájásból megvan....
Oda meg kelleni fog levelshifter 3V3 és 5V közé. A relének meg dióda meg opto az üzemeltetéshez, vagy veszel relé boardot.még sok helyen lehet probléma. Elsőre túl nagy falat. Bontsd kis feladatokra és old meg őket.
PL 1 csao üzemeltetése bemenő jel alapján, NTP óra, weboldal websocket használata..... -
-
Janos250
őstag
Kinek van tapasztalata az ESP net elérésével?
Van egy ESP32, ami terepen mozog, és telefon net megosztásából érné el a netet. Ennek kell a netről folyamatosan 5-10 kilobájt/sec sebességgel adatot leszedni.
Ha TCP-n akarom, nem megy ekkora sebességgel, mert mindig lezárja a kapcsolatot, és az újra felépítése hosszú idő. Hiába próbálom úgy, hogy nem zárom le a kapcsolatot, mégis hamarosan lezárja. Rosszul csinálom?
UDP-vel elég nagy sebességet tudok elérni, viszont hiába van az adatokat folyamatosan küldő fél vezetékes neten, ha a fogadó fél mobilnetes megosztáson van, nem tudom oda küldeni neki. Lehet esetleg a mobilnetes megosztáson is port forwardot
megadni, hogy pl. az UDP-n érkező adatokat az ESP dobozkára küldje? -
atesss
addikt
válasz
atesss #13241 üzenetére
Összeraktam, és csináltam is egy tesztet.
2k lett a fix ellenállás, és vele sorban pedig egy 5k-s trimmer potméter.
Első körben zseblámpával teszteltem, egy viszonylag sötét teremben.
Úgy elég jónak tűnt a min és max. érték.
1cm-ről a zseblámpával szembevilágítva közelíti a 3,3V-ot. Míg a zseblámpát kikapcsolva 0V.
A potméter tekerésével nem történt jelentős változás (legalábbis a szélsőértékeknél).Aztán beraktam élesbe, a kijelző elé is, eddig ennyit tudtam mérni vele:
[kép] [kép] [kép] -
ESP32-vel szeretnék nekivágni egy 3 adatfolyamos projektnek, vajon az alis óccó darabok megbízható minőségűek
?
-
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.
-
atesss
addikt
válasz
atesss #13199 üzenetére
Itt vannak az ígért fotók az eszközről:
[kép] [kép] [kép] [kép] [kép]
A 3. és 4. kép alapján látszik, hogy tényleg multiplexelve vannak a kijelzők. A vaku-s fényképezés zárideje alatt van amikor csak 2-3 kijelző aktív.
A "normál üzemről" - a szegmenseken körbefutó jelzésről - pedig videót csináltam, azt hova lenne érdemes feltölteni, hogy itt linkelni tudjam ? -
repvez
addikt
utána néztem mi ez a hatás, de pont az ellentétije vagyok, én tisztába vagyok vele, hogy nem értek hozzá és nem próbálok meg mást meggyőzni, hogy én jobban tudom.
A gépészetben meg pont ez a jó, hogy ha nem is tudod, hogy mi hova való vagy mire való, attól még ki tudod találni ,hogy melyik hova passzol akár egy kirakó.
De az elektronikában meg ahogy mondják, hogy az áram alatt lévő vezeték ugyan úgy néz ki mint amelyik nincs, csak más a fogása.
Ha meg tervezel valamit, ott meg vannak a fizikai mértetek amit látsz, hogy ha valami nem fér oda vagy megakad benne.az elektronikában meg építés közben nem derül ki ha valami nem oda való,mert a vezetéket bárhova kötheted és ki is maradhat , nem derül ki a hiba mig be nem kapcsolod.
-
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. -
repvez
addikt
válasz
Janos250 #13233 üzenetére
csak ezt néztem egyelőre ahogy láttam ezt használták a legtöbb helyen, de még nem néztem jobban utána milyen alternatívája lenne ami tudná a többi gps jelet is fogni.
Amúgy nem úgy értem ,hogy nem akarok, csak nehéz úgy megfogalmazni a dolgokat ha semmilyen elektronikai és programozási hátterem nincs és a legtöbb embernek meg akinek van az olyan dolgok már természetesek ami nekem nem , hogy nem is értik , hogy mit nem lehet érteni bizonyos dolgokon.
Ahogy gyapo11 is írta, nehéz olyan fejjel gondolkodni annak akinek már van rutinja valamiben .
én gépész fejjel saját szavaimmal nagyon is meg tudom , fogalmazni hogy mit várok el a dolgoktól és fizikálisan mit kell csinálni hozzá, de se elektronikusan se softveres téren nem tudom, hogy ezekhez mi szükséges.
Nekem az se egyértelmű, hogy mikor ,miért kell plusz ellenállás vagy egyéb dolog az áramkörbe a modul és a arduiono közé. ezért lenne jó a virtuális segítség, hogy ott jön valami hibajelzés, hogy valami nem stimmel, míg élőbe ha összekötöm rosszul akkor csak az derül ki ,hogy nem működik, de azt nem fogom tudni, hogy miért nem. -
Janos250
őstag
válasz
repvez #13230 üzenetére
Ha nem tévedek, a NEO6 sorozat csak GPS holdakat tudja venni. Ha leárnyékolt helyen vagy, kevés lesz a látott műhold. Nem tudja a Glonasst, a Beidout, a Galileot. Ezek Magyarországon láthatóak. Egyébként a pontossága is csak 1-5 méteres lesz, vagy még rosszabb.
Egyébként, ha nem akarsz alap dolgokat megtanulni "feleslegesen", akkor nehezen fog menni. Ha nem tudod, hogy kell a ciklusokat, a függvényeket, stb. megírni, használni, nem tudod a lábakat írni, olvasni digitálisan is, és analóg is, nem ismered mi a lokális, és mi a globális változó, mik a változó típusok, elég nehezen fog menni, könnyen sikerélmény helyett a sikertelenség élménye lesz.
A "mondják meg, hogy amit fel akarok találni, ahhoz mit kell megtanulnom, és majd feltalálom" szemlélettel nehéz lesz indulni. Én is csak azt tudom javasolni, hogy játszani kellene a dolgokkal.
-
gyapo11
őstag
válasz
repvez #13228 üzenetére
Nekem se volt túl sok sikerem az emulátorokkal, leginkább arra jó, hogy a nyelvet gyakoroljam rajta. Mert én se tanultam meg az összes parancsot, és ha tesztelni szeretnék valami eddig nem használtat, akkor nem kell elővenni a nanot, kábelt. Viszont ha a külvilágra is szükség van a teszteléshez, akkor már előveszem, ráakasztom a külső egységet, esetleg még a digitális állapot analizátort is, egy csipogót, egy nyomógombot és úgy nézegetem. Jó sok újraírást bír a belső flash, nem kell aggódni, hogy hamar megbuggyan.
A probléma az lehet, hogy ha valamiről nem tudsz, akkor az nem fog eszedbe jutni egy probléma megoldásánál se. Lehet ez egy utasítás, vagy programszerkesztési módszer, vagy hw alkatrész. Én tanultam programozást is, magamtól is és iskolában is, tanultam elektronikát magamtól és iskolában is, szóval én nem tudok egy ezeken a területeken képzetlen ember fejével gondolkodni, de a természetes nyelveknél elég bosszantó tud lenni, amikor az anyanyelvemen tudom, hogy mit szeretnék mondani de a használt nyelven nem ismerem azt a szót, akkor jön a körbeírás, mutogatás, a magyar szó tagoltan és hangosan ismételgetése, egyik se túl eredményes. -
repvez
addikt
Nem csodálkozom, mindenhol erre az eredményre jutnak a végén amikor elmondom, hogy hogy szeretném megoldani a dolgokat. mivel arra nincs időm, hogy csak ugy cél nélkül tanuljam a dolgokat, csak arra, hogy célirányosan valamit fokozatosan csak amire szükségem van.
Egyébként valami olyasmit szeretnék, mint egy quadro kopter csak más elveken mint a hagyományos kialakitás.
ahogy néztem ehhez kellene:
MPU9250es gryo
neo6m gps modul
egy brusless motor+vezérlő
6db távolságmérő
5db légnyomásmérő
egy humidity+temperature modulHa jol gondolom akkor I2C protokolon keresztül kellene összekötni , hogy minden modult rá tudjak kötni , máskülönben ütné egymást a jelek.
ÉS ahogy irtam ehhez kellene egy virtuális fejlesztő környezet ahol ezeket a modulokat be tudom állitani mielött fizikailag is belevágnék, mert ahogy látható igy is 15-20 ezer lenne az alkatrész és ahhoz elég sok, ha semmi nem lesz belőle és csak kidobtam rá a pénz.
De ha már virtuálisan látszik, hogy müködhet az amit elgondoltam akkor már van értelme tovább lépni az elméleti virtuális tesztekről a fizikai megvalósités felé. -
repvez
addikt
ugy értettem, hogy egy könyvben ki tudja, milyen szisztéma alapján követik egymást a dolgok vagy másvalaki projectje csak hasonlithat .
Mint ahogy látom is , hogy hiába néztem meg pár ilyen videot ami elvileg ugyan olyan eszközt kapcsoltak a kód mindegyiknél más volt.
igy ha össze is ollozom a neten találtakat a végeredmény nem fog müködni, mert más más elemekkel kellene összedolgoznia. arról nem is beszélve, ha nincs hozzá magyarázat akkor lehet hogy téves következtetéseket vagy rossz dolgokat tanulok meg rola.Arról nem is beszélve, hogy ahány fejlesztő környezet annyi beállítás, az arduiono .cc oldalon a webeditorba is hiába másoltam be egy kész kód sort ,hibát dobott a futtatásnál . a Skiid editornál meg nem tudok beimportálni egyedi libraryt a modulokhoz, vagy más modult betenni az alapok mellé. a tinkercadnál se találtam olyan menüt ahol ezeket meg tudnám tenni, vagy egyáltalán a pro micro alapmodult ki tudnám választani a kapcsoláshoz.
-
csongi
veterán
válasz
Tankblock #13226 üzenetére
Sajnos nem tudom kiszamolni, mert nem tudom mi kellhet hozza meg.
Tapegyseg megvan. Kezdo csomag megvan.
6rele, vagy fet, a zona szelepek egy egy doboz ami kell, ahogy en latom.
Ma elkezdtem nezegetni az alapokat. De eleg kinai. Lehet ketesek valakit aki megirja. A kotest es kapcsolasokat megcsinalom en.
Ha mar itt tartunk, valaki elvallalja ennek a programozasat? :).
Persze nem ingyen kerem. :)A nyak miert kell?
Amiket adtak a keszletbe szerelt kabelek nem jok az uzemeleshez?
Bele akarom rakni egy muanyag dobozba, IP vedett es ennyi. :)
Nezegetni nem akarom.
A wifis 6 csatornas kesz termek 70 ezer korul mozognak.
Es se kijelzo, se azokat a programokat nem tudja amit en szeretnek. Plusz a kiegeszitok sem olcsok.
Csapadek erzekelo stb.Androidos aplikacio meg majd idodvel, elobb az arduino mennyen magaban.
-
Tankblock
aktív tag
válasz
csongi #13217 üzenetére
Szia,
pontos szeleptípust tudnál-e linkelni, ha jól sejtem itt még nyákot is kell tervezned, és GPIO extender is kellhet ha maradsz az eredeti Uno R3 melett. RTC/vagy wifin NTP mindenképpen kelleni fog. még a kijelző is kérdés mit szeretnél.... Halkan jegyzem meg a múltkor a sárga kék feliratos áruházban 1 híján 7e ért adtak ilyen időzítót igaz az csak 1 csatorna.... neked meg 6 kell szóval 42 Mátyás....számold ki mennyi lesz a buli, nehogy kiderüljön h egy kommersz termék többszöröse lesz....
-
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. -
repvez
addikt
páran már mondták hasonlót, pedig ez egyáltalán nem így van csak másfajta megközelítéssel szemlélettel gondolkodom.Gyakorlatias és visuális tipus vagyok és ezért nem a száraz olvasott anyagot preferálom hanem tapasztalati úton a saját problémámon keresztül megoldva.
én úgy szeretnék megtanulni , hogy közben valami hasznosat és olyan dolgot csinálok ami érdekel és nem egy olyan dolgot amit valaki más gondolatmenetét tükrözi esetleg 20 évvel ezelőtti megoldás aminél mostanra már talán van egyszerűbb megoldása is.
Sokkal jobban megmarad és előbb is megtanulom, ha nem másvalaki példaprogramját írogatom , hogy megtanuljak egy funkciot programozni inkább úgy, hogy akkor tanulok meg egy funkciót amikor az én programomban szükség lenne rá.
Mert 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. 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 kellegyébként köszönöm a felajánlást, de nem tudom, hogy ez jo hely lenne e hogy összerondítsuk mindenféle very basic levellel
-
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. -
gyapo11
őstag
Saját példám, hogy egy szombat reggel leültem a géphez, akkor még dos meg 486 33 MHz volt a menő, és egy turbo pascal 4.0 könyvből kezdtem tanulni az utasításokat. Délután már írtam programokat, prímszámok, rendezés meg ami eszembe jutott.
Viszont ugyanezt megpróbáltam a Dennis M. Ritchie C könyvével, és nem értettem, egy óra után föladtam. Később példákat nézegetve azért egyszerűbb programokat meg tudtam írni c-ben, a filekezelés többször gyorsabb volt mint a turbo pascalé.
Tanulság: meg lehet tanulni egy könyvből is az alapokat, de nem mindenkinek megy minden.
Én is alapszinten érzem magam c++-ból, de ezeket az alapokat szívesen elmagyarázom, indítsunk egy alapszintű programozás csevelyt. Felőlem mehet az emulátor is, szerintem az a fontos, hogy programot tudjon írni, ami működik és azt csinálja ami a cél volt. -
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.
-
repvez
addikt
Jól látod a dolgot, erre próbáltam utalni , hogy 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.
És mikor már a megépítésre kerül a sor akkor egy viszonylag működő dolgot kapjak ami egyrészt nagyobb sikerélményt nyújtana, mint mikor pénzt és időt pazarolva minden egyes kudarccal több idő eltelik, mire újra forrasztom vagy másik eszközt szerzek be.De ez egyedül nulla előképzettség mellett elég nehéz. Próbáltam a c++ vagy más nyelveket is magamtól megtanulni, de hiába a könyvek és a videók, semelyik se úgy van kialakítva, hogy az abszolút nulláról is megértsék és fejlődjenek belőle. mindegyik már az első dolgok olyan kifejezéseket vagy dolgokat mond vagy mutat amiket nem értek. vagy csak egy kis részét mutatják meg, de azt nem, hogy ezt mire lehet később hasznosítani. Vagy ha minden egybe van akkor meg más fejlesztő környezetet használ más könyvtárakat és hiába másolom le szóról szóra nálam nem mülödik.
ugyan ez itt is megvan, a net tele van a kis részegységek kapcsolásával és programozásával egyenként, de arról, hogy az így kapott adatokat mire és hogyan tudom felhasználni illetve kombinálni a másik egység értékeivel az már nagyon ritka. Mert addig minden szép és jó amíg csak egy egységet kell rákötni a main boardra, de 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?
tudom, hogy aki tud programozni vagy ért az elektronikához annak ezek a kérdések hülyeségnek hangzik, de egy laikusnál ezek az apró dolgok is nagy akadályokat jelenthetnek.
-
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. -
repvez
addikt
-
gyapo11
őstag
válasz
repvez #13215 üzenetére
A programozás két részből áll, a való életbeli eseményeket át kell ültetni a processzor által érthető nyelvre, és meg kell alkotni a szemantikát, hogy mi is történjen a programban. Vannak ezek az összetologatós szerkesztők, ez eltakarja előled a c++ nyelvet, de ugyanúgy programozás. Nézd meg itt. Lehet kapcsolgatni a blokkos és az arduino kód között.
Pl.:
vagy
digitalWrite(13, HIGH);
Úgyanúgy meg kell tanulni, hogy melyik pin mi lehet, hogy kell olvasni vagy írni digital vagy analóg adatot. A 40-50 parancsot meg pár óra alatt megtanulja az ember észrevétlenül. Elképzelhetetlenül sok variáció rakható össze abból az 50 parancsból, ezt nem lehet pár összerakható programrészlettel pótolni. Egy kijelzőhöz lehet egy libraryt használni, vagy más hw egységhez is, de a program vázát azt neked kell létrehozni.
És még emulátor:
https://sourceforge.net/projects/ardusim/
https://www.sites.google.com/site/unoardusim/services -
repvez
addikt
próbáltam a Tinát, meg az EAGLE és a Sprint layout programokat, de azok inkább PCB tervező szoftverek az alap alkatrészekkel.
itt meg az érzékelőket készen kapod és csak be kell kötni őket.
DE a legnagyobb problémám nem is a kapcsolás, mert azt ahogy írtad megtalálható a neten , hanem a programozás része, hogy a kapott adatokkal hogyan dolgozzon.
Mert ötleteim vannak , de programozás híján nem igen tudom, hogy azokat hogyan működtessem .Pont emiatt is akarnék belevágni hátha igy a gyakorlati dolgokon keresztül megtanulnék programozni is.A pro micróm is azért van, mert egy analóg joystikot akarok átalakítani USB-re, amihez minden adott a softver is, már csak össze kell raknom.
viszont van egy másik ötletem amihez még nincs meg csak a pro micro. de ez komolyabb lenne de mivel semmit nem tudok igy elég nagy az esélye, hogy feleslegesen venném meg a cuccokat. jelenleg nincs meg a felszerelésem se ahhoz, hogy fizikailag megcsináljam .DE addig is míg meglesznek a feltételek legalább el tudnék indulni valamerre a folyamattal.
Köszi a linkeket.
-
gyapo11
őstag
válasz
gyapo11 #13213 üzenetére
Még egy kiegészítés az emulációhoz, más elektronikai emulátoroknál láttam, hogy néha iszonyatosan belassul, mert rengeteget kell számolnia. Tehát van egy áramkör, elindítod, szaladnak a másodpercek realtime. Van egy másik áramkör, elindítod, és másodpercenként mondjuk 1 ms-ot halad. Egyrészt nagyon sokat kell várni, hogy meglásd hogy pl. 1 percnél mi lesz, másrészt az időzítések is problémásak lehetnek mivel 1000-szer lassabban telik az idő, harmadrészt bonyolultabb áramkörnél a használhatatlanságot is elérheti a lassulás.
A valódi hw elemek viszont pontosan tudják a fizikát (nekünk sajnos meg kell tanulni), és mindig minden realtime történik bármilyen bonyolult áramkörben is. -
gyapo11
őstag
válasz
repvez #13211 üzenetére
Én is futottam egy kört pár éve, és kerestem emulátorokat, találtam is olyat, ami működik. Viszont elvi problémáim voltak ezzel, pont az amit írtál is, hogy sose lesz benne minden modul, mert állandóan fejlesztik az új modulokat, eddig nem használt alkatrészekkel és ezt nem fogják követni elég gyorsan az emulátorral. Másrészt a saját elektronika sem lesz benne, nekem kellene bevinni, és az nem biztos, hogy lehetséges, illetve nem tudom mennyi munka lenne. Harmadrészt nem tudom hogyan tudnám szkóppal nézni a kimeneteket, mert nem mindig elég a led villogtatás, ha pl. μs nagyságrendű impulzusok szaladgálnak. Negyedrészt még olyan is lehet, hogy hiba van az emulátorban, és napokig keresem, miközben csak nem jól tudja a fizikát az emulátor.
Pár cím ahol szétnézhetsz:
http://emulare.sourceforge.net/
https://virtronics.com.au/Simulator-for-Arduino.html ez fizetős -
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] -
repvez
addikt
tudom, hogy filléres cuccok, csak ha valamiből több kell akkor a sok kicsi összeadódik és ha még ráadásul kiderül, hogy arra amire akarom használni nem is lesz jó, hanem egy másik fajta kellene akkor csak kidobott pénz lesz és még vehetem meg a másikat is mellé.
ás mivel még sose csináltam ezelőtt és nem is elektromos végzettségem van így gyanítom nagyon sokszor belefutnék ilyenbe vagy még akár abba is, hogy leégetem valamit .
DE virtuálisan ennek kicsi az esélye. -
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. -
repvez
addikt
Üdv
Nagyon kezdő vagyok még ezen a téren és szeretnék tanácsot kérni, hogy hogy érdemes elkezdeni az arduinoba való programozás dolgokat meg a fejlesztést?
Tudnátok ajánlani olyan szoftvert amivel anélkül is meg tudnám csinálni a kapcsolásokat és teszteket, hogy megvenném az adott kiegészítőt hozzá virtuálisan leszimulálva?Találtam már párat, de nem tudom melyik a legjobb amit a későbbiekben is minden gond nélkül lehet használni.
találtam egy SKIIId nevű programot, ami alapból grafikusan is mutatja, hogy milyen részegységeket akarok összeépíteni és a listából való kiválasztás után automatikusan beállítja a megfelelő kódot és a kapcsolásokat.
Csak egy gondom van vele, hogy nem tudom, hogy lehet olyan eszközöket felvenni az eszköztárba amire szükségem lenne
és hogy lehetne bővíteni a kod library amibe a header filok és egyéb kiegészítők lennének az eszközök jobb vezérléséhez.
Van a másik a thinkercad, de abban még kevesebb az elérhető eszköz.jelenleg csak egy Pro Micro ATmega32U4 5V panelem van , ehhez akarnék valamit összebarkácsolni, de nem akarok addig feleslegesen összevásárolni mindent amíg nem tiszta, hogy hogyan kell bármit is csinálni meg hogy azok e a megfelelő eszközök arra amit akarok csinálni.
Így előszór egy virtuális környezetbe megcsinálnám, hogy amikor már közel véglegesre kialakult, hogy mi kellene és a kód is összeállt akkor venném meg a dolgokat hozzá. -
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! -
And
veterán
válasz
Gergosz2 #13204 üzenetére
Vaagy (ez a tiéddel nagyjából ekvivalens) fogja az RC-időállandót, ami a fenti példából - 10 μF, 10 kΩ - kiindulva 100ms-ot ad eredményül (ami a fel- és lefutásnál, végső soron a reakcióidőnél számít), illetve az abból számítható törésponti frekvenciát: f= 1/(2πRC)= 1.59 Hz. Tudván hogy a vágási meredekség egy RC-tagnál 20 dB/dekád, két dekáddal a töréspont felett (azaz 159 Hz-en) 40 dB lesz, ezzel a 160 Hz-es összetevő a századrészére csillapodik feszültségben. Ugyanebből visszafelé is lehet számítani egy kapacértéket, ha tudjuk, hogy mekkora frekvenciájú a szegmens meghajtójele és mekkora maradék hullámosságot engedünk meg a digit. bemeneten.
-
gyapo11
őstag
válasz
atesss #13195 üzenetére
"... az ellenállás értékéhez igazított - elektrolit kondenzátort"
Ezt pontosan milyen képlettel számoljam ki ?Az alap képlet a C=Q/U, ahol C a kapacitás, Q a töltés mennyisége és U a feszültség. Q=I*t, vagyis t=C*U/I.
De egyszerűbb egy áramkör szimulátorba betenni, és pár értékkel megnézni, hogy mekkora lesz a jelen a zaj.
Pl. 10 μF kondi 1 és 10 kΩ-mal így néz ki:
1 k-val több mint 1 V a zaj, 10 k-val már csak 100 mV. -
Janos250
őstag
A verzió: (legjobb)
Keresnék egy több lábú kontrollertB verzió: (kevésbé jó)
PWM: a fő
gomb: NAGYON rövid időre átkapcsolnám inputra, és beolvasnám
led: betennék egy, a PWM-nél rövidebb idejű tüskét, és hardver [vagy egy másik kontroller] figyelné, ha elég rövid, akkor vált.
Az A verzióhoz ugye tudod, mit használnék?
-
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?
Új hozzászólás Aktív témák
Hirdetés
- HP 15da0000nh Intel Silver N5000 / 8gb ddr4. / UHD 620 / 1TB Hdd / 70% akku / Olcsó DDR4-es laptop
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- BESZÁMÍTÁS! Gigabyte A620M R5 7500F 32GB DDR5 512GB SSD RX 6700 XT 12GB ZALMAN S3 TG CM 700W
- BESZÁMÍTÁS! MSI B450M R7 5700X 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- AM4-es félkonfig, 5800X, 32gb Ram, B450, BeQuiet TF, FractalDesign Meshify C, Seasonic 650W
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- AKCIÓ! Sapphire Nitro+ RX 6800 XT 16GB videokártya garanciával hibátlan működéssel
- Samsung Galaxy S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÁRI TÖLTŐK DELL LENOVO HP FUJITSU TOSHIBA Macbook---------- Budapest,/MPL/Foxpost
- Samsung Galaxy A32 4G 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged