-
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
-
Teasüti
nagyúr
-
nagyúr
válasz Atamano #10523 üzenetére
Ha az LCD i2c vonalain nincs gyárilag felhúzó ellenállás, akkor működhet level converter nélkül is, úgy, hogy csak 3,3V-ra húzod fel a vonalakat! Ha az LCD elektronikája elfogadja a 3,3V-ot magas szintnek, akkor problem solved. Egy 5V TTL szintű logika 2,5-3V feletti feszültséget már magasnak szokott értelmezni. Ha ez nem jön be, akkor marad a level converter.
-
ecaddsell
aktív tag
válasz Atamano #10523 üzenetére
Pont nemrég vettem én is ilyesmit, sajnos még nem jött meg, szóval konkrétan nem tudom megnézni, de ha ez az a verzió ahol az LCD panelre rátettek 1 PCF8574 vezérlő panelt akkor sima ügy mert te döntöd el milyen tápfeszt adsz neki (3.3V ha ilyen rendszerben használod), ui. adatlap szerint 2.5 és 6V között lehet neki adni.
Kockázat abban van, hogy ha a kontroller panel 5V-járol hajtod, mert ha véletlenül lejön a föld vezetéke ott biztosan vége a kontrollerednek (mert visszamegy az LCD panelen keresztül az 5V a kontroller IO pinjére és azt nagyon nem szereti).
Ha lehet ilyen kérdéshez dobj be képet is mert majdnem mindenből több verzió van és a kép sokat segíthet eldönteni neked mi van.
Szerk: Ha 3.3V-os a kontroller akkor jobb, ha a kijelzőnek nem 5V-os, hanem 3.3V-os tápfeszt adsz.
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz Atamano #10543 üzenetére
Már van rajta kondenzátor. A ki- és bemeneten is, amik kellenek a működéséhez.
Túlfeszültségre én - laikusként - vagy ellenállás + zener dióda kombóval oldanám meg ha nincs túl nagy áram. Vagy készítenék egy egyszerű kapcsolást egy komparátorral és mosfettel - mint ami a Ruggedunio-n van -, ami lekapcsol egy adott feszültség felett. A kimeneti oldalra én nem tennék külön védelmet, ott nem keletkezhet túlfeszültség. Ha meg igen, akkor már mindegy. -
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 ]
-
fpeter84
senior tag
válasz Atamano #10887 üzenetére
Működne, de van egyszerűbb módja is:
pinMode(2, INPUT_PULLUP);
Így semmi más nem kell, mint a kapcsoló másik felét földre kötni! Egyszerűbb, és kapcsolástechnikai szempontból is szerencsésebb, ha a bemenő lábat nem közvetlenül kötöd a tápra, hanem felhúzod egy ellenállással és a kapcsolóval azt húzod földre. Az integrált pullup használatával ez történik külső ellenállás nélkül... Annyi a különbség, hogy ilyenkor 1-et olvasol alap, és 0-t gombnyomott állapotban...
-
fpeter84
senior tag
válasz Atamano #10894 üzenetére
Igazából szerintem határeset lehet, de az az abszolút biztos ha külső ~1-4.7K felhúzó van
A láb és 5V közé tedd az ellenállást, valamint a láb és föld közé a záró kapcsolót - így alaphelyzetben felhúzva 1-et olvashatsz a lábon, a gomb megnyomásakor meg 0-ra vált. A pinmode-ot pedig akkor sima INPUT-nak add meg pullup nélkül
-
Tankblock
aktív tag
válasz Atamano #11496 üzenetére
Szia
Profi rendszer alatt mit kellene elképzelni?
A biztonságkritikus rendszerekben redundancia van, azaz 2 v több mérő van a redszerben és még továbbá lehet modellezni a szabályozandó eszközt akkor sokféle monitorozás lehetséges. Ehhez ismerni kell a rendszert.
Release the Beast....
-
Teasüti
nagyúr
válasz Atamano #11751 üzenetére
Nem ajánlott. Ha közvetlen az 5V lábra kötsz tápot, akkor nem kapcsol le az usb táp és a védődióda csak némi biztonsági tartalékkal véd. Vagyis ha csak egy tized volttal nagyobb a tápod mint az usb feszültsége, akkor visszirányú áramot adsz az usb portra. Ez tönkreteheti az usb vezérlőt.
-
DigitXT
félisten
válasz Atamano #12305 üzenetére
Amennyire tudom, zavarérzékeny a kommunikációja...
Megfelelő feszültségtüskével totál le lehet fagyasztani!Természetesen ameddig csak hibát dob, de újra tudod
olvastatni, akkor azt kell csinálni. Ha átmeneti a zavar,
nincs ezzel semmi gond, a hibás értéket meg eldobod:
a felhasználó meg se látja, hogy egy frissítés kimaradt. -
vargalex
félisten
-
DigitXT
félisten
válasz Atamano #12308 üzenetére
Valami ilyesmire. De valójában egyszerűbb megoldásra: nem is feltétlen olvasnám
rögtön újra, hanem az egyértelműen hibás értéket eldobnám és kész. Nem tudom,
milyen gyakran frissíted, de maradna a kiírt érték a következő frissítésig. Ennyi.Amit a kolléga ír, hogy 5x próbáld újra, az se rossz ötlet, de nem feltétlen előnyös,
főleg, ha esetleg a programnak várnia kell a konverzióra, és közben csinálna mást.Szerk: ki lehet íratni hibajelzést, de ha a felhasználó nem tud vele mit kezdeni, hát
kevésbé fáj, ha kimarad a hibás olvasás és a következő körben látja a friss értéket.[ Szerkesztve ]
-
DigitXT
félisten
válasz Atamano #12312 üzenetére
Ne az éles változóba rakd a beolvasott értéket, hanem egy átmenetibe...
Megnézed, hogy mennyi az annyi, ha -127, és ez a hibajelzés, akkor ez
nem kerül be az aktuális hőmérsékletet tároló változóba, így nem jelenik
meg a felhasználónak. Ott marad az előzőleg mért érték, ami amúgy kb.
pontos is lesz, feltéve, hogy viszonylag lassan változik a hőmérséklet.Nem olyan izgalmas a dolog, hogy példa kódot kelljen írnom rá...
Szerk: na jó, most nézem, hogy amit te írtál, az valójában totál rossz.
Mivel ugye a temp2-nek soha nem adsz értéket, ám azt írod ki a végén...Átírom azt:
Temperature1 = sensors.getTempCByIndex(SENSOR_INDEX);
if (Temperature1 != -127) Temperature2 = Temperature1;
else
Temperature2 = Temperature2; //erre semmi szükség, csak magyarázza
Serial.print(Temperature2);A fenti példában azzal lehet baj, ha rögtön hibás olvasással kezdtél, így a
Temperature2-ben nincs valid érték és azt akarod (valahogy) megjeleníteni.
Erre kéne inicializáció, mondjuk írjon ki 0 fokot, amíg nem tudja, mennyi...[ Szerkesztve ]
-
DigitXT
félisten
válasz Atamano #12314 üzenetére
Ugyanúgy rossz. Temp2 értékét adod vissza, de annak soha nem adsz értéket.
Lehet, hogy csak elírás, és az akart lenni, hogy:
Temperature1 = (sensors.getTempCByIndex(SENSOR_INDEX));
if(Temperature1 == -127)
{// do nothing
}
else{
Temperature2 = Temperature1;
}
Serial.print(Temperature2);Amúgy nem vagyok biztos benne, hogy nem menne syntax error-ra egy töküres
blokk. De most nincs előttem a fordító. Viszont, ha már így írod, akkor én oda a
a "do nothing" helyére csak beletennék egy darab újra olvasást, tuti, ami fix...Persze ez mondom, túlbonyolítás, az egész ellenőrzés valójában egyetlen sor...
if (Temperature1 != -127) Temperature2 = Temperature1;
Addig semmi szükség az else ágra, amíg hibakezelést nem akarsz csinálni...Szerk: ahh, közben törölted, akkor mindegy, a lényeg akkor átment.
[ Szerkesztve ]
-
zsolti_20
senior tag
válasz Atamano #13696 üzenetére
Hmm erdekes a tema. Az arduino 0-rol valo felpitese tehat magasabb minoseget kepes garantalni, ha kihagyunk minden olyan alkatrreszt ami nem szukseges az adott feladathoz.
Igy eredemesebb lenne inkabb megepiteni a sajat arduinonkat?
Ha ez sem garantal megfelelo szintu minoseget akkor mivel erdemes megoldani? -
nagyúr
válasz Atamano #13696 üzenetére
Jók a meglátásaid! Ezek alapján ha tartós, netán szélsőséges körülmények közötti használatra készít az ember arduino alapú készüléket, akkor a prototipizálás után, ha kész a program is, a készen vehető UNO vagy klónjai helyett kell egy saját nyákterv, kell bele pl. egy külső programozóval felprogramozott atmega328p meg minőségi alkatrészek, fixre szerelt csatlakozásokkal és perifériákkal, esetleg táppal, gondosan dobozolva.
-
gyapo11
őstag
válasz Atamano #13696 üzenetére
Az elektronikai fejlesztéssel foglalkozó emberek már 20 éve is saját nyákot terveztek, gondolom jó minőségű alkatrészeket ültettek a proci mellé, jó minőségű csatlakozókat, és assemblyben, esetleg c-ben, basicben, pascalban programozták. Akkor én is vettem egy ilyen beültetett, tesztelt nyákot, de mai napig sem használtam, túl bonyolultnak éreztem. Ez a helyzet az arduinoval változott, ez az IDE-vel, az usb kapcsolattal elérte azt az egyszerűséget, ami ahhoz kellett, hogy tudjam használni.
Hosszú távra és fontos helyre én sem merném használni az olcsó kínai arduino másolatokat, de egyrészt lehet kapni, eredeti arduinot is, talán jobb minőségű alkatrészekkel, másrészt az arduino teljesen ingyenes, tehát 0-ról le lehet gyártani, gondolom sokkal többe kerül úgy, de jó minőség érhető el jó minőségű alkatrészekkel, forrasztásokkal, csatlakozókkal. És a bootloader beégetése után akár az IDE-t is lehet használni programozásra.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
Új hozzászólás Aktív témák
- AKCIÓ Új Dobozos Macbook Pro dokkoló új ára 70.000 forint
- ThinkPad Hybrid USB -C USB -A Dock 40AF Új ára 80.000 Forint Ingyen szállítás
- Xiaomi Redmi Note 9s 128/6 GB 34.9E !!!
- Új Hp Pavilion 15-eh Fémházas Szuper Laptop 15,6" -30% AMD Ryzen 7 5700U 8Mag 16/1TB FHD MATT
- ATI RADEON RX 480 -8 gb DDR5 256 bit videokártya