-
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
-
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.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
nagyúr
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
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.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
nagyúr
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.[ Szerkesztve ]
-
Dißnäëß
veterán
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).
[ Szerkesztve ]
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
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?Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
weiss
addikt
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();
}I did nothing, the pavement was his enemy!
-
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.
Release the Beast....
-
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...
Release the Beast....
-
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ó.हरि बोल | हरे कृष्ण हरे कृष्ण कृष्ण कृष्ण हरे हरे हरे राम हरे राम राम राम हरे ह रे
-
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
-
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.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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 ..
-
nagyúr
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...
-
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? -
nagyúr
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.
-
nagyúr
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.[ Szerkesztve ]
-
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.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
Gergosz2
veterán
válasz zsolti_20 #13274 üzenetére
őőőő, ha LED villogtatás akkor miért nem shift register? Kicsit olcsóbbra jönne ki mint 50 nano. Ebben az esetben CS pinek száma szabna határt. De vannak I2C-s IO expanderek, pl mcp23017, ahol I2C busz címek száma szabna határt.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
-
nagyúr
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?
-
nagyúr
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. -
Dißnäëß
veterán
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).
[ Szerkesztve ]
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
nagyúr
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.
[ Szerkesztve ]
-
Janos250
őstag
válasz zsolti_20 #13274 üzenetére
"Egy egyszerű példát szeretnék használni. Minden sorban az első arduinotol az utolsóig 1-1 led felvillan majd kialszik. "
Ha tényleg led a cél, nem csak egy példának szántad, akkor 1 (egy!) panel + WS2812. Tipikusan ilyenre találták ki.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
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] -
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.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
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.[ Szerkesztve ]
-
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.
[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
nagyúr
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.
[ Szerkesztve ]
-
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 -
nagyúr
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. -
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.
Új hozzászólás Aktív témák
- Milyen processzort vegyek?
- Milyen belső merevlemezt vegyek?
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Hogy is néznek ki a gépeink?
- Milyen alaplapot vegyek?
- OLED TV topic
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- A fociról könnyedén, egy baráti társaságban
- Autós topik
- Vezetékes FEJhallgatók
- További aktív témák...
- HP OMEN Gaming 16-xd0009np - ÚJ 16" FHD GAMER laptop - Ryzen 7-7840HS, 16GB, 512SSD, RTX4050 (6GB)
- ARCTIC Liquid Freezer 360 II A-RGB rev.3 ( Garancia )
- NAD M25 7Ch Master Series végfok végerősítő
- Sony 55-210mm f/4.5-6.3 OSS (Sony E)
- Eladó több mint 2 év garanciával - LG OLED48C21LA / 4K/UHD/2160P/120Hz/OLED