-
PROHARDVER!
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Tankblock
aktív tag
válasz
Dißnäëß #16797 üzenetére
Szia,
Van másik út is ha ,egengedik a követelmények. RTC memóriájába írod a ESP-nek, majd deep sleep, és csak a deep sleep currentet kell megtartani 20 µA ami nem sok, ha csak pár percig kell, vagy egy szép LiPo akksit/ CR2032/Alkaline elemx2 teszel rá, backupnak attól függ hányszor jön elő.
Ha visszajön a tápfesz kiírod.
-
Tankblock
aktív tag
-
Tankblock
aktív tag
A bal oldala a kapcsolásodnak nekem nem tűnik logikusnak. Mik azok a képen?
Ha potméter akkor nyertél 4 pint ha az egyik végét +tápra a másik végét GNDre kötöd és a vipert méred. Azt is célszerű lenne analóg pinre rakni....
A jobboldala se megoldhatatlan egy GPIO extenderrel, SPI kell MISO, MOSI, CS, CLock és 4 pinnel tudsz írni olvasni 7v8 pint, ráadásul összefűzhetőek.....
-
Tankblock
aktív tag
válasz
tibi-d #16713 üzenetére
Szia
14+2 pin egy sima TFT + touch [link] ez szerint (16+ 4 SD kártyának),
a nextionnal lerövidíted a fejlesztési időt, hiszen GUI nem a MCU számolja és csak UART-on kell küldeni üzeneteket. ESP32 van vagy 3 UART, szóval a debug portot sem kell mellőzni.
ESP8266 platformmal végig kellene számolni van e annyi lába amit fel tudsz használni, szerintem csak GPIO extenderrel lesz annyi, főleg mert 4 PWM lába van, és erre szeretnél I2C is.....
-
Tankblock
aktív tag
válasz
tibi-d #16711 üzenetére
hmm az általam javasolt nextion a budged fele lesz, ne vegyél extrázott verziót, mert a benne lévő RTC minden csak nem pontos, fizikai gombokat se rajta keresztül érdemes kezelni, ha lesznek....
Ha találsz valami jó projectet akkor lehet egy sima érintős kijelző is megteheti....
ADS1115 csak akkor ha megfelel a sebessége, mert I2C kommunikál. Ha az alkalmazás megengedi ezt a sebességet akkor ok. A vicces az hogy lehet ha megtervezed a boardot és megveszed alkatrészenként akkor drágább mint modulonként megvenni.
Szépm új világ, egyet tudok tanácsolni, a HW részeket minnél előbb szerezd be, mert az árak rakéta szerűen lőnek ki (Farnell, Mouser, ... és társai) alap építőelemeket is nehéz beszerezni.
-
Tankblock
aktív tag
válasz
razorbenke92 #16709 üzenetére
-
Tankblock
aktív tag
válasz
tibi-d #16707 üzenetére
Szia,
A Wifi és az analóg jelek rejtik a kulcsot...
Ha megelégszel egy nem túl pontos 12bites ADCvel akkor ESP32 + Nextion kijelzőt mondanék a feladat kivitelezésére, mint minimum hardware.
Analog pontosságán lehet segíteni külső SPI busra tervezett külső ADCkkel.A probléma az lesz mit engedhetsz meg a projectben anyagilag, és mit tudsz megvenni a piacról....
-
Tankblock
aktív tag
válasz
ecaddsell #16652 üzenetére
pedig sok érdekes dolgot lehet faragni abból FPGAból. Szerencsémre munkahelyen nem egy project használ FPGA-t, bár én még nem tudok sokat hozzá ugatni se, de főleg a még a lényeg.
Próbálj meg autóiparban/Biztonság/... gondolkodni aztán rájösz hogy a sok Design Pattern nem is annyira az ödögtől való.
Ahogy haladunk az új dolgok felé az FPGA is lehet hogy ilyen lesz. Digikey is tolja a saját tananyagát, egy C7 board meg 31 + Áfa egy ismert webshopban ami már felfedezőnek is eléggé jó szett.
-
Tankblock
aktív tag
válasz
Janos250 #16639 üzenetére
Szia,
Arra próbáltam reflektálni, hogy kezdőnek csak óvatosan az ajánlásokkal, mert általa nem vagy csak nehezen feloldható problémák jöhetnek elő. A Design Pattern meg azért szükséges, mert adott problémára nyújt működő megoldást.
Aztán ha megy a C,C++, ... bármilyen programnyelvben is akkor lehet mélyre ásni. Tanulási görbe mellett fontos a sikerélmény is.
Én mondjuk a Micro Phytonnal vagyok úgy hogy életidegen feláldozni egy csomó erőforrást egy interpreterre, de ki tudja merre megyünk.
Lassan FPGA is olyan olcsó lesz h csak na és abban meg mindent is lehet csinálni még Linuxot futtató ARM magokat is lehet szimulálni. -
Tankblock
aktív tag
válasz
Janos250 #16637 üzenetére
Szia,
Ha már Thread és kezelés, ESP32 -n ott a FreeRTOS, az legalább threadsafe módon tud megszakításból is adatokat kezelni, van benne MUTEX, miegymás....
Ha nem vagy jártas Design Patternekben a sokszálazáskor random fogsz találkozni a az ugynevezett Deadlock jelenséggel, ami kezdőnek megtalálni nem triviális. Azt nem mondom egy szóval sem hogy a FreeRTOS nem lehet ilyet csinálni, mert lehet, de a dokumentációjában nagyban segít benne.
AVR ekben nagyszerűen van hardwaresen a PWM megoldva. A Mega az egy 2560 as (még ANSI Cből vagy Assemblyből is
)... [link]
Volt alkalmam könyékig turkálni pár kódban, van amire nem használnak ESP-t csak bevált technológiát hiába régi. -
Tankblock
aktív tag
válasz
Janos250 #16613 üzenetére
[link] A Wiki is pont azt mondja hogy :
RTOS typically does not have the more advanced features that are typically found in operating systems like Linux and Microsoft Windows, such as device drivers, advanced memory management, user accounts. The emphasis is on compactness and speed of execution. FreeRTOS can be thought of as a thread library rather than an operating system, although command line interface and POSIX-like input/output (I/O) abstraction are available.
Ezért írtam inkább egy scheduler mint egy rendes operációs rendszer. Bare Metálba kell megírni hozzá egy csomó mindent, ami meg van annak meg örülni kell.
[link] pont arról beszél, hogy mikor éri meg milyen projectet építeni. 10 perc körül....
-
Tankblock
aktív tag
válasz
Janos250 #16611 üzenetére
Nem véletlenül a ESP32 Flash structúrájában hasznáét SPIFF et használod itt, mint háttértár?
Arduino alatt lehet hogy az is be van hozzá includálva.
Ahol minden egy file az UNIX alapú operációs rendszerek.
ESP32 FreeRTOS használ és az nem egy operációs rendszer sokkal inkább egy scheduler. -
Tankblock
aktív tag
válasz
Janos250 #16607 üzenetére
Szia
No problem, ismerem az érzést. Nem hiába szoktam a C++ referenciát betenni.
Nincs a standard C vel sem semmi probléma. Feladathoz választunk megoldást, és nem fordítva. Addig örülj amíg nem más által összerakott projectbe kell új featuret írnod, full nulla dokumentációval, kesze kusza arhitechtúra alatt....Amúgy a structos megoldást egyszer már megcsináltam demo szintjén, működik szépen, a hátránya a castolás overheadje.
Az összevissza könyvtárazást ar Arduino hozta el véleményem szerint. és mivel kényelmes elfejeltettek programozni, csak az jön hogy nem működik.... Igen ez egy szép szakma....
-
Tankblock
aktív tag
válasz
Janos250 #16604 üzenetére
Szia,
ezen példáidban pont hogy meghatározott számú lesz.... std library elemei a bemeneten....
Ha nem tudod hogy mennyi, akkor a (...) lesz használatos, de ugye ezzel csak annyi lesz hogy fordítási időben lesz meg.....Amit csinász az standard C ben is egy láncolt listára is mutathatna.... akár egy pointer is....
ennyi erővel struct ba tehetnél egy void * és egy type paramétert és ebből egy listát/vectort, na akkor már bármit beletehetsz. Utána típus castolással vissza tudod alakítani. Ebbe még függvény pointert is tehetsz....
-
Tankblock
aktív tag
válasz
gyapo11 #16563 üzenetére
Melyik része ami nehezen érthető?
C++ ugye a C kiterjesztése, szóval ha a hardcore irányba szeretne valaki inkább mozogni akkor Assembly -t javaslom, na ott derül ki érted -e a HW is vagy sem.
Egy olcsó AVR-en (akár egy AtTiny13A)el lehet játszani eléggé jól. Nem mellesleg kijön a magas szintű programozás overheadje is, mert 1kbyte van programnak és 64 bit byte a memória, szóval lehet creatívan használni a regisztereket is amiket nem használunk.....A magasabb szintű nyelvek szerintem inkább másféle képpen nehéz ... Szálkezelés, Deadlock elkerülés, design patternek és társaik. SW arhitechtúra, oprendszer ismeret is kellhet....
-
-
-
Tankblock
aktív tag
válasz
Janos250 #16448 üzenetére
A tömb fix méretű egymást követő foglalt egységek a memóriában, a pointer meg egy memória címet tároló memória cím, ahova mutat az lehet bármi pl nullpointer, tömb egy eleme, ami nem feltétlenül az első eleme.....
const char * amit a c_str() fv visszaad az a String osztály belsőmemóriájának első elemére mutat, és nem engedi változtatni annak értékét. Szép is lenne, ha engedné....
-
Tankblock
aktív tag
válasz
Janos250 #16444 üzenetére
Szia
Ebben a függvény bemenétben a "const" annyit jelent hogy a függvény nem fogja/tudja a pointert értékét megváltoztatni. Ez egy String osztállyal tér vissza.
.c_str()
fuggvény viszont constchar *
pointerrel tér vissza amivel kezdeni illene valamit.
Vagy átmásolod másik memória területrestrcpy()
, vagy standard library -re egy példastd::string str;
char * writable = new char[str.size() + 1];
std::copy(str.begin(), str.end(), writable);
writable[str.size()] = '\0'; // don't forget the terminating 0
// don't forget to free the string after finished using it
delete[] writable;
-
Tankblock
aktív tag
Szia nem rejtély az
8-5V = 3V
P= 3V*1A = 3W próbálasz meg rajta eldisszipálni, ami speckó szerint 1,5W van tervezve.
Azt nem tudom milyen szervó, de a pozícióban tartás is emészt fel energiát nem csak a mozgatás + ugye amikor hirtelen megáll akkor majd kijavítanak, de szerintem egyet vissza is fog beszélni (back EMF) amit egy diódával célszerű elnyeletni.Mi van ha nem linár regulátoron keresztül tápolnád a szervókat? Switching Mode power supply egy buck ? pl van 3A pici modulka is, mondjuk annak a végére is akasztanék egy 1000u Condit....
-
Tankblock
aktív tag
Szia,
Még 1x átgondoltam, megosztom amire eddig jutottam:
előtét ellenállás nélkül a Zener szépen elfűti magát, főleg ha az a 12V ágon 18V van- 24V esetén még hamarabb --> a mikrokontroller lesz a következő áldozat a sorban, ebben nem vagyok 100% biztos.
Jön a dilemma ha beteszel egy előtét ellenállást is, azt nem tudjuk, hogy a LEDet mi hajtja meg. Itt beleavatkozol a vezérlő áramkörbe és nem tudod mit okozol....Gondolatmenetem a következő volt
Mérni a legegyszerűbb lenne egy minimális shunt ellenálláson keresztül. Ez ha megkapja a teljes overvoltagot max elég és ennyi. A mérésre a legegyszerűbb opamp használni, de abban igazad van hogy körültekintőnek kell lenni a tervezésnél is.Lássuk egy másik megoldást ami az összes követelményt kielégíti
Mondjuk egy INA 219 current sensor 3V3 mellett képes I2C kerezstül 26V ig mérni minden probléma nélkül. Ebből létezik INA4180 ami 4 csatornán képes mérni.
Itt is szigorúan leválasztott DCDC vel hajtanám a uC.Emelett a gyártók cél IC-k galvanikusan leválasztva. Természetesen horror áron....
-
Tankblock
aktív tag
-
Tankblock
aktív tag
válasz
vegyszer #16323 üzenetére
Szia,
egy átlagos generátor olyan 2kW, szóval van benne ráció. Az akksit meg plusz tartaléknak is használják, mellette a Start Stop rendszert is fel kell tölteni, AdBlue pumpa is megy benne, fedélzeti elektronika......-- Havonta menjél vele egy-két hosszabb utat és ne 30e cserélj olajat hanem inkáb 10-15e enként.
3 gyerekkel mi is a PUG vonalon maradtunk - 5008 - azért mert alapból a középső sorban is volt légbefúvás - Rifter nagy hátsó ablakai hátsó klíma nélkül nem tetszett a két nagyobb eddig is panaszkodott a melegre nyáron az előző autónknál.
Ezeket a konstrukciókat tudatossabban kell használni mint az elődjeiket, nagyon lassan melegszik, cserébe az autómata klíma tolná be a meleget az utastérbe ilyenkor....Mint minden dolgot az adatlapjánál kezdünk és próbapanelen füstölünk XD
-
Tankblock
aktív tag
válasz
vegyszer #16316 üzenetére
Szia,
Van 12V LED is.... Maga a fényt kibocsájtó rész ténylegesen csak 2-3V nyit, de mellé elfér még akár egy pici kontroller is. lsd színváltós LED ek....
Milyen autó is ez?
Az hogy hova látod bekötve az egy dolog, ha gyári, akkor a kábelkorbácsot arra a terhelésre méretezték. Ha utólagos akkor meg saját rizikó.
Annál már csak az a viccesebb amikor ugyanazért az alkatrészért gyártónként és még gyártón belül típusonként is másmennyit fizetsz.Konkrétan a Toyota , OPEL, Peugeot, Citroen mostan futó 7 üléses modelljei..... még 1 gyártósoron is készülnek Üdv az autóiparban
-
Tankblock
aktív tag
Remélem nem autóban lesz használva....
Generátor hiba esetén simán lehet ott a betápon 18V fölött....
Safety szempontból a uC be épített diódáknak illene lennie az utolsó védvonalnak, és nem az elsőnek.....Betápnak is inkább isolált DCDC converterben gondolkodnék, nehogy meglepetés érjen hosszú távon....
-
Tankblock
aktív tag
Szia, csatornánként 1 shunt ellenállás, annak a két oldalát egy opAmp kimenete meg arduinoba....
Ugye ha nem vezérelt akkor 0 [mA] hatására 0 [mV] feszültség különbség lesz így marad a GND-n a kimenet..... ha elkezdik hajtani akkor a legkisebb eltérés is pozitív railt tud adni.....
kis segítség : [link]
ez esetben nem kínálodmeg hiba esetén a uC-t 12V-al, ami nem utolsó szempont.
-
Tankblock
aktív tag
válasz
tonermagus #16274 üzenetére
Szia,
nem érdemes, inkább az árát kövesd.... így vettem Bangoodról BEST márkájú hőlégfújót 22e HUF ért, most 48e kínálják..... szerintem tudják ilyenkor mi szokott lenni + kínából mostanság lassan jönnek a dolgok inkább cseh raktárból rendelek picivel többért de itt van biztosan,,,,
-
Tankblock
aktív tag
válasz
razorbenke92 #16219 üzenetére
Szia
Belelestem kicsit a kódba, sokszor van kódismétlés amit ha kiszerveznél egy függvénybe valószínüleg nyernél vele.
pinMode fv helyett kilesnéd melyik regiszterekbe illene írni hogy kimenet illetve pullup legyen az is segíthet ( nem fordítja bele a fél arduino kódot....
)
Adafruit helyett kipróbálnék másik libet pl : FastLED [link] vagy írhatsz sajátot. -
Tankblock
aktív tag
válasz
razorbenke92 #16216 üzenetére
Szia,
A kódot oszd meg mert így reménytelen.... Git a barátod....
Ami segíthet, arduniós könyvtárak felejtése....
Serial debug üzenetek törlése.
nem használt regiszterek memóriaként való használatamegfelelő
(mazoizmus)motíváció esetén assembly használata. -
Tankblock
aktív tag
Általában a 2 nem hajtott kerék átlaga lesz a helyes megoldás az autó sebességére. Mivel nincs hajtva nem fog kipörögni.... Ezt lehet finomítani long acc szenzor figyelembe vételével.
1 forgás 1 jel nem ad megfelelő megfigyelési értéket : Nyquist kritérium figyelembe véve az autókban 42-44 mágnes olvas egy Hall Sensor ---> voala ABS sensor.....Remélem segítettem
-
Tankblock
aktív tag
válasz
Janos250 #16004 üzenetére
Ha a FET tényleg 48V van akkor leválasztót illene a uC és a FET közé rakni, meg ellenállásokat is.....
Ha elhalálozik a FET akkor a uC is és minden más is meg fogja kapni a 48V ot..... legalább egy optocsatolót vagy cél IC főleg ha a FET még nagy áramot is kapcsol....Ha meg nem kell sűrűn kapcsolni akkor még a relé is szóba jöhet meghajtóval a FET helyett...
Safety First
-
Tankblock
aktív tag
válasz
tonermagus #16013 üzenetére
Szia
Az ellenállás osztót felejtsd el, ez a nem szép megoldás, mert nem vetted számításban a Load ellenállását.....
vannak lehetőségek LDO (ez kis helyet is foglalna), DC-DC converter (ebből is van ami nem olyan nagy), aezek után csak egyedi circuitok jutottak az eszembe .....
-
Tankblock
aktív tag
válasz
Drótszamár #15917 üzenetére
A szintillesztő csak csatornánként 1 MOSFET 2 ellenállással amivel gyakorlatilag a másik oldali feszültségszintet kapcsolja a bemenetnek megfelelően. Nem képes 5V előállítani.
5V relé nem működik 3V3 al...
Nem értem miért mond hogy megoldás nem ok... TTL logika 2.5V jelszint felett High ha jól emlékszem, ha bekötsz egy MOSFET et akkor kaocsolgathatod a 5V is a bemeneten, attól még ha nincs 5V akkor nem fog menni....
Ha működik akkor nem hülyeség....
Nézd a pozitív oldalát tanulhatsz egy csomót.
Minek kell a relé? SONOFF nem lett volna egyszerűbb?
-
Tankblock
aktív tag
válasz
Drótszamár #15912 üzenetére
Szia
Add rá a Vcc re 5V ot, a GND legyen közösítve 5V és a 3V3 on, a signál szerintem menni fog 3V3 jelszinttel is.
Ha nem akkor 1 MOSFET elé egy 1k ellenállat és azon keresztül kapcsolod a 5v ot..... -
Tankblock
aktív tag
[link]
Ez egy Sparkfun fogyasztása, a kínai modulé több is lehet. Battery optimalizálva a lehető legtöbb deepsleep vagy full kikapcsolás kell. Wifi helyett EPS-NOW, azt is csak a szükséges és elégséges minimális ideig fenntartani. Maga a lap is sokat fogyaszt, ha deep sleepbe küldöd akkor is, mérd meg az áramfogyasztását.... -
Tankblock
aktív tag
Milyen board? Amúgy az ESPNow spórolsz egy csomót (időben a Wifi felcsatlakoztatáshoz képest töredéke ezáltal a felhasznált energia is az lesz), anno ez még nem volt elérhető.....
Mivel oldottad meg a sleepet? Még lehet játszani a ULP vel --> azon keresztül lekérdezni a szenzort aztán ha van változás csak akkor felkelteni a magokat.....az hogy 1 v 2 cella attól is függ mekkora a kapacitása... Nálam a 2 é szetintem nincs 2000 mAh, mivel használt laptop akksiból van. Simán lehet kapni 3000mAh új Lion akkumulátort normális gyártótól (nem kínai XD )
-
Tankblock
aktív tag
válasz
agent_k #15797 üzenetére
Szia,
Latch áramkörrel le tudod választani a tápról, és egy külső RTC vel /ATTiny meg felébreszted, kód futás végén elvágod a betápot vele. Nekem 5 percenként kel fel egy ilyen szenzorom, lassan 3 éves, évente 2 töltéssel működik 2 18650 ről. RTC helyett Attiny13A oldottam meg anno....
-
-
Tankblock
aktív tag
válasz
tonermagus #15685 üzenetére
Nyáktervhez reverze engineering kell...
Az szerintem nem védelem, max ha valami frankó bootloader megvégi a letöltéstől, vgay használd a Lock byte ot....[link] Remélem ez segít
Esetenként kötheted még a letöltő debugger ID jához....
-
Tankblock
aktív tag
válasz
Tomika86 #15678 üzenetére
Szia,
Ha a példádat felpakolod a Git, .... ahol meg tudod osztani egyértelműen könnyebb lenne a helyzet....
Kérdés hogyan szeretnéd változtatni azokat az értékket a kijelzőn....
az biztos, hogy a
numReadings
változót nem szerencsés változtatni ha így marad a kód.
minden olyan helyen ahol tömb van ezzel a mérettel plunsigned long readings[numReadings];
ott át kell méretezni vele egyidőben a tömböt is.... Ha ez sima C akkor ugye calloc malloc páros ha jól rémlik..... De az futásidőben szép feladvány lesz, inkább egy láncolt lista mint ezt csinálni..... Még azzal is jobban jársz ha max méretű tömböt hozol létre és csaknumReadings
nyi adatot préselsz bele, majd nem engeded max -1 fölé a számolót..... -
Tankblock
aktív tag
válasz
Tomika86 #15541 üzenetére
Szia,
fordulatszám azaz adott idő alatt megtett fordulatok száma. Ha korlátozod az időt 1 [sec]re akkor csak az impulzusokat kell számolnod, majd viszonyítani a perchez. rpm / rotation per ,minute.... Nem tudom mekkora lesz a legmagasabb fordulatszám a byte sztem túl kicsi.....
-
Tankblock
aktív tag
válasz
Janos250 #14905 üzenetére
Bocs, épp mindennel el vagyok foglalva csak fórumozni nincs időm...
Na szóval javascript ugye...
elemnek legyen id ja és akkor scriptből lehet a tulajdonságait módosítani. pl láthatóságot, bármit.lenti példában egy slide switch van
myonoffswitch
néven és loggol is az oldalra vissza."<!DOCTYPE html><meta charset=\"utf-8\" /><title>ESP8266 Test Server</title><style> .onoffswitch { position: relative\; width: 90px\; -webkit-user-select:none\; -moz-user-select:none\; -ms-user-select: none\; } .onoffswitch-checkbox {display: none\;} .onoffswitch-label {display: block\; overflow: hidden\; cursor: pointer\; border: 2px solid #8F8989\; border-radius: 20px\;} .onoffswitch-inner {display: block\; width: 200%\; margin-left: -100%\; transition: margin 0.3s ease-in 0s\;} .onoffswitch-inner:before, .onoffswitch-inner:after { display: block\; float: left\; width: 50%\; height: 30px\; padding: 0\; line-height: 30px\; font-size: 14px\; color: white\; font-family: Trebuchet, Arial, sans-serif\; font-weight: bold\; box-sizing: border-box\;} .onoffswitch-inner:before { content: \"ON\"\; padding-left: 10px\; background-color: #C21515\; color: #FFFFFF\; } .onoffswitch-inner:after { content: \"OFF\"\; padding-right: 10px\; background-color: #C21515\; color: #999999\; text-align: right\;} .onoffswitch-switch {display: block\; width: 18px\; margin: 6px\; background: #A1A1A1\; position: absolute\; top: 0\; bottom: 0\; right: 56px\; border: 2px solid #8F8989\; border-radius: 20px\; transition: all 0.3s ease-in 0s\; } .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0\;} .onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0px\; background-color: #CC262C\;}</style><script language=\"javascript\" type=\"text/javascript\"> var wsUri =\"ws://"; <ide az IP címe kell>
":81\"\; function init(){ output = document.getElementById(\"output\")\; testWebSocket()\;} function testWebSocket(){ websocket = new WebSocket(wsUri)\; websocket.onopen = function(evt) { onOpen(evt) }\; websocket.onclose = function(evt) { onClose(evt) }\; websocket.onmessage = function(evt) { onMessage(evt) }\; websocket.onerror = function(evt) { onError(evt) }\; } function onOpen(evt) {writeToScreen(\"CONNECTED\")\; doSend(\"CONNECTED\")\; document.getElementById(\"myonoffswitch\").disabled = true\;} function onClose(evt){ writeToScreen(\"DISCONNECTED\")\;} function onMessage(evt){ var received_msg = evt.data\; writeToScreen('<span style=\"color: blue\;\">RESPONSE:' + received_msg +'</span>')\; if(received_msg == \"Connected\"){document.getElementById(\"myonoffswitch\").disabled = false\; document.getElementById(\"myonoffswitch\").checked = false\; doSend(\"GS\")\;} if(received_msg.startsWith(\"GS\")){ var l_tempSwitchStatus = received_msg.split(\":\")\; writeToScreen(\"Medve \" + l_tempSwitchStatus[1])\; document.getElementById(\"myonoffswitch\").checked = (l_tempSwitchStatus[1] === 'true')\; document.getElementById(\"myonoffswitch\").disabled = false\;} } function onError(evt){writeToScreen('<span style=\"color: red\;\">ERROR:</span> ' + evt.data)\;} function doSend(message){writeToScreen(\"SENT:\" + message)\; websocket.send(message)\;} function writeToScreen(message){var pre = document.createElement(\"p\")\; pre.style.wordWrap = \"break-word\"\; pre.innerHTML = message\; output.appendChild(pre)\;} function checkedChanged(message){doSend('WS:'+document.getElementById(\"myonoffswitch\").checked)\;}window.addEventListener(\"load\", init, false)\; </script><h2>WebSocket Test</h2><div class=\"onoffswitch\"><input type=\"checkbox\" name=\"onoffswitch\" class=\"onoffswitch-checkbox\" id=\"myonoffswitch\" onchange=\"checkedChanged(this)\" checked ><label class=\"onoffswitch-label\" for=\"myonoffswitch\"><span class=\"onoffswitch-inner\"></span><span class=\"onoffswitch-switch\"></span></label></div><div id=\"output\"></div>";
Nem kell oldalt töltögetni számomra az idegesítő.esetleg a CNLohr csatornáját ajánlom [link] esp8266 on tol valami 700Hz el weblapot és FFT vel zenéből RBG ledszallagot színez.....
-
Tankblock
aktív tag
Szia,
nem, ha jól láttam kaptál választ, én meg egy kapcsolást az elméelthez itt: [link]
Az 5V helyett mehet a 3V3 kísérletnek az arduino oldalára, sima pin changeként lehet is regisztrálni. A legrosszabb esetben itt az opto elköszön az evilági élettől.... inkább mint a uController :-) -
Tankblock
aktív tag
Szia,
Én nem szeretnék beleszólni, de én a helyedben optócsatolóban gondolkodnék inkább. Mi van ha abban az autóban ugye a 12 V az inkább 14.4V és ha elmegy a diódahíd simán lehet az 18V is. Ilyen esetén megsütöd a lapodad. Közös földed amúgy is lesz gondolom nem isolált tápon kapod az 5V se --> én elgondolkodnék rajta erősen azon is....
A kód oldalról lehet interrupt is a start jel.....
-
Tankblock
aktív tag
válasz
kesztió #14531 üzenetére
300+ nm betonházban felejtsd el a Wifis megoldást, ha saját a ház.
Köss be fixen UTP kábelt mindenhova, majd POE kaptál powert, MQTT meg mehet a kommunikáció. Kevesebb lesz vele hosszútávon a gond.
Nem szórod tele a házat pluszban Wifi jellel.Vagy Nordic chipek hada Bluetooth MESH, vagy 433 MHZ adó vevővel láttam MESH hálót.
-
Tankblock
aktív tag
válasz
Drótszamár #14240 üzenetére
Legvégső esetben heatshrink tube + folyékony meleg (
takony)ragasztó....nem tökéletes, 1-2 évet kibírhat...
-
Tankblock
aktív tag
Akkor neked nem kínai klón van, vagy jobb mint az enyém,
Általános tapasztalat, hogy ha lehet jól csinálni akkor csináljuk úgy, főleg kezdőknek tanácsolom, mert könnyen lesz belőle negatív tapasztalat...
Azt nem mondtam hogy nem csináltam már elegendő hüleséget életemben, nem egy nano-t kellett magam kapkodása miatt javítanom, elég ha nem figyel egy kicsit az ember.
-
Tankblock
aktív tag
válasz
repvez #14183 üzenetére
Szia
Angollal hogy állsz?
1:00 pont azt mondja hogy ha több vagy nagyobb szervót szeretnél akkor külső forrás szükséges. Ha nem szeretnéd túlterhelni akkor fogadd meg a tanácsot. Gondolom megjavítani sem tudod, a nanon a schottky dióda fog elmenni először ha szerencséd van.
-
Tankblock
aktív tag
-
Tankblock
aktív tag
válasz
CHIPman #14026 üzenetére
Szia
Flashelés ment rendesen? Lehet előbb a Soros porton kellene megnézni mi történik...
Azt még a LED Szalag rákötése nélkül kellene megejteni. MEgtalálja-e a Wifit és egyebeket, nehogy csak crasheljen.....UI. Feletsd el a 2A sima tápot, NE hajtsd a 30 LED ed fullon mert nem lesz jó. 30*3*20[mA] = 1.8 A és ez csak a LEDek nem számoltál az ESP8266 initkor fel tud használni simán 3xx mA, és átlag 80 [mA] fogyasztással fog futni. Mindenképen a fényerőt limitáld. A másik ami segíthet egy 100uF vagy nagyobb kondenzátor.
-
Tankblock
aktív tag
-
Tankblock
aktív tag
válasz
EvilNside #13757 üzenetére
Meg se merem kérdezni, hogy a hőmér projectből hogy lett macska trackelő project ....
A GPS maga nem lesz kis fogyasztás, szerintem erre lehet venni készen kisállat trackert....
A lényeg hogy az átlag fogyasztást kell lenyomni a uA tartományba ott is a 10-20uA mértékre.Helyedben fix időközönként (pl RTC vel) rákérdeznék egy fix adónál hogy kell-e mérni, ha kell akkor adó küldi, a parancsot. Ha értesz kicsit assemblyhez akkor ez egy ESP ULP magját is használhatod erre.... Majd azzal felkelted a fő magokat amik megcsinálják a GPS mérést..... Nem lesz az sehogysem kevés energia..... GPS folyamatosan illene mennie a jó pontosság végett... Bár lehet van olyan ami gyorsan talál műholdakat.....
-
Tankblock
aktív tag
válasz
EvilNside #13748 üzenetére
Hello, mennyire kell ad hocnak lennie?
Leírnád a use-case-t? Ahhoz hogy Minimál batteryről menjen átlagban uA tartományban kellene tartanod a fogyasztást 10-20uA. ESP-NOW nem lehetetlen. Az egyik oldalnak folyamatosan aktívnak kell maradnia, és küldhet vezérlést is, pl a mintavételezési időt növelni, csökkenteni.....Másik a Soft Latch h valami külső trigger hatására aktíválódik csak és amikor végez akkor kikapcsolja magát....
NRF chipek esetenként bluetooth, vagy Zigbeen keresztül .....
-
Tankblock
aktív tag
-
Tankblock
aktív tag
válasz
tonermagus #13575 üzenetére
Szia értelek,
csak azok nélkül a fránya alapok nélkül - Janos250 után szabadon csak mazoizmus és nem hobby.
A lényeg hogy a problémát bontsd le elemi egységekre majd azokat old meg egyesével példa programokban és után jön az egész összerakása. Ott még érhet meglepetés, mikor integrációkor kiderül, hogy egy timert használ több könyvtár, vagy úgy már nem is gyors :-P
-
Tankblock
aktív tag
válasz
tonermagus #13571 üzenetére
Szia,
nem hinném, inkább a konceptciót kell jól átgondolni (design) és programozni megtanulni, mert a Mega-ba van elég sok lehetőség HW esen. Ennyi erővel STM32 vonalra is felszálhatnál, vagy Nordic chipjeit is használhatnád directbe, gondolom most is azt használod :-)
-
Tankblock
aktív tag
válasz
tonermagus #13557 üzenetére
Szia
[link] Ez segít. A tömb mérete 2 adj meg, ne 1 et.... A 2 hosszú tömb címei a [0 és 1] lesznek....
Dobd fel GIT re a kódot aztán megnézzük... Sztem kevered, mert 1 lokáció 1 lat és egy longitudinal értékből áll. 2 lokáció különbsége kell neked.
-
Tankblock
aktív tag
válasz
Yodafon #13548 üzenetére
Szia
Van benne nRF52840 pont amit ajánlottam :-)
Ez nem egy classikus Nano, ez már az új hullámos 3V3 működőek. Azon a lapon van még egy rakat sensor is, ne csodálkozz hogy mennyi az annyi, nem is sok érte.Alin egy break out $18 - $25+ Shipping, és nincs benne semmilyen sensor....
Meglátjuk lehet hogy engem is érdekel -
Tankblock
aktív tag
válasz
Yodafon #13546 üzenetére
Szia
Az Arduino Nano egy Atmel 328P és nincs benne Bluetooth.
Lehet hozzá tenni, de nem ajánlom. Nordic chipjei között nézelődj ha mindenképpen bluetooth kell.
ESP32 is képes Bluetoothra, itt a fogyasztása lesz nagyobb.Van még más szabvány is..
Azt még gondold meg Mit szeretnél, pl SONOFF árul Wifi alapú kapcsolókat is....
Szóval project függő, hogy lehet megéri 11k per unit.... -
Tankblock
aktív tag
válasz
tonermagus #13544 üzenetére
Szia,
C++ is your best friend...
Feltételezésem szerint ezt a könyvtárat használod : [link]
static float DistanceKm( const Location_t & p1, const Location_t & p2 )
{
return DistanceRadians( p1, p2 ) * EARTH_RADIUS_KM;
}
ahol a bemenet egy class ami jó hír mert van float initje isLocation_t( float lat, float lon )
: _lat(lat / LOC_SCALE), _lon(lon / LOC_SCALE)
{}
Szóval a kapott értékkekel készíts 2 Location_t classt majd hívd meg a függvényedet.
Lassan jár a sör és átmehetünk a programozzunk topicba :-P
-
Tankblock
aktív tag
válasz
tonermagus #13521 üzenetére
i-BUS mint protokoll ha jól értem akkor egy olyan UART (115200 baud 8N1 )aminek nincs külön Tx meg Rx pinek hanem ugynevezett 1-Wire azaz egy-vezeték konstrukcióban működik.
Jelen esetben a vevő 7 [ms] periódussal küldi az összes csatorna / bejövő vezérlés / PWM jelét ez megy a 17 IO lábra ami Rx.
Amikor a controller szeretné küldeni a sensor adatokat akkor azt a 16 io lábon teszi,
A kettő, hogy ne zavarja egymást ha jól sejtem illik elválasztani, ugye a dióda csak egy irányba vezet. Rx felé érkező jelet választod le a Tx lábról, hogy azt ne süsd meg. Ezt így konyhanyelven leírva - reméelm lesz más aki jobban el tudja magyarázni. -
Tankblock
aktív tag
válasz
tonermagus #13511 üzenetére
Szia,
a példakóddódban a példányosításkor
IBus
nevet adod. szóval csak aIBus.begin(Serial2);
fog működni. Sztem a példa kód forrása: [link]Amivel kevered az ennek a GIT reponak egy másik példakódja ha jól sejtem: [link]
Ahol példányosítás így néz ki :IBusBM IBusServo;
IBusBM IBusSensor;
// iBUS setup
IBusServo.begin(Serial1);
// commentek
IBusSensor.begin(Serial2);
Nem csináltam pont ilyet.
Az említett osztály nem Singleton szóval példányosítani kell és begin fnc vel kell beállítani a soros portot, pineket és a fnc maga gondoskodik a timerek használatáról.Szépen a saját loop fnc is hivogatja.... Egy jól megírt libnek tűnik.
Átnéztem a repot, ezek alapján mondom hogy bekötési hiba, vagy tápfesz.
-
Tankblock
aktív tag
válasz
tonermagus #13504 üzenetére
Szia,
Bekötési hiba lehet.
Diódát jól kötötted be?
Bekapcsolás után az adó működik rendesen? Servo kontroll pl megy-e? -
Tankblock
aktív tag
válasz
atesss #13471 üzenetére
Schmitt trigger alkalmazol, vagy a gomb helyett egyszerű érintő panelt pl TTP223
Problem solved.Ha meg szálaid vannak akkor meg nem mind1? írsz egyet ami figyeli h 1be vált-e az interrupt ban lévő flag. Amint lefutott amit szerettél volna és eltelt + 50 ms akkor 0 -ra váltog a flaget...
-
Tankblock
aktív tag
válasz
gyapo11 #13422 üzenetére
Egy normális SSDben van támogatva a wear leveling figyelése és nem ugyanoda irogat vissza, plusz a cachelése is jobb. SD nél meg max ha az oprendszer figyel rá....
Nálam SD kártyából több hallt már meg mint ssd/hdd ből...
Igen lehet RPi4 is SSDről futtatni/bootolni.
Attól én még hiszek a különböző lokációkon tárolt adatokban, azok nehezebben sebezhetőek... Bármely gépről hozzáférehetőek. -
Tankblock
aktív tag
válasz
Gergosz2 #13419 üzenetére
Pont ezt mondom én is...
igen azt ki kell tapasztalni, hogyan működik jól. Masterben működő verziót, vagy Release branchekben a működő verziót erre vannak stratégiák....
Az biztos h minnél több helyen van akkor diverzifikáltad az adatvesztést mint rizikófaktort.
sd kártyára még 1x semmit se bíznék, a raspimen is csak a rossz tapasztalat van vele... Én ezért szeretnék olyan mini pc-t amibe SSD/HDD lesz....
Új hozzászólás Aktív témák
Hirdetés
- Nitro ANV15-41 15.6" FHD IPS Ryzen 7 7735HS RTX 4060 32GB 1TB NVMe gar
- ASRock RX 5700 XT 8GB GDDR6 Phantom Gaming D OC Eladó!
- SilentiumPC Signum SG1 TG
- ThinkPad T490 27% 14" FHD IPS i7-8565U 16GB 512GB NVMe ujjlolv IR kam új akku gar
- X1 Tablet Gen3 13" 3K IPS érintő i7-8550U 16GB 512GB NVMe ujjlolv IR kam 4G LTE gar
- AKCIÓ! HP Elitedesk 800 G1 USDT mini asztali számítógép - i7 4770S 16GB RAM 128GB SSD Intel HD
- Csere-Beszámítás! Sapphire Nitro+ RX 7800 XT 16GB GDDR6 Videokártya! Bemutató Darab!
- BESZÁMÍTÁS! MSI X470 R7 5800X 32GB DDR4 512GB SSD ROG STRIX RTX 2080 Super 8GB Rampage SHIVA 650W
- Xiaomi Redmi 12 Pro 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged