- Bemutatkozott a Poco X7 és X7 Pro
- Yettel topik
- Magyarított Android alkalmazások
- Hónap végén érkezik a Xiaomi Band 10, ára is van
- iPhone topik
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Google Pixel topik
- Milyen okostelefont vegyek?
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
-
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
-
-
-
repvez
addikt
az IN megy a arduino boardba az OUT rész csak akkor van használatban ha több shiftregisztert akar az ember összekapcsolni és igy növelni a nyomógombok számát anélkül, hogy plusz lábakat kellene lefoglalni az arduino boardon.
Tehát alapeseben nincs használatban az a rész, de nem tudom, hogy elhagyható e vagy kell a kapcsolásba -
válasz
repvez #14894 üzenetére
akkor csak simán kiitörölhetem az OUT részt és az egyik chipet a többi marad akkor elvileg müködik?
Akkor hol fogod kivenni az adatot a kapcsolásból?
És ha az MCP chip azonos lábait is összekötöm vele akkor az sem fog gondot okozni?
Én azt mondom, hogy nem, de mielőtt legyártatod hozzá a panelt 10000 példányban, egy breadboardon azért próbáld ki mindenképpen.
-
repvez
addikt
Megkevert, hogy említetted a 4021b chipet is a válaszodban.
igen az összes ellenállás egyforma mindenhol.
DE akkor csak simán kiitörölhetem az OUT részt és az egyik chipet a többi marad akkor elvileg müködik?
És ha az MCP chip azonos lábait is összekötöm vele akkor az sem fog gondot okozni? -
válasz
repvez #14890 üzenetére
Én végig az alsó rajzról beszéltem...
A c1es részen annyi rész kell bele ahány chip vagy az mindig 3 db vagy mehet akár egy is csak megfelelő értékkel és az mennyi ?
Itt nem egészen értem, hogy miért van pont 3db párhuzamosan kötve, egy biztos: nem a chipek száma miatt. Azt tudom, hogy 3db 100nF-ot nem lehet 1db 300nF-ra cserélni, mert a nagyfrekvenciás tulajdonságai megváltoznak. Szoktak egy nagy (pl. 1uF elektrolit) és egy kis értékű (pl. 100nF kerámia) párhuzamosan kötni, mert az a nagy és a kisfrekvenciás zavarokat is szűri, gondolom itt is ez lett volna a költő szándéka. De erről a hobbielektronika topikban értelmesebb választ fogsz kapni (vagy itt a hozzáértő kollégáktól).
Az R25 re gondoltam Az a MISO-ba megy és a chipen belül meg az SI részre megy, nem a CS lábra.
Felhúzó ellenállás. A harmadik chip soros adat bemenetét védi a lebegéstől (random adat) arra az esetre, ha nincs semmi a bemenetre kötve.
Meg az OUT rész jobb felül az R26al elhagyható ha nem akarom daisy chainbe kötni több shift regiszterrel?
Ezt nem tudom, ennek valami védelmi szerepe lehet, nincs a rajzon, de vmi kisértékű (pl. 100 ohm) ellenállás lehet.
-
repvez
addikt
Persze, csak figyelj oda, hogy a maradék két chipet hogy kötöd össze.
erre irányult volna a kérdésem, hogy hogyan vegyem ki, mert már láttam 1,2,3,4 chipes panelt is , de csak erről a 3asrol van kapcsolási rajzom, ezt nem én rajzoltam ezért érdekel, hogy
mi az ami változik.
A c1es részen annyi rész kell bele ahány chip vagy az mindig 3 db vagy mehet akár egy is csak megfelelő értékkel és az mennyi ?Az R25 re gondoltam Az a MISO-ba megy és a chipen belül meg az SI részre megy, nem a CS lábra.
Meg az OUT rész jobb felül az R26al elhagyható ha nem akarom daisy chainbe kötni több shift regiszterrel?
-
válasz
repvez #14883 üzenetére
az MCP320X-es chipeknél lehet e keverni, hogy csak analog vagy digitális potmétert is lehet e rákötni.
Nem használtam még digitális potmétert, de elvileg pontosan úgy viselkedik kapcsolásban, mint az analóg, úgyhogy valószínűleg igen.
Illetve ha shift regiszterrel használom akkor ugyan ugy használhatja a közös lábakat mint a MISO,SCK, gen stb.. ?
Eddig nem tűnt fel, hogy a CD4021B SPI protokollt használ, de mindig tanul az ember.
Elvileg mehet egy vonalra.
ha csak 2 chipet akarok használni akkor elég csak kivenni a kapcsolásból vagy mi változik meg ha csak 10 gombot akarok használni amihez 2 chipre van szükség?
Persze, csak figyelj oda, hogy a maradék két chipet hogy kötöd össze.
A különálló részek miért kellenek és az ellenállások a felső részén?
Az R5 és a C1 érdekel? R5: a CS lábat húzza magas szintre
C1 a zavarokat szűri a tápfeszültségből. -
dew28
aktív tag
-
repvez
addikt
üdv újra itt.
egyelőre most nem a szenzorokkal bajlódok, hanem csak nyomógombokkal és potméterekkel.
egy joystiket akarok átalakítani .
10 potméter abból 6 potméter lenne TLE5010/5011 hall senzor a többi 4 hagyományos.
és 32 nyomógomb.
A problémám nem is a nyomógombokkal lenne, hanem a potéterekkel.
Mert ha jól tudom a windows csak 8at enged használni egyidejűleg.
És ha jol tájékozódtam, akkor az MCP320X(2,4,8) chipekkel lehetne az analog potmétereket digitálissá alakitani és egy chip csak 1 pint használna fel a CS részen még akkor is ha 8 potmétert kötök rá.
Igy fel lehetne szabaditani helyeket a shift regiszternek vagy más dolgoknak.Enélkül csak 8 analog vagy digitális potmétert tudnék használni a szabad helyeken.
DE nem tudom, hogy az MCP320X-es chipeknél lehet e keverni, hogy csak analog vagy digitális potmétert is lehet e rákötni.
Illetve ha shift regiszterrel használom akkor ugyan ugy használhatja a közös lábakat mint a MISO,SCK, gen stb.. ?
ez egy 24 gombos shift regiszter kapcsolási rajza.
ha csak 2 chipet akarok használni akkor elég csak kivenni a kapcsolásból vagy mi változik meg ha csak 10 gombot akarok használni amihez 2 chipre van szükség?
A különálló részek miért kellenek és az ellenállások a felső részén?
ez meg a hall szenzor a potméterekhez ezt kellene összekombinálni az analog potméterekkel és a shiftregiszterhez, hogy a arduino nano vagy pro microhoz lehessen kötni. -
Janos250
őstag
-
dew28
aktív tag
válasz
Janos250 #14874 üzenetére
function forraloszazalek(element) {
var sliderValueForraloFutes = document.getElementById("csuszkaErteke").value;
console.log(sliderValueForraloFutes);
var xhr = new XMLHttpRequest();
xhr.open("GET", "/?F="+sliderValueForraloFutes, true);
xhr.send();
***document.getElementById("folyamatosKiiras").innerHTML = sliderValueForraloFutes;
***}
//vagyhat nemtudom hova szeretned kiirni az erteket
#14877: rakhatod kuldes elottre is
-
Janos250
őstag
válasz
vargalex #14871 üzenetére
Köszi mindkettőtöknek. Azért link, mert annak előzménye van, ezt tavaly mutattam, ahhoz akarnék kapcsolódni. Bár gondoltam, hogy mégis átállok buttonra, de a 14867-ban írt megoldás jól működik, az marad egyelőre.
Javascriptben intézném a hívást? Na, az nem megy, mert hülye vagyok a javascripthez.
Ezért nem boldogulok a 14863-ben leírt problémával se. Ott aXMLHttpRequest
helyett kellene valami javascriptes megoldás, de nem tudom mi. -
dew28
aktív tag
par linux disztron alapbol FF van fenn. most akkor meg az op.rendszert is meg kell szabni?
safarin anno volt ugy, hogy elkezdtem manualisan beirni az esp ip-jet a cimsorba a megfelelo valtozo ertekevel, es ha az elozmenyekben mar benne volt, akkor automatikusan be is toltotte a hatterben, igy pl felkapcsolta a vilagitast pedig meg vegig sem irtam amit akartam..
-
Janos250
őstag
válasz
gyapo11 #14868 üzenetére
Elég furán nézne ki, ha azt kellene mondani 30 főnek, hogy a mai online órára olyan gépet használjanak, amin van crome, mert csak azzal működik, holott éppen azt (is) akarom demonstrálni, hogy milyen pofonegyszerűen lehet ilyesmire egy 2000 forintos kontrollert használni.
"böngésző mint program viselkedését a konfigurálás határozza meg, a html kezelésére lehet hatással a css, ezek elkülönülnek egymástól"
De számos olyan dolgot lehet CSS-be tenni, ami a böngésző működését befolyásolja. -
gyapo11
őstag
válasz
Janos250 #14867 üzenetére
A böngésző mint program viselkedését a konfigurálás határozza meg, a html kezelésére lehet hatással a css, ezek elkülönülnek egymástól. Az sem ritkaság, hogy egy szolgáltatás használatának részét képező programnál vannak kikötések, pl. a használható böngésző vagy annak valamilyen verziója. Azt írtad chrome-mal jó, akkor írd elő, hogy azzal kell használni. Van portable verzió, bemásolja, használja, nem kell ettől átállnia a firefoxról, azt használhatja tovább minden másra. Tkp. a kütyühöz adod a chrome-ot mint frontendet.
-
Janos250
őstag
válasz
gyapo11 #14866 üzenetére
Köszi, ez eggyel több infó. Ha ezt is beállítom, akkor tényleg nincs preconnect. Viszont az a baj, hogy ezt a felhasználó gépén kellene állítani. Próbáltam túrni a netet hogy az "a"-ra a hovernél van-e olyan lehetőség, hogy CSS-ben letiltani, de - úgy látom - nincs. Mindenfélék vannak a hoverre, hogy hogyan tudom a színét szabályozni, a képet fejreállítani, meg hasonló dolgok, amire mikor böngészem a netet, azt szoktam mondani, hogy ezek helyett a gyerekes dolgok helyett inkább a tartalomra kellett volna koncentrálni.
Így ez maradt:WiFiClient client = server.available();
if (client) {
previousTime = millis();
while (!client.available()){
if ( (millis()- previousTime) > 10 ) {
client.stop() ;
// printf ("megszakitva\n");
break;
} ;
} ;
Azt, hogy ne blokkoljon, megoldja, és a tényleges elérést nem akadályozza.
-
tibi-d
tag
Az után érdeklődöm, hogy Adafruit GFX-hez létezik-e ékezetes fontkészlet? Ha nincs, mivel lehetne fabrikálni hozzá?
Köszi. -
Janos250
őstag
Még egy kérdés, hátha tudtok segíteni:
Ilyen mikrokontrolleres WEB-es irányításoknál gyakori, hogy a böngészőből valamilyen adatot kell eljuttatni a kontrollerre, hogy az avatkozzon be. Például csökkentse a fényerőt. Nálam most éppen a fűtést.
Lehet persze több módon is megoldani, de nekem tetszik a csúszka (slider) megoldás. A gondom az, hogy nemigen értek hozzá, és eddig nem sikerült megoldanom, hogy az értéket úgy küldjem el, hogy a
teljes WEB lapot frissítse, és ezek az új értékek kerüljenek a lapra mindenütt. A XMLHttpRequest() példánya elküldi az értéket, az rendesen be is érkezik, le is tudom kezelni, de ennek épp az a lényege, hogy úgy küldi el az értéket, hogy ne kelljen az oldalt újratölteni. Ha teszek be utána bármi frissítő sort, akkor meg nem küldi el az adatot. Tud valaki segíteni megoldással?Leírom a részletet részben azért is, hátha más is alkalmazni akarja, mert egyébként kényelmes. Aki akarja, próbálja ki!
.csuszka { /* Ez a teljes csuszkara vonatkozik */
-webkit-appearance: none; /* Hides the slider so that custom slider can be made */
/*appearance: auto; */ /* bongeszo fuggo kinezet */
width: 100%; /* teljes lapszelessegu legyen a csuszka FF spec? */
height: 25px; /* sav magassaga csak px-ben lehet megadni */
background: #d3d3d3; /* sav szine */
outline: none;
opacity: 1; /* (at)latszosag ha 0, akkor semmi nem látszik, csak a hatter */
}
.csuszka::-moz-range-thumb { /*-moz-range-thumb a csuszka gombja*/
/*csak Mozilla ismeri*/
width: 25px;
height: 30px;
border-radius: 50%;
background: #4CAF50;
cursor: pointer;
}
function forraloszazalek(element) {
var sliderValueForraloFutes = document.getElementById("csuszkaErteke").value;
console.log(sliderValueForraloFutes);
var xhr = new XMLHttpRequest();
xhr.open("GET", "/?F="+sliderValueForraloFutes, true);
xhr.send();
}
csuszkával változtatott forraló fűtés(utána frissíts!) % :
<label
id="folyamatosKiiras"
style="padding-left:5px;">
</label>
<input
type="range"
min="1"
max="100"
step = "1"
value="40"
class="csuszka"
id="csuszkaErteke"
onchange="forraloszazalek(this)"
oninput="document.getElementById('folyamatosKiiras').innerHTML = this.value"
>
-
Janos250
őstag
Sajnos nem oldotta meg a problémát. :-(
Érdekes, hogy ha a router mögötti lokális hálón lévő gépről lépek be,
akkor gyakorlatilag nincs probléma, de ha a "világból", akkor marad a gond. Nem tudom a fejlécből kiszűrni, mert csak felépíti a kapcsolatot, de egyetlen huncut bájtot se küld. Majd azt próbálom meg, hogy ha a kapcsolat felépült, és rövid időn belül nem jön adat, akkor törölje a kapcsolatot. (client.stop). Az lenne jó, ha a html kóddal (pl. valami CSS) tudnám ezt a dolgot letiltani.
A neten vannak cikkek arról, hogy az ESP32 néha rosszul kezeli a netet, de ezek állítólag a most februári 1.0.5 verzióval megszűntek. Meg egyébként se valószínű, hogy az ESP csinálja, mert honnan tudná magától kitalálni, hogy ott a távolban a FF lapján a user a cursot a link fölé vitte. Meg csak a FF-ban van ez a gond. -
Janos250
őstag
Köszi mindkettőtöknek. Lehet, hogy jó lesz, hogy újraindítottam az FF-t. Viszont most valami már zűr van, mert most meg nem éri el az ESP-t semmi, ennek az okát majd keresem.
-
válasz
Janos250 #14856 üzenetére
Ezzel magán az ESP-n tudod szűrni a lekérést:
As a server admin, can I distinguish prefetch requests from normal requests?
Yes, we send the following header along with each prefetch request:X-moz: prefetch
Of course, this request header is not at all standardized, and it may change in future Mozilla releases. Chrome uses "X-Purpose: prefetch" or "Purpose: prefetch" header.Ezzel meg a böngészőben tudod kikapcsolni:
Is there a preference to disable link prefetching?
Yes, there is a hidden preference that you can set to disable link prefetching. Add this line to your prefs.js file located in your profile directory (or make the appropriate change via about:config):user_pref("network.prefetch-next", false)
-
Janos250
őstag
Tud erre valaki magyarázatot? És megoldást,
ESP32.
WEB lap.
Vannak benne linkek, amik működnek is, sőt épp az a baj, hogy nagyon is működnek Firefox alatt.
Elég, ha a linkre ráviszem a cursort, akkor ugyebár alul megjelenik az URL, de nem csak megjelenik, hanem küld egy kapcsolódás kérést a szerverre. Az asztali gépen lévő Firefox is, és a telefonon lévő is ugyanezt csinálja. Crome nem.
Hogyan lehet megoldani, hogy ha Firefoxon a link fölé viszem a cursort, ne cseszegesse az ESP szervert, mert kapcsolódik hozzá, de ha nem nyomom meg, akkor nem küld adatot, de blokkol, míg le nem jár az idő.
A linkekben én semmi kifogásolni valót nem látok:<a href="http://86.xxx.xx.xxx:50000">frissít </a>
<a href="?k=-10">-10</a>
-
Janos250
őstag
válasz
gyapo11 #14850 üzenetére
De, ugyanolyan!
Ugyanolyan, mint például a Dell laptopnál, hogy pw van a BIOS-on, és nem tudsz belépni. Elvileg ha az első tulajdonos vagy, akkor a DEll valami kapcsolatfelvétel során megadja (ne tudom ingyen-e?) a kódot, de ha pl. kézalatt vetted a laptopot, nem kapod meg, mert olyan adatokat kérdez, amit nem tudsz.
Tudom, ha az ember sokáig keresi, persze erre is van megoldás, ami valóban működik is. :-) -
válasz
gyapo11 #14850 üzenetére
Egyetértek veled, ez pofátlanság, de a két helyzet mégsem teljesen ugyanaz, mivel jelen esetben másik 40 lakás kulcsát is a kezedbe adnák = mintha 40 másik telefont is nyitna a PUK kódod. Persze jelen esetben nem a lakásokat nyitja a kulcs, csak a kaput, amit minden lakó kinyithat, szóval elég bonyolult.
Az analógia akkor lenne pontos, ha a családi házad kaputelefonjának a kódját nem kapnád meg, amit egyedül te birtokolsz. -
gyapo11
őstag
válasz
Janos250 #14848 üzenetére
Ez nem olyan, mintha a mobiltelefon szolgáltató nem adná ide a PUK kódokat, és csak pénzért lenne hajlandó feloldani a sim-zárat 3 sikertelen próbálkozás után? Vagy a tv/beltéri egység boltban nem adnák ide az akármilyen kódot és pénzért ki kellene hívni őket ha szükség van rá. Nekem időközönként rebootolni kell a beltérit, és ahhoz is kell a kód.
Vagy a router admin jelszavát, és akárhányszor változtatni akarok valamit a routerben, akkor pénzért kijönnek és majd ők belépnek.
Megveszek valamit és azért nem tudom használni valamilyen szolgáltatását az eszköznek, mert nem adták ide a hozzá szükséges jelszót. Nem tudom ez szabályos-e, van-e joguk hozzá. -
Rossz a logika, a clock alacsony szintje alatt kell kiírni a buszra a data bitet, felfutó élnél lesz érvényes, te fordítva csinálod.
Meg kell cserélni aHAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_SET);
és a
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
sorokat, így:
while (1) {
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_RESET);
for(int i = 0; i >= 15; i--) {
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
if(digits[i] == 1) {
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_SET);
}else {
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_SET);
}
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_SET);
}Az is lehet, hogy túl gyorsan küldi ki a kód a biteket, nem tudom milyen órajelen fut a kontrollered, de vmi minimális delay kellhet esetleg a for ciklus végére, a bitek közé, ha a fenti kód se működne helyesen.
-
-
bear_
aktív tag
Sziasztok!
Nem arduino, hanem STM32 és HAL, de lehet tudtok segíteni.
Rendeltem az aliexpressről egy multifunctional shieldet, ilyet: [link]
Szeretném a 7 szegmenses kijelzőt működésre bírni, de nem igazán járok sikerrel.
Ahogy az oldalon is látszik a kijelzőt 2 kaszkádba kötött 595-ös shift regiszter vezérli, így elvileg 16 bittel lehet "feltölteni". Az egyik shift register a szegmenseket, a másik a kijelzőket egyenként engedélyezi.Íratm is hozzá egy progit ami így néz ki:
int digits[16] = {1,1,1,1,1,0,1,0,1,0,1,1,0,1,1,0};
int main(void)
{
int digits[16] = {1,1,0,1,1,0,1,0,1,0,0,1,0,1,0,0};
while (1)
{
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_RESET);
for(int i=0; i>=15;i--){
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_SET);
if(digits[i]==1){
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_SET);
}else{
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_SET);}
STCP: LCHCLK, storage register clock input
SHCP: SFTCTLK, shift register clock input
DS: serial dataSajnos az eredmény egy katyvasz, nem azt írja ki amit szeretnék, mindig ugyanaz a minta jelenik meg akármilyen értékek szerepelnek a tömbben.
Mi lehet a hiba?
-
Janos250
őstag
válasz
mester19 #14840 üzenetére
A Codefon proximity kártyaolvasója 125 kHz-en működik. Ha nem ilyen olvasót vettél, akkor nem tudod olvasni. Én USB olvasót használok, az megfelelően működik.
Írható kütyü átírását nem próbáltam. Amikor új egységre van szükség, felprogramozom a kaputelefon kapunál lévő egységén.
Ha ügyetlenül csinálom, akkor mondjuk másfél perc, egyébként meg kevesebb. Persze kell hozzá a központ mesterkódja, ami a panelra van írva, de a szerelők előszeretettel írják át olyanra, amit csak ők tudnak, mert egy ilyen kulcstartó 100 Ft itt Magyarországon is, de a szerelők meg 1-3 ezer Ft-ért programozzák be.
Van benne egy EEPROM, azt kivéve én Arduinoval olvasom.
Korábban vettem olyan olvasó kártyát, amiben már van egy STM8, ami dekódolja a jelet, és közvetlenül soros vonalon küldi az Arduinonak, de az gyakorlatilag használhatatlan. Az egyszerűbbik (gyakoribb) az állítólag jó, de azt még nem próbáltam. -
mester19
csendes tag
Sziasztok!
Most kezdtem el kísérletezni az Arduinoval és vettem hozzá egy rfid olvasót, annak apropóján, hogy most lett a panelban cserélve az ajtó nyitója rfid-sre. Amit adtak hozzá, azt tökéletesen olvassa, de a bejárati ajtóét nem tudja. Mi lehet ennek az oka? -
Bekalibrálja magát, de indítás után időbe telik, nálam ez eleinte 1-2 perc is volt. Ezt az időt lehet csökkenteni bizonyos alap kalibrációs érték pontosításával, amivel fél perc körüli szintre sikerült leszorítani (addig csak forog körbe-körbe, egyre lassabban, végül megáll).
Az önkalibrációra szükség is van, mert nagyon hőmérsékletfüggő a cucc, kézzel melegítve is hajlamos a slip-re, tehát nem lehet permanens módon előre kalibrálni sajnos. -
válasz
JozsBiker #14831 üzenetére
Ha érdekel egy egyszerű wear leveling módszer, szólj, bár asszem le volt már írva a topikban.
Ha mégis nyitott lennél a másik (kondenzátoros) megoldásra, egy attiny85v már 1,8V tápfeszültségtől működőképes, egy 5V-ra feltöltött kondenzátorról szerintem másodpercekig is el tud ketyegni.
-
-
gyapo11
őstag
-
-
JozsBiker
aktív tag
Sziasztok !
Van egy mérő áramköröm, ami egy Arduino Nano -ból, egy HC-06 bluetooth modulból és egy DS3231 óraáramkörből áll. A mérés szempontjából az lenne a jó ha tudnám valahogy rögzíteni ( mármint az időpontját ) ha elmegy a tápfeszültség. Egyelőre csak annyi ötletem van, hogy az aktuális időt folyamatosan irkálom mondjuk az Arduino EEPROM -jába, így a táp megszűnése előtt beírt idő lesz a kérdéses idő. Viszont az EEPROM -ot nem illik túl soxor írni, így ez még sem jó. Újabb modullal nem szívesen bővíteném az áramkört. Van erre valami jó módszer ? Köszi.
-
Pubszon
veterán
Üdv.
Arduinohoz kellene nekem egy olyan szenzor, ami előtt ha elmegyek érzékel. Egy 3 méteres garázs bejáratában lenne és egy villanyt kapcsolna ha bemegyek gyalog vagy a kocsival. Olyan mint az elektromos kapué, csak nem szeretnék mindkét oldalra kábelezni, az egyik oldalt csak egy prizma vagy tükör lenne. Az ultrahangos nem megbízható.Van ilyen modul?
-
PeterPH
senior tag
válasz
vidékiürge #14816 üzenetére
Valami ilyennel azért kompaktabb lenne a kód:
sendcode(const char* sCodeString)
{
start ();
for (const char* p = sCodeString; *p; p++)
{
if (*p == '0') s();
else if (*p == '1') l();
}
stop();
}
és akkor már hívogathanád a sendcode-t:sendcode("0001010011001011011001100000000000110011");
-
gyapo11
őstag
Valaki mérte már a delayMicroseconds() függvényt, hogy valójában mekkorát késleltet? Mert amikor én egy ciklust pörgettem, kb. 100 kHz jött ki, ami 10 μs a 3 sorra, szóval érdekelne, hogy olyan 20-30 μs alatti értékeknél mekkora a valódi késleltetési idő.
-
válasz
vidékiürge #14816 üzenetére
-
válasz
vidékiürge #14810 üzenetére
Tessék egy library, ami szerintem működni fog.
void start(){
digitalWrite(outPin, HIGH);
delay(5);
digitalWrite(outPin, LOW);
delay(1);
}
void stop(){
digitalWrite(outPin, LOW);
delay(7);
}
void l(){ //hosszú magas jelszint
digitalWrite(outPin, HIGH);
delayMicroseconds(666);
digitalWrite(outPin, LOW);
delayMicroseconds(333);
}
void s(){ // rövid magas jelszint
digitalWrite(outPin, HIGH);
delayMicroseconds(333);
digitalWrite(outPin, LOW);
delayMicroseconds(666);
}A küldés pedig:
start ();
l(); l(); s(); s(); ...
stop(); -
válasz
vidékiürge #14810 üzenetére
Már csak azért sem hiszem, hogy ezzel a library-vel sikerülni fog, mert nincs benne az a protokoll, ami ide kellene. A leghosszabb impulzus se éri el az 1ms-t.
* "0" bit: waveform for a data bit of value "0", {1, 3} means 1 high pulse
* and 3 low pulses, total length (1+3)*pulselength, i.e:
* _
* | |___
* "1" bit: waveform for a data bit of value "1", e.g. {3,1}:
* ___
* | |_
*A te mérésed alapján viszont inkább 1:2 és 2:1 a két bit aránya.
-
vidékiürge
tag
válasz
its_grandpa #14808 üzenetére
jaja, mivel én sem hittem, többször ellenőriztem. Max még az antennán lehet finomítani, mert csak 15cm-es, nem 17,2, de szerintem ez most annyit nem számít, mivel a jelet tudtam venni 10cm-es-el is
-
vidékiürge
tag
Ahha, mindjárt ki is próbálom ezt a "bitbang" megoldást digitalWrite() + delayMicroseconds() kombóval.
Igen, most megcsináltam a visszamérést... Hát... nemcsoda, hogy semmi nem történik
Teljesen kivehetetlen, ami a reprodukciómból jön. Ráadásul szinte össze kell érinteni az antennákat, hogy ennyit tudjak fogni. A távirányító jelében 6x ismétlés van, itt is ezt alkalmaztam. Ez a tesztkód, de félek, hogy a ez még viccnek is rossz#include <RCSwitch.h>
RCSwitch mySwitch = RCSwitch();
void setup() {
Serial.begin(9600);
// Transmitter is connected to Arduino Pin #7
mySwitch.enableTransmit(7);
// Optional set protocol (default is 1, will work for most outlets)
// mySwitch.setProtocol(2);
// Optional set pulse length.
mySwitch.setPulseLength(710);
// Optional set number of transmission repetitions.
mySwitch.setRepeatTransmit(6);
}
void loop()
{
/* le */
mySwitch.send("0001010011001011011001100000000000110011");
mySwitch.send("0001010011001011011001100000000000111100");
delay(5000);
/* stop */
mySwitch.send("0001010011001011011001100000000001010101");
delay(5000);
/* fel */
mySwitch.send("0001010011001011011001100000000000010001");
mySwitch.send("0001010011001011011001100000000000011110");
delay(120000);
}
-
its_grandpa
tag
válasz
vidékiürge #14802 üzenetére
Én egy RXB6-al + UNO simán veszem a jelet az rc-switch examples könyvtárában található ReceiveDemo_..... bármelyik . ino-val.
Adni még nem próbáltam de elvileg mennie kéne.
Wiring biztos OK ? -
Janos46
tag
Heuréka, műküdik! megkaptam a megoldást a TP-LINK -re a Windows 10 fórumon.
Lehet, hogy csak annyi a gond, hogy nem jó tartományban "dolgozik", azaz a régi router-ed alapértelmezett belépési címe pl. 192.168.1.1 (ezáltal a DHCP tartomány 192.168.1.100 és 192.168.1.199 közé esik), míg az új router-é meg 192.168.0.1 (ezáltal a DHCP tartomány 192.168.0.100 és 192.168.0.199 közé esik) és ezért nem látja.
A régi routerben nézd meg milyen IP-t osztott ki/ kap az ESP8266 és annak megfelelően állítsd át az új router-ed belépési címét(a DHCP tartomány automatikusan átáll) -
válasz
vidékiürge #14802 üzenetére
Egy jó fél óra nyomozás után csak annyit tudtam kideríteni erről a protokollról, hogy vmi egyedi, PWM alapú protokoll, [link] tehát az adó részét neked kell megírni, ahogy mondtam, egy sor digitalWrite() + delayMicroseconds() segítségével.
-
válasz
vidékiürge #14802 üzenetére
Library nélkül próbáld meg, bitbang alapon, "kézzel" kapcsolgatni a jelet. A probléma esetleg az is lehet, hogy te egyszerű soros kommunikációként fejtetted meg a jeleket, de nekem inkább hasonlít valamilyen IR protokollra, pl. [link] (biztos nem ez, csak példának írtam), is lehet, hogy a byte értékeket vissza tudtad fejteni, de a küldő library nem biztos, hogy olyan protollon küldi vissza. Össze kéne hasonlítani a kimenő jelet a képen láthatóval, tudsz arról is ilyet csinálni?
-
vidékiürge
tag
Szia!
Meglep hogy meglep
Nyilván nem csak egyszerű rákötésről van szó, de nem is nagy művelet. De abban biztos vagyok, hogy nagyon mindent azért nem tudok, mert ha tudnám, nem lenne gondom.
Amúgy ITT a link, amin láthatod, amit rögízteni tudtam. Ebből kinéztem, hogy a pulse lenght 705-710us, 40bites a jelem, valamint visszafejtettem a bitekből a hex és a dec értékeket is. Megpróbáltam az alap rc-switch libraryvel reprodukálni, de sajnos nem sikerült, kicsit homályos is itt már ez az egész. -
válasz
vidékiürge #14800 üzenetére
Szia!
"a PC hangbementén felvenni a receiver segítségével a küldött jelet (jeleket). Így mindent megtudtam a jelről"
Hát engem meglepne, hogyha egy PC hangbemenet segítségével mindent megtudtál volna.
Pontosan mi az, amit megtudtál, és az arduinoval miért nem sikerült?
Új hozzászólás Aktív témák
Hirdetés
- Microsoft Windows, Office & Vírusirtók: Akciók, Azonnali Szállítás, Garantált Minőség, Garancia!
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- Szinte új, minőségi, állítható ritkítóolló
- 18 éve! Billentyűzet magyarítás magyarosítás. Festés vagy lézerezés és egyebek! 3 lehetőség is van.
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest