Hirdetés
-
IT café
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
-
brickm
őstag
Sziasztok!
Akadt egy kis gondom STM32 F103C8as controllerrel.
Most használtam volna először a CubeIDE-t. Nyitottam egy projektet, kiválasztottam az MCU típusomat stb.
Órajelekhez nem nyúltam, gyári beállításokon hagytam.
PC13-ra bekapcsoltam a GPIO out-ot és compile-oltam, rátöltöttem.A PC1 folyamatosan aktív is, ezzel nincs gond, viszont azóta nem tudom se törölni, se újraprogramozni, sem hozzácsatlakozni.
StlinkV2-m van, SWD-n próbálom programozni. Vélhetően nem fogom megúszni a JTAG programozó beszerzését, de hátha van valakinek valami ötlete.
Ezt a hibát kapom:
$ st-flash erasest-flash 1.6.1libusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv read reply failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_GET_VERSIONlibusb: error [submit_bulk_transfer] bulk transfer failed (dir = In): pipe is stalled (code = 0xe000404f)[!] send_recv read reply failed: LIBUSB_ERROR_PIPE[!] send_recv STLINK_GET_VERSIONlibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_GET_CURRENT_MODElibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_GET_CURRENT_MODElibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_DEBUG_ENTERlibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_JTAG_DRIVE_NRSTlibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_DEBUG_RESETSYSlibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_DEBUG_READCOREID2020-10-06T13:07:08 ERROR common.c: Failed to read core_idlibusb: warning [darwin_transfer_status] transfer error: timed out[!] send_recv send request failed: LIBUSB_ERROR_TIMEOUT[!] send_recv STLINK_JTAG_READDEBUG_32BIT2020-10-06T13:07:11 WARN common.c: Invalid flash type, please check device declarationFailed to connect to target
[ Szerkesztve ]
-
brickm
őstag
válasz tonermagus #11413 üzenetére
Szia,
-nem feltétlen kell mindkét oldalra MCU, de valamivel fel kéne dolgozni a rezgésérzékelő jelét, azt natúrba ne told rá.-Létezik Atiny mikrokontroller pl, ami Dip8, vagy Arduino nano, és micro.
-Sorosporton át tudod azt is, vagy másik arduinoval, esetleg egy FT232-es usb-232 illesztővel, vagy CP...
-
brickm
őstag
válasz brickm #11417 üzenetére
Source:
helmut64 commented on Nov 22, 2018
@ukpiglet I fixed the problem by adding a 10k pullup to IO0 (PROG) on my own board, the internal MCU pullup does not work reliable on reset. On EN I have also a 10k Pullup and a 100nF EN to GND. With this combination the power-on reset timing works for me. -
brickm
őstag
válasz Victoryus #11410 üzenetére
Én átnézném azt a boardot, hogy milyen jelszintek vannak (és azok mennyire stabilak elinduláskor)
No elolvastam ezt a Git posztot. Ahogy gondoltam, reset után belebeg a GPIO láb, amit egy PULLUP, tehát nem föld felé, hanem táp felé húzó ellenállással orvosolnak. Illetve föld felé egy hidegítő kondival, hogy lereszkessen.
Done[ Szerkesztve ]
-
brickm
őstag
" Nem értem, talán derogál egy hozzáértőnek egy ilyen egyszerű feladatra válaszolni?"
Nem, csak én speciel nem válaszolok olyan hozzászólásra, ami nem értem miről szól(ennek lehet több oka, pl átsiklok a kérdés lényege felett, vagy másik HSZben van taglalva mit szeretnél, vagy egyszerűen hülye vagyok passz.)
Most pl elolvastam vagy 4 HSZ-t amit írtatok egymásnak, és még midnig nem tudom mit szeretnél készíteni, miért infrával, meg egyáltalán...
Ha mozgó járműnek szeretnél adatot küldeni érdemben, 433MHzes adó-vevő pár, vagy Xbee/Zigbee-t tudom ajánlani. A távolságmérést máshogy kell megoldani, de az adatátvitel szempontjából az lényegtelen talán.
[ Szerkesztve ]
-
brickm
őstag
válasz Teasüti #10606 üzenetére
Nem előny, hanem direktíva, és a gyártásban EU-n bleül gyakorlatilag kötelező.
[link]
Az ólom és egyéb ide tartozó nehézfém és vegyianyag mentes termékeknek(az utolsó smd ellenállásig) kell legyen ROHS adatlapja, ami elérhető online formában, ahol rendeled.
a fejlécet nézd. -
-
brickm
őstag
válasz brickm #10554 üzenetére
"azt a kondi dielektrikumának szigetelő képessége fogja meghatározni."
Ez így visszaolvasva furcsán hangzik, de momentán nincs életerőm átfogalmazni. Szóval az ESD védelemre is van jobb megoldás, de a kondenzátor is szükséges mindenképp, már csak a nagyfrekvenciás zavarótényezők miatt is.
-
brickm
őstag
válasz tvamos #10553 üzenetére
Egyértelmű, de az ő esetében sanszos, hogy az a kondi nem férne el a DC-DC konverter PCB-jén.
Az ESD védelmet meg a nagyfrekvenciás zavarótényezőket ne keverd bele, azt a kondi dielektrikumának szigetelő képessége fogja meghatározni. Az alap téma, hogy a megfelelően választott kondenzátor tárolókapacitással képes elnyelni X töltésmennyiséget míg megfelelő szintre nem töltődik, ezzel védve a vele párhuzamosan lévő fogyasztó(ka)t. De ha ő szeretné a 3.3as eszözt megvédeni 12voltos feszültségtől kéne neki vagy.... (pff hasraütök 1.5F) jó sok tölséelnyelő képesség.
[ Szerkesztve ]
-
brickm
őstag
válasz Atamano #10543 üzenetére
Szia, a kondenzátor nem véd túlfeszültségtől! Más szerepe van az áramkörben.
Ha védelmet tervezel rá tenni, azt mindenképp a kiementre tedd, (vagy oda is) ugyanis (bár az IC pontos típusát nem látni) ezeknek a dc-dc konvertereket egy feszültégosztóval állítják be, a kiementről visszacsatolva, aminek ha az egyik tagja sérül(megnyúlik, vagy szakadáshoz közelít) felviszi a kiementi feszültséget, akár táp közelig.
Az ESP-k érzékenyek erre, 3.6-4V körüli csúcsfeszültséget képesek elviselni.[ Szerkesztve ]
-
brickm
őstag
válasz Pubszon #10431 üzenetére
Jaja közbe összeraktam a képet, azért írtam rá csillaggal Bocs, elsőre én rendes izzószálás/energiatakarékos ívkisüléses világításnál leragadtam
Azt a 200mA-t egyébként még rá is lehetne bízni a relére, valószínűleg sokáig jól elmenne vele, de ha már úgy is megcan a másik foglalatos relé, mégiscsak jobban fog mutatni, mint az ebayes Meg igen, az utólagos szerelhetőség se mindegy.kgymac
Ez temészetes, az volt a félreértés tárgya, hogy a relék szekunder kapcsain miért csak 150mA a terhelés, de megoldódott.[ Szerkesztve ]
-
brickm
őstag
válasz brickm #10419 üzenetére
Bocs, a szerkesztési időből kifutottam, de egy gondolatébresztés:
Ha lenne egy fölös 12 vagy 24-es segédtápod, meg zselés akkud, kiegészíthetnéd a rendszert egy emergency irányfénnyel.
Nálam úgy néz ki a dolog, hogy ha áramszünet van a riasztó PIR-ek etejére szerelt nagyobb SMD led felkapcsol, így minden helyiségben van legalább egy fényforrás.
-
brickm
őstag
válasz Pubszon #10411 üzenetére
Mondom, hogy rossz a logikád.
Az antenna ellenálláson keresztül kapcsolódik a földre, de mivel esik azon az alsó tagon is X volt feszültség, az megy a bemenetre. Egy ilyen kábel induktívan össze tud szedni a falban 80-110V zavarjelet, aminek bár teljesítménye nincs, a mikrovezérlőd ki\bemenete érzékeny rá. Mint azt a példád is mutatja. (Egyébként ha csökkented az osztódat azzal csak a 24voltot terheled le jobban, lehet, hogy most épp megszűnik ez a hibajelenség, de ez egy rossz megoldás, minden szempontból)
A feszültségosztós húzás amúgy is egy iskola példa a "hogyan ne..." kategóriában.
Mit zársz rövidre? Fogsz egy optocsatolót, aminek az A oldalán lesz a kapcsolt 24volt meg a saját GND-je, ami most ment az osztód tetejére, meg a közös pontra, a B oldaalára meg rákötöd a bemenetedet meg a mikrovezérlő GND-t, a bemenet pedig még direktbe felmegy egy ellenállással a tápra. Semmi nincs rövidre zárva, csak a bemenet, annak meg úgy kellene lenni most is....
-
brickm
őstag
válasz Pubszon #10409 üzenetére
Hogyne lebegne. A feszültségosztó ott van a bemeneted mellett. Ebben adott két ellenállás, amiből az egyik a föld felé mutat, a másik meg egy antennára. Ha az entenna felől jön egy gerjesztett hullám, az osztód mivoltából ott 0-nál mindenképp nagyobb, akár 3-5V, vagy még nagyobb impulzus is keletkezhet, aminek természetesen teljestménye nincs, de egy arduino bementét kapcsolhatja.
A bemenet akkor nem lebeg, ha fix potenciálon nyugszik, legyen az logikai 0, vagy 1. Tehát gnd, vagy táp. Minden köztes állapot lebegés.
[ Szerkesztve ]
-
brickm
őstag
-
brickm
őstag
válasz Teasüti #10317 üzenetére
Úgy értettem, hogy leírtam mire keressen rá és még ott tartunk, hogy a sorosport egy csatlakozó fajta...
De lehet én nagyoltam el a választ, vagy az is lehet, hogy nem ennyire egyértelmű ez a dolog (még neki). Ezért szerkesztettem át inkább.
( Épp gyakorló fázisában vagyok a másokhoz való türelmes hozzállásban, bocs ) -
-
brickm
őstag
válasz tvamos #10262 üzenetére
Nálam nem a tervezett elavulás dominá, de más kategóriára fejlesztek. Nem lakossági felhasználás a fő cél.
Amúgy elbtudom kézelni, higy ez direkt van így. Hisz ha a picet agyonvete ez a művelet, akkor a forráskód hiányávan javíthatatlan a termék.A jól megcsinálást egyes esetekben felülírja a felhasználó😁
[ Szerkesztve ]
-
brickm
őstag
válasz brickm #10101 üzenetére
Sziasztok ismét!
A probléma valami olyasmi lesz, hogy a külső .h file-t nem forgatja be a változóba MAC alatt az IDE.
Kipróbáltam egy korábbi programomat, amiben nincs külső file, ezesetben szépen megjelenik a lap.
Viszont window alól az új programom is. Másképp kellene megadni az elérési utat mac alatt? De akkor miért nem ad hibát, hogy nincs file?#include "index.h" -val hívom meg programban.
-
brickm
őstag
-
brickm
őstag
Sziasztok!
Atom és platformIO modullal küzdök jelenleg. A Problémám az, hogy építettem egy szoftvert egy hardverre, amit windows alól buildelve feltöltöttem éshazsnálok jelenleg is, viszont most MAC-en sajnos nem sikerül a buildelés.
Egy ESP8266 NodeMCU-0.9es devboardra menne a program. a main.ino tartalmazza a vezérlést, az index.h pedig a webes megjelenést. Viszont feltöltés után nincs weblap. Látom a mikrokontrolleren, hogy érkezik kérés, (handle kezelőm van) de nem küld vissza lapot. Az az első gyanúm, hogy mac-en nem buildeli automatikusan hozzá az index.h file-t (ez amúgy stringbe töltődik be a programban) Meg tudom valahol nézni, hogy miket buildel? Esetleg más ötlet?
Aruino IDE alól ugyan ez a jelenség, amúgy error mentesen lefut a compile.
-
brickm
őstag
válasz choco01 #7719 üzenetére
A pnelen a 4-es tüskesornál ottvan, hogy AO(analog out) és DO(digital out) A leírás is ír valami ilyesmit, de csak épp ránéztem.
(szerk.: jjh, ottvan, hogy wide range comparator van rajta. beállítod az értéket és kidobja hogy 0 vagy 1. Meg gondolom párhuzamosan adja az AO-n az analog output értéket amit a komparátor is mér.)
[ Szerkesztve ]
-
brickm
őstag
válasz Teasüti #7701 üzenetére
NEm igazán értem a kérdést, de egy közös potenciálnak lenni kell mindenképp, hiszen ahhoz képest állapítható meg az összes többi.
HA egy konvertered vagy MCU-d nincs letéve testre, mint "referencia" akkor ahhoz képest a kiemenete sem lesz sehol. (vagyis de, de nyilván mérés szempontjából nem)Ha konkrétabbat tudnál róla mondani egyszerűbb lenne megválaszolni.,
Egyébként megcsinálod a kötést és egy GND ponthoz képest mérj feszültséget ahol épp kérdéses, hogy kell e kötni GND-t vagy sem. -
brickm
őstag
Hangkeverő bemutatása
a bemutatáshoz egy Behringer UB1204-PRO keverőt alkalmazunkMikrofon bemenetek: MIC
Mind a négy mono mikrofon bemeneti csatorna szimmetrikus XLR csatlakozóval rendelkezik. Ezek 48 V fantomtápot tudnak szolgáltatni a kondenzátormikrofonok számára, ha azt a keverő hátlapján bekapcsoljuk. A fantomtáp bekapcsolása előtt némítsuk a keverőt a MAIN MIX segítségével! A bemenetek frekvencia-átvitele 10 Hz-150 kHz (-1dB), erősítési tartománya +10 dB és +60 dB közötti, a maximális bemeneti szint, ami még nem okoz 0,005%-nál nagyobb THD+N torzítást +12 dBu. Bemeneti impedanciája 2,6 kΩ, jel-zaj viszonya 110 dB.
Vonal szintű mono bemenetek: LINE IN
A négy mono mikrofon bemenet használható 6,3-as sztereo jack csatlakozó segítségével szimmetrikus vonal szintű bemenetnek is. Aszimmetrikus kimenettel rendelkező egységek is csatlakoztathatók ezekre a bemenetekre 6,3-as mono jack csatlakozó segítségével. Egy időben azonban vagy a mikrofon bemenet, vagy a vonal szintű bemenet használható, a kettő együtt nem. A bemenetek frekvencia-átvitele 10 Hz-90 kHz (-1dB), erősítési tartománya -10 dB és +40 dB közötti, a maximális bemeneti szint, ami még nem okoz 0,005%-nál nagyobb THD+N torzítást +30 dBu. Bemeneti impedanciája 20 kΩ szimmetrikus, 10 kΩ aszimmetrikus bekötésnél, jel-zaj viszonya 110 dB.Ha növeled a bemeneti impedanciát még stabilab jelet kapsz, csak nyilván ebben az erősítőfokozat valószínáleg nem igényli, hogy ennél nagyobb legyen.
Mint mondtam én minimum 25kOhm-ot betervezek hangtechnikai eszközökre LINE vonal esetében. Hangszer bemenet, pl egy gitár hangszedője megköveteli a 150-250kOhm-ot is, és még tapasztalhatsz magasvesztést. Sztandard 1Megát pl lehet alkalmazni.Technical Editor Hugh Robjohns replies: An electric guitar ideally needs to work into an impedance of around 1MΩ or thereabouts. The line inputs of most sound consoles and mixers (I'm assuming that you had previously been plugging your guitar into a line input) generally have an impedance of about 10 to 50 kΩ
forrásokat csak gyorsan gugliztam, ha kell stúdiótechnika oktató könyvből is kifotózom
[link]
[link][ Szerkesztve ]
-
brickm
őstag
válasz Janos250 #7684 üzenetére
Telorol vagyok ugyhogy röviden, majd kesobb kifejtem.
OA1160 adatlapja szerint uf<1v.tehát a szórás 1volt alatt van VALAHOL. Nem hiszem hogy ezzel előrébb lenne. Mint egy sotkival ami 0.1voltot ejt.... Viszont ottis ottvan a 100mv os ejtés amit konpenzálni kell vagy programmal vagy hardverrel. A buffer erosito nem tul bonyolult. Tuti mukodik mert hasznaltam. Es a program se fogja kiakasztani mire megirja.Az ellenallasos resz pedig.:nem. Minden kisjelű rendszer a lehető legkisebb terhelest szeretne kapni, mivel nincs mögöttes teljesítmény. De majd elolvasom megint es ha kell kifejtem.
-
brickm
őstag
válasz MineFox54 #7682 üzenetére
Nem. A gyök kettes szorzat a pulzáló kétutas egyenirányítás után keletkezett feszültség pufferelt értékét adja hozzávetőlegesen. Az egyenirányított fesz értékét integrál számítással lehet kikalkulálni. Az egyenirányítás feltétele,hogy a jelútba kerülő soros diódát kinyisd. A mai átlag SI dioda nyitó feszültsége 0.6- 0.7v közötti szórásban van. A graetz híd esetében két soros dióda van félperiódusonként, tehát majd 1.4volt kell hogy kinyisd. Mivel ekkora feszültség neked nem áll rendelkezésre max valami joféle sotki dioda jöhet szóba ahol elenyésző a nyitófeszültség, ellenben akkor is fennáll a meghajtó fokozat terhelése, mivel az arduino bemenete még mi dig nem alkalmas az audio jelek impedanciaigényének megfelelni.
Azt szoktam mondani, és ez általában helytállo törekvés, hogy a vonalszintű jelhez legalább 25kohm os bemenetet párositsunk de inkabb 50 150k vagy 1-10Mega ohmot. Ellenkező esetben zajos lesz a mérés, illetve erősen korlátozott felső tartomány marad.A detektoros rádió esetében is fontos, hogy a terhelés (fulhallgató) több kohm legyen. Ellenkező esetben leterheled a vett jelet és mivel teljesitmény nincs mögötte leesik a feszültség...
A hangszoros detektoros radióban van erősítő fokozat. -
brickm
őstag
válasz MineFox54 #7678 üzenetére
Hát deszkamodellként nem lesz pontos kicsit sem, mivel tényleg nagyon érzékeny az arduino bemenete a vezetékek hosszára, de ha csinálsz neki NYÁK-ot és közelteszed az MCU lábához az opa kimenetét akkor pontos is lehet. A megírt programnak nyilván matematikailag megfelelőnek kell lenni.
-
brickm
őstag
válasz MineFox54 #7675 üzenetére
Nem azt mondtam, hogy ne csináld, csak a feltett kérdés alapjűán azt hittem konkrét dolog miatt ezt cisnálod, nem pont gyakorlófeladatnak való, de kinek mi. Én aztán nem akarom tőle elvenni a kedvedet, sőt.
Amit én építenék elé mindenképpen:
[link]A visszacsaolást módosítsd, mert ez hangszerhez készült illesztés, szelektív az átvitele, de szabályozható a jelszint 0dB és valami 15-20dB környékén. Tehát letekert visszacsatolással 1:1-az átvitele.
SZerk.: Az analog input és az OPA kiemenete között minimális legyen a vezetéktávolság, mert az arduino nagyon érzékeny az elektromos szmogra. Serial printbe írd ki az analog input értékét, és láthatod, hogy ha beledugsz egy darab drótot felmegy mintha kivezérelnéd.
[ Szerkesztve ]
-
brickm
őstag
válasz MineFox54 #7673 üzenetére
ÖÖ az ugy nem lesz jó.
Egy mert az AC peak to peak és a mért RMS között nem 2-es osztó van. Másrészt meg mert az arduino analóg bemenet 0 voltja 0-t ad vissza, tehát a sinusz hullám alját meg sem méri. Azért lebeg mert buffer áramköröd nincs, az arduino analog bemenete meg egyáltalán nem jó zenei hangtartomány mérésére impedancia szempontjából.
A legoptimálisabb ha készítesz egy nagyimpedanciás bemenettel bíró fokozatot mondjuk tl072-vel, aminek a kimenete fel van emelve 2,5Volt DC-re és így kapcsolódik be az arduinóba. Mivel így az analóg bemenet középen lebeg, mint virtuális testpont, ahhoz képest lefelé és felfelé is tudsz mérni. A mért értéket tudod Peak to Peak és egy matematikai összefüggéssel RMS-változatban is tárolni és megjeleníteni.De ha se arduinoban nem vagy jártas, se audio mérésben, mi értelme lesz egy pontatlan szintmérőnek?
[ Szerkesztve ]
-
brickm
őstag
válasz távcsőves #7586 üzenetére
Értem a kódod, de ezzel összehaonlítás szempontjából ugyan az a bajom,ami az enyémmel is, hogy a serial terminálba bevitt értéket mikor A-ba írod azt 2karakterre írja be, így a "313197824" így néz ki a-ba írva:
"51
49
51
49
57
55
56
50
52"Itt a kódom, lehet én csinálom rosszul, de nem értem....
//#define debug
char Str2[] = "12AB0500"; //313197824
long a;
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
Serial.println(strtol(Str2, NULL, 16 ));
}
void loop() {
if (Serial.available() > 0) {
delay(50);
getserial();
}
else {
delay(50);
loop();
}
}
void getserial () {
a = Serial.read();
Serial.println(a);
if (a == strtol(Str2, NULL, 16 )) {
digitalWrite(13, HIGH);
}
else {
digitalWrite(13, LOW);
loop();
}
delay(1000);
}[ Szerkesztve ]
-
brickm
őstag
válasz Gergosz2 #7583 üzenetére
Szia,
Az ASCII "A" HEXában 41. Azt akartam elérni, hogy a sorosport1-en kap egy ASCII A betűt, vagy hexa 41-et akkor kapcsoljon. Ez sikerült is, most azt szeretném, hogy pl a HEXadecimális 'B7' -re is kapcsljon. A konkrét gondot az okozza, hogy a B7-et megérttessem vele. Akkor sikerült csak ha átformálom DECimális értékké, és azt veszem fel változóba és azzalé hasonlítok össze.
Bemásolom a kódrészletem egyszerűsítve, hogy lásd miről írok:int incomingByte = 0x00;
char A;
char B;
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
pinMode(2, INPUT);
pinMode(13, OUTPUT);
digitalWrite(13, HIGH);
}
void loop() {
if (Serial1.available() > 0) {
incomingByte = Serial1.read();
Serial.print("I received: ");
Serial.println(incomingByte, HEX);
if ((incomingByte) == 'B'){ // Itt szeretné,, ha pl B7, vagy F1 -re is tudnék kapcsolni. Vagy akár még nagyobb HEXA értékre.
digitalWrite(13, LOW);
}
else{
digitalWrite(13, HIGH);
}
}
} -
brickm
őstag
Sziasztok!
Arduinon hogyan programoznátok fel azt, hogy egy összetett HEXA értékre kapcosljon a kimenet. Elértem azt, hogy ha HEXA A(41) érkezik Serial1-re, akkor a DIO13 lekapcsol, másra nem, csak erre, majd minden másra vissza. De az összetett értékre sajna nincs ötletem az && && elésen kívül. -
brickm
őstag
Sziasztok!
Sikerült végre feléleszteni az ESP-01-et arduino IDE alól is.
ott tartok a dologgal, hogy, itt a kódom, de ebbe hiába teszem be az if- else sorokat, a html lapon nem változik az input értéke. Annyit kifilóztam, hogy azért, mert a setupba került, és a loopban kéne tenni, de a loopba téve lesem generálja a html lapot, mivel az a setupban generálódik. Na itt akadtam el, hogy akkor hogyan tovább?
A kód aljára tettem az input kiolvasást, kommentbe#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
MDNSResponder mdns;
// Replace with your network credentials
const char* ssid = "TP-LINK_B791B8";
const char* password = "passw0rd_000";
ESP8266WebServer server(80);
String webPage = "";
int gpio0_pin = 0;
int gpio2_pin = 2;
int dsc_state = 0;
void setup(void){
webPage += "<h1>DSC PC 1616 WebPage</h1><p>GPIO_0 <a href=\"socket1On\"><button>Arming</button></a> <a href=\"socket1Off\"><button>Disarming</button></a></p>";
// webPage += "<p>GPIO_2 <a href=\"socket2On\"><button>ON</button></a> <a href=\"socket2Off\"><button>OFF</button></a></p>";
//
// preparing GPIOs
pinMode(gpio0_pin, OUTPUT);
digitalWrite(gpio0_pin, LOW);
pinMode(gpio2_pin, INPUT);
digitalWrite(gpio2_pin, LOW);
delay(1000);
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
server.on("/", [](){
server.send(200, "text/html", webPage);
});
server.on("/socket1On", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio0_pin, HIGH);
delay(1000);
});
server.on("/socket1Off", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio0_pin, LOW);
delay(1000);
});
server.on("/socket2On", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio2_pin, HIGH);
delay(1000);
});
server.on("/socket2Off", [](){
server.send(200, "text/html", webPage);
digitalWrite(gpio2_pin, LOW);
delay(1000);
});
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
//Ez az input mező kiírásához:
//dsc_state = digitalRead(gpio2_pin);
//if (dsc_state == HIGH){
// webPage += "<h2>Input is HIGH</h2>";
//}
//else {
// webPage += "<h2>Input is LOW</h2>";
//}[ Szerkesztve ]
-
brickm
őstag
válasz Janos250 #7529 üzenetére
Próbáltam a portable-t is már, sajna azzal is ugyan az a jelenség fogadott. Viszont megszületett a compile.
A preference-ben bekapcsoltam, hogy írjon ki mindent a terminál outputra. Így megtapasztaltam, hogy igazából csinálja a dolgát, csak khm.... igen szerény sebességgel. (a blinknek kellett úgy 7-8perc )Köszönöm a segítséget neked is!
-
brickm
őstag
Halo,
Valakinek van valami ötlete, hogy az arduino program miért nem compile-olja le az esp-s programokat?
Ha kiválasztom a generic esp8266 panelt a compile megáll 3\4-ednél. Kipróbáltam 3 verziót.Ha vissza állok megára, azt megcisnálja bele is írja a megába.
[ Szerkesztve ]
-
brickm
őstag
Halo.
Esp8266 nodmcu firmware. A gpio állapotát hogy lehet megjeleníteni html lapon egyszerűen. Amit találtam neten és egyszerű, arduinos, nálam a lua script van feltöltve. -
brickm
őstag
Sziasztok!
Az a helyzet, hogy tegnap még feltudtam csatolni a wifire az ESP8266-01-et. Most viszont majdnem minden programra ír ki valami errort.
Pl:-- print ap list
function listap(t)
for k,v in pairs(t) do
print(k.." : "..v)
end
end
wifi.sta.getap(listap)erre dobja:
> -- print ap list
function listap(t)
for k,v in pairs(t) do
print(k..> " : "..v)
end
end
wifi.sta.getap(listap)
stdin:1: unexpected symbol near '" : "'
>Azt figyeltem meg, hogy valami karakterkódolási baj lehet néha, mert pl a wifi SSID-met is felbontja pl TP>>LINK_B= stb, természetesen a >> nincs benne, ő teszi bele. Esetleg valakinek valami ötlete?
-
brickm
őstag
Most így áll a dolog.
ESP8266 flasher-rel rátettem a nodemcu_integer_0.9.5_20150318.bin -t
most 9600-as baudrate-tel elérem, comporton és ezt írja:NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4
lua: cannot open init.lua
>
----------------------------
No files found.
----------------------------
>
Total : 549941 bytes
Used : 0 bytes
Remain: 549941 bytesEz most jó így? Innen hogyan tovább?
[ Szerkesztve ]
-
brickm
őstag
Sziasztok!
Esp8266 01-es modulommal bajlódok épp.
A problémám az lenne, hogy nem tudok rá ilyen .lua fájlokat feltölteni. Minden errorra áll ki.
Manuálisan fel tudtam csatolni a hálózatra,ESPlore segítségével.
Mi a pontos menete pl egy egyszerű GPIO on\off weblapnak?
-
brickm
őstag
válasz gyapo11 #7168 üzenetére
Sziasztok!
Riasztóközpontom open-collectoros kimenetét szeretném GPIO-ra kötni és kommunikáltatni a hálózaton.
Ehhez szeretnék egy ESP 8266-os modult vásárolni, de láttam, hogy elég sok fajta van.
Az lenne a kérdésem, hogy melyik verzió, melyik tipus lenne nekem a legmegfelelőbb, van egy arduino megám is, lehetőleg azzal legkompatibilisebb változatot szeretném. -
brickm
őstag
Sziasztok!
Wifi modulbol melyiket ajánlanátok?
Arra gondoltam, hogy a 8266 lehet nekem az ideális választás, hiszen soros bemenete van,a mit könnyedén tudok vezérelni egy arduinoval akár, viszont van benne tárhely és önállóan tud futtatni kódot, így pl a riasztórendszeremhez tudom kapcsolni és független elemként is tud üzemelni az online ki\be-kapcsoláshoz. -
brickm
őstag
Halo,
Xbee vagy zigbee modult használt már itt valaki arduinoval? Lenne pár kérdésem a konfiggal kapcsolatban. -
brickm
őstag
Még egy amatőr kérdésem lenne.
Régebben sikerült készítenem egy "menüt" terminálba.
Amit most nem sikerül reprodukálni.
Valami ilyesmire gondoltam:void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("");
Serial.println("A - Read EEPROM");
Serial.println("B - Write EEPROM");
Serial.println("C - Clear EEPROM");
Serial.println("");
delay(100);
select();
}
void select() {
int menu1 = 0;
char a=a;
char b=b;
char c=c;
if (Serial.available() > 0) {
menu1 = Serial.read();
delay(5);
if (menu1 == a) {
submenu1();
}
if (menu1 == b) {
submenu2();
}
if (menu1 == c) {
submenu3();
}
else { return select(); }
} }[ Szerkesztve ]
-
brickm
őstag
Sziasztok!
EEPROM-ba való írással van egy kis gondom. Hátha van rá valami jó ötletetek.A következő folyamatot ti hogy rövidítenétek le?
A lényeg, hogy valami olyan megoldás kéne, amivel a val utáni szám is ugyan úgy növelhető, mint az addr értéke. Így elég lenne egy sor beírni mondjuk 255 sornyi adatot az EEPROMba.void submenu2() { // Write EEPROM
int addr = 0;
int count = 000;
int val000 = 222; //DE
int val001 = 173; //AD
int val002 = 190; //BE
int val003 = 239; //EF
int val004 = 200; //C8
EEPROM.write(addr, val000);
addr = addr + 1;
EEPROM.write(addr, val001);
addr = addr + 1;
EEPROM.write(addr, val002);
addr = addr + 1;
EEPROM.write(addr, val003);
addr = addr + 1;
EEPROM.write(addr, val004);
addr = addr + 1;
delay(50);
endof(); -
brickm
őstag
Sziasztok!
Segítségre lenne szükségem az Arduino szoftverrel kapcsolatban.
Konkrétan az a gondom, hogy nem indul el.
1hete használtam utoljára, a gépen azóta nem történt semmi komolyabb változás, (zenehallgatás és filmnézés)Akkor még programoztam vele a megámat, most meg el se indul. Próbáltam sandboxból, hátha ott látok alamit, de egész egyszerűen nem indul el.
Java reinstall volt, ujratelepítettem vagy 80x, semmi. A portable változat se indul el.
(win 10 pro, java8 hivatalos forrásból, arduino ide 1.8 saját oldaláról)Valakinek valami ötlete?
-
brickm
őstag
válasz Janos250 #3580 üzenetére
Írtam az arduinonak, meg visszanéztem a latest version arduino szoftvereket. Nem találtam meg a pontos kezdetét a hibának, mert nem volt kedvem feltenni az összeset, de pl az 1.0.X-es release-ek képesek írni megával. Csak azokat már nem egyszerű beszerezni.
De az 1.5-ös ISP.ino még szintén képes megán keresztül égetni. Ez hivatalos kiadás, az enyémmel szemben, így bárki bátran használhatja. -
brickm
őstag
3-4 óra aktív okoskodás meg egy kávé után megoldottam a problémámat.
A második bekötés a helyes, az 50-51-52-53as lábakat kell használni a programozáshoz, de hibás az ISP example, nem tud mega programozni vele.
Kiszkópoltam a lábakat, az rx-tx-eket, átolvastam és értelmeztem az egész example-t. Átírtam és most működik, írja tökéletesen a külső IC-t. Már készül a shield nyákterve -
brickm
őstag
Sziasztok mega 2560-nal szeretnék üres atmega328-as IC-be bootloadert égetni, majd a programot. Hogy tudom ezt megtenni?
(Kipróbáltam 2 megoldást, ami nekem nem sikerült, ezért érdeklődöm, tapasztaltabbak mit használnak?) -
brickm
őstag
válasz Janos250 #3482 üzenetére
Köszi, sokat utánaolvastam, sok helyen azt írják amit te, néhányan viszont nem tudtak rá írni. "Serial port is busy" üzenettel állt le az égetés.
Annó az UNO(nem eredeti volt)-val én is találkoztam ezzel az üzenettel, amikr egyszerre volt megnyitva a serial monitor és égettem volna bele, na akkor rendszeresen erre futott ki.
A Mega(ami nem utánzat mega) nem ír ki ilyet, serial monitor mellett is ír rá. Remélem sikerül, már csinálom hozzá a shieldet.[ Szerkesztve ]
-
brickm
őstag
válasz nemethdann #3470 üzenetére
Kiteheted. Bírja. Sok mikrovezérlős kapunyitot csináltam már.
-
brickm
őstag
Sziasztok!
Az lenne a kérdésem, hogy Arduino Mega 2560-am van, amin ugyebár smd IC van, ha veszek DIP28as Atmel IC-t, kivezetékelve bele tudom égetni a bootloadert [link]
De programot is tudok így bele égetni? Vagy kell hozzá egy UNO?
Új hozzászólás Aktív témák
- Clevo N750BU(Terra 1542)15,6 FHD LED, I5 7200U,4Gb DDR4,uj 120Gb SSD,jó akku, töltő
- Nintendo Switch OLED 19.0.1 Dual-Boot Cfw + 128GB MicroSD + Atmosphere 1.8.0, 3 hó garival!
- XBOX ONE S 1TB, dobozában, gyári tarozékaival és 6 hó garanciával, Bp-i üzletből!
- XBOX ONE X 1TB, makulátlan szép állapotban, 6 hó teljeskörű és 1 év SW garanciával Bp-i üzletből!!
- XBOX Series X, dobozában, gyári tartozékaival, 2025.06.28.-ig gyári garancia!! Bp-i üzletből eladó!
Állásajánlatok
Cég: Axon Labs Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest