-
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
-
dew28
aktív tag
A GitHub-os leírásban csak annyit írnak, hogy a 4M flash-es verziót kell választani.
Make sure to get one with 4M Bytes of flash (not D1 mini lite with only 1M Byte flash!)Tehat 'sima' D1 mini-t hasznalhatsz, letezik hozza relay-shield is, meretben is kisebb mint az UNO meret, amit linkeltel, es igen, tud USB-rol tapot is kapni, ha 1db rele van rakotve osszesen, azt el is szokta birni.
Kodolni sem nagyon kell, van hozza web-installer
mod: Ja, bocs, figyelmetlenul olvastam vegig az eredeti postod. -
válasz
Janos250 #21790 üzenetére
Köszi a gyors választ, és a kódot!
Összesen 4-5 lámpa lenne, de ezek pici "jelző"lámpák a kamerákon, hogy lehessen látni melyik kamera van adásban: [link]
Nem WEBlapról, hanem egy videókeverőpult vezérelné őket a helyi hálózaton keresztül. Tippem szerint a keverőpult a hálózaton keresztül kiküldi az állapotváltozásait (éppen melyik gombot nyomták meg), és ez a kis kütyü pedig figyeli, hogy a Cam1, Cam2, Cam3,... gomb van-e lenyomva, és ennek megfelelően kapcsolja be/ki a lámpát. A relé azért kell, mert így földfüggetlen ki/be kapcsolást tudok kialakítani. Nem alakulnak ki véletlenül sem kóboráramok.A kérdés még mindég hogy melyiket, mert pl. itt n+1 féle kialakítású (tudású?) kapható. A GitHub-os leírásban csak annyit írnak, hogy a 4M flash-es verziót kell választani. Ezek szerint nem csak a fizikai kialakításuk eltérő... Ez pl. szimpatikus, de nem tudom van-e benne annyi flash amennyire szükség van, és hogy simán rádugható egy relés shield. (na nem mintha pár vezeték beforrasztása gondot okozna, de a szemem már nem a régi, ezek a kis smd biszbaszokat már nem látom jól, de nagyítóval egy forfül talán még megy)
A programozással amatőr szinten foglalkozom. Még ZX81-en kezdtem, de mostanában csak Batch scripteket, és C# programokat faragok a magam szórakoztatására, és hogy megkönnyítsem a mindennapi munkámat. Szóval kb. ismerősek az alap dolgok, de C++-al még nem kötöttünk barátságot.
Itt igazából, nem a lámpák ki/be kapcsolása a nagy trükk, hanem hogy a keverőpulthoz kapcsolódjon, és annak adatait értelmezze.
A leírás azért lenne jó, mert tisztázna pár olyan alap kérdést, hogy Pl. a betáp mehet az USB proton, vagy az csak programozásra való, és külön (3.3V-os?)tápot kell neki adni, stb...
-
Janos250
őstag
válasz
Janos250 #21794 üzenetére
Azokra gondoltam, amik eleve a rendszerben vannak, mert azok valóban nem keverik a dolgokat.
A gondom a netről letöltött programokkal volt, amik összevissza ezt-azt akartak használni.
Aztán ide:
C:\Arduino\arduino-1.8.19\portable\sketchbook\librariesrakosgattam be, ez a problémák zömét megoldotta, mert a kacsacsőrösök közül először itt keres (legalábbis úgy tűnik, mert erről nem tudok semmi leírást, hogyan szedi sorba, a fordító paraméterei meg annyian vannak, hogy nem volt türelmem végigbogarászni.)
-
vargalex
félisten
válasz
Janos250 #21794 üzenetére
Az "azok tudják, hogy hol keressék a nekik kellőt" elég hihetetlen, ha azokban is egy
#include <masikheader.h>
van csak..
Persze az azonos elnevezésű header-ekkel nem nagyon lehet mit kezdeni. Ezt én is úgy szoktam, hogy kiválasztok egyet, telepítem. Ha nem tetszik, akkor leszedem és telepítem a másikat. -
Janos250
őstag
válasz
vargalex #21793 üzenetére
Én régebben többször belekeveredtem, mert több helyen vannak kyönyvtárak.
Pl:C:\Arduino\arduino-1.8.19\libraries
C:\Arduino\arduino-1.8.19\portable\sketchbook\libraries
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\libraries
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\cores\arduino
C:\Arduino\arduino-1.8.19\portable\packages\arduino\hardware\avr\1.8.6\firmwares
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\cores\esp32
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\cores\esp32\apps\sntp
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\libraries
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\dout_qspi\include
C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\includePersze, kibogozható, hogy mikor éppen melyiket használja, de én néha belekeveredtem.
"ami nem hivatkozik másikra és azok tovább"
Azokkal kevésbé van gond, mert azok tudják, hol keressék a nekik kellőt, probléma akkor van, ha az ember mondjuk végig akarja próbálni a neten elérhető SHA1 programokat, összehasonlítani, hogy milyen időt futnak, amik szoftveresen oldják meg, és milyet, amik használják az ESP32 hardver megoldását. Mivel ilyen libet elég sokan írtak, és mindenki az SHA1 nevet adta neki, ebbe belekeveredtem annak idején, kénytelen voltam az összeset letörölni, és egyenként berakni csak azt, amit éppen próbáltam. -
vargalex
félisten
válasz
Janos250 #21784 üzenetére
Ez addig járható út, ameddig egyetlen header-ről van szó, ami nem hivatkozik másikra és azok tovább...
Nekem még soha nem volt problémám ebből. Persze lehet annak is köze hozzá, hogy linux alatt vagyok.Mondjuk számomra az volt a triviális feltételezés, hogy mindenki tudja, mi a különbség a két include között.
-
Janos250
őstag
Írj egy programot ESP32-re, amivel interneten keresztül vezérelhető egymástól függetlenül 4 db lámpa be-, illetve kikapcsolása!
ChatGPT:
Sajnálom, de itt nem tudok teljes kódot adni, de segíthetek neked egy egyszerű példakóddal és útmutatóval, amely segít az ESP32-alapú lámpavezérlő projekt elkészítésében. A példakód egy egyszerű webszervert hoz létre, amelyen keresztül lehet vezérelni a lámpákat.Először is, telepítsd az Arduino fejlesztőkörnyezetet és az ESP32 támogatást hozzá. A szükséges könyvtárakat is telepítsd fel a "Library Manager" segítségével: WiFi.h és ESPAsyncWebServer.h.
Ez a kód egy egyszerű webszervert hoz létre, amelyen keresztül a lámpákat lehet vezérelni. Az ESP32 GPIO pineken keresztül kapcsolja be és ki a lámpákat. A weboldalon a lámpákat külön-külön lehet be- és kikapcsolni.
Ne felejtsd el a Wi-Fi hálózat nevét (ssid) és jelszavát (password) a kódban beállítani, hogy a készülék a megfelelő hálózatra tudjon csatlakozni.
#include <WiFi.h>
#include <ESPAsyncWebServer.h>
const char *ssid = "your-ssid"; // Hálózat neve (SSID)
const char *password = "your-password"; // Hálózat jelszava
const int lamp1Pin = 2; // GPIO pin a lámpa 1-hez
const int lamp2Pin = 4; // GPIO pin a lámpa 2-höz
const int lamp3Pin = 5; // GPIO pin a lámpa 3-hoz
const int lamp4Pin = 18; // GPIO pin a lámpa 4-hez
AsyncWebServer server(80);
void setup() {
// Lámpák inicializálása
pinMode(lamp1Pin, OUTPUT);
pinMode(lamp2Pin, OUTPUT);
pinMode(lamp3Pin, OUTPUT);
pinMode(lamp4Pin, OUTPUT);
// Wi-Fi csatlakozás
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// Weboldal kezelése
server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){
request->send(200, "text/html", "<html><body>\
<h1>Lámpavezérlő</h1>\
<p><a href='/lamp1/on'>Lámpa 1 BE</a> | <a href='/lamp1/off'>Lámpa 1 KI</a></p>\
<p><a href='/lamp2/on'>Lámpa 2 BE</a> | <a href='/lamp2/off'>Lámpa 2 KI</a></p>\
<p><a href='/lamp3/on'>Lámpa 3 BE</a> | <a href='/lamp3/off'>Lámpa 3 KI</a></p>\
<p><a href='/lamp4/on'>Lámpa 4 BE</a> | <a href='/lamp4/off'>Lámpa 4 KI</a></p>\
</body></html>");
});
server.on("/lamp1/on", HTTP_GET, [](AsyncWebServerRequest *request){
digitalWrite(lamp1Pin, HIGH);
request->send(200, "text/plain", "Lámpa 1 BEkapcsolva");
});
server.on("/lamp1/off", HTTP_GET, [](AsyncWebServerRequest *request){
digitalWrite(lamp1Pin, LOW);
request->send(200, "text/plain", "Lámpa 1 KIkapcsolva");
});
// Hasonlóképpen kezelheted a többi lámpát is (lamp2, lamp3, lamp4)
// Szerver indítása
server.begin();
}
void loop() {
// Üres, itt lehetne egyéb dolgokat hozzáadni
} -
Janos250
őstag
válasz
Wolfram #21789 üzenetére
Nem, bár szemeztem vele, de én szeretem, ha nem egy, hanem két fizikai mag van benne, de egyébként tetszik ez is, vagy másik verziója is. Gyűjtögető életmódom miatt január kilencedikén megrendeltem, január vége felé várható a megérkezése.
Jelenleg még nem érkezett meg a magyar VÁM-ra. -
Janos250
őstag
válasz
Janos250 #21787 üzenetére
Hány lámpa lenne?
Nem teljesen értettem meg a linkelt példát: egyszerűen WEB lapról akarod vezérelni a lámpákat? Mert ahhoz nem kell ekkora felhajtás.
"Melyik Arduino modell lenne erre a célra a legmegfelelőbb"
Erre mindenki mást fog mondani. Mindenki a kedvencét. Gyakorlatilag bármelyik jó, de ha neten keresztül akarod vezérelni, akkor az ESP8266, vagy az ESP32 a célszerű választás, mert abban benne van a WiFi, nem kell külön WiFi modul.
Honnan?
Ez is ízlés kérdése. Én mindent Aliexpressről veszek, de sokan az itthoni boltokat pártolják. Most az Alin rendelt dolgok is bejönnek 2-3 hét alatt.
ESP32mini Alinak egy akciójában nagyjából 1500 Ft. Ha nagyon sok lámpa kell, akkor egy erősebb ESP32
Igen, alaplap, tápegység elég. És persze a relék, ha azt használsz. Én általában FET-eket használok.
Gyorstalpaló?
Hát, vannak, kérdés, mennyire jók.
Hol állsz a programozással?
Az Arduino az C++ , megtámogatva egy halom "szabványos" osztállyal, hogy mindenki ugyanúgy használja a perifériákat, és egy plusz típussal (String a string mellé), ami néha jó, de néha meg gutaütés, ha keverni kell a kettőt.
A szerkesztő, és feltöltő felülethez nem kell különösebb tanulás, egyszer megnézed valahol, vagy valaki megmutatja, és megy. -
Nincs sok tapasztalatom az Arduino-val kapcsolatban, ezért kérnék némi iránymutatást. Ezt a "kamera piros lámpa kapcsoló" projektet szeretném megépíteni, kis módosítással. Mégpedig úgy, hogy egyetlen Arduino eszköz csatlakozna a helyi hálózatra, és az i/o portjain keresztül vezérelne a lámpákat kapcsoló relémodult.
- A fenti "kész" projektből induljak ki, vagy az általa is használt eredeti Library-ból "nulláról" kezdjem felépíteni(megérteni) a működését?
- Melyik Arduino modell lenne erre a célra a legmegfelelőbb? Hol érdemes megvenni? Kezdetnek elég az alaplap, a tápegység, és a hozzávaló program?
Létezik magyar nyelvű gyorstalpaló az Arduinó fejlesztőkörnyezet használatáról, ill. magáról az Arduinó programozásáról?
-
Janos250
őstag
válasz
its_grandpa #21782 üzenetére
Én naivan azt hittem, hogy a néha - ritkán - általam is használt VSC (Visual Studio Code) Microsoft, de tévedni emberi dolog.
Béke! -
Janos250
őstag
Ha ott vannak a fájlok, ahol az ino, akkor idézőjel, egyébként kacsacsőr. Régebben én is szívtam vele, mert az ESP32 is összevissza rak könyvtári fájlokat. Ezért én nem kínlódok vele: vagy átteszem az ino mellé - akkor mellesleg szerkeszthetem is az Arduino IDE-ben - vagy megadom a teljes elérési utat.
Például találomra így:C:\Arduino\arduino-1.8.19\portable\packages\esp32\hardware\esp32\2.0.11\tools\sdk\esp32\include\driver\include\driver\sdio_slave.h
-
Janos250
őstag
válasz
its_grandpa #21778 üzenetére
Azt azért feltételeztem, tudja, mikor kell a kacsacsőrt és mikor az idézőjelet használni.
Microsoft ügyében (is) megmarad a véleménykülönbségünk. -
Wolfram
aktív tag
válasz
its_grandpa #21778 üzenetére
VSC miben előrelépés, mindkettő egy Electron szövegszerkesztőben szerencsétlenkedik. Nem értem miért nincs egy rendes VS támogatás?
-
its_grandpa
tag
válasz
Janos250 #21776 üzenetére
>> A legbiztosabb, ha beteszed a kívánatosat az .ino mellé, akkor biztosan azt használja.
Sajna nem [link] , csak akkor ha " " jelek között van a forráskódban.
Gondot okozhat még az include fájlban lévő #ifndef feltétel.
A példát tekintve az #ifndef Base64 és az #ifndef base64 nem ugyan az, ellenőrizned kell van-e ilyen a tervezett include fájlban.Aki jót akar magának az kezdjen el VSC-zni, Arduino helyett.
-
Janos250
őstag
válasz
Wolfram #21771 üzenetére
Mást is érdekelhet, ezért leírom:
A legbiztosabb, ha beteszed a kívánatosat az .ino mellé, akkor biztosan azt használja.
Ha ott nem találja, akkor (nálam, mert én portable-t használok) a sketchbook\libraries mappában keres, majd így tovább. Ha végképp keveredik, akkor be kell írni az include-ba a teljes elérési úttal. Ez biztos módszer.
Sajnos hiába írják ezer helyen, hogy, ha valaki ír egy könyvtári programot, ne adjon neki általános nevet, hanem egyedit. Én pl. a saját könyvtáraim nevébe a dátumot is beírom, vagy valami más egyedit. -
Postas99
senior tag
Google Translate. Az a durva hogy nekem a chrome automatikusan felkínálja hogy angolra fordítsa le az oldalt. DE ha nem így működne, akkor
[IDE] kattintva bemásolod az URL-t és a kiválasztott fordítandó nyelv alatt megnyitod az URL-t és lőn a teljes oldal szépen ugyanúgy formázva megjelenik olyan nyelven amit szeretnél. -
Wolfram
aktív tag
válasz
vargalex #21769 üzenetére
Amikor installálok egy lib-et Ard IDE-ben, aminek a neve ugyanaz mint ami az ESP core-ban is van (base64.h), akkor hogyan tudok hivatkozni az installált lib-re?
#include "Base64.h"
#include <Base64.h>
Mindkettő az esp32 core-ra mutat. (\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.6\cores\esp32)Az installált lib meg itt van: \Documents\Arduino\libraries\Base64\src\base64.h
-
Janos250
őstag
válasz
vargalex #21769 üzenetére
Én csak a két utolsó sorra hívnám fel a figyelmet:
Nem pointert használ, hanem tömböt. Ami persze ugyanaz, csak áttekinthetőbb!for(unsigned int i = 2; i < output_length; i += 3) {
output[0] = base64_to_binary(input[0]) << 2 | base64_to_binary(input[1]) >> 4;
output[1] = base64_to_binary(input[1]) << 4 | base64_to_binary(input[2]) >> 2;
output[2] = base64_to_binary(input[2]) << 6 | base64_to_binary(input[3]);
input += 4;
output += 3;
}
-
válasz
Wolfram #21767 üzenetére
chatgpt mire van?
Mondjuk nem teszteltem.
#ifndef BASE_64_HPP
#define BASE_64_HPP
#include <algorithm>
#include <cstdint>
#include <stdexcept>
#include <string>
namespace base64 {
const std::string base64_chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789+/";
template <class OutputBuffer, class InputIterator>
inline OutputBuffer encode_into(InputIterator begin, InputIterator end) {
static_assert(std::is_same<typename std::decay<decltype(*begin)>::type, char>::value
|| std::is_same<typename std::decay<decltype(*begin)>::type, unsigned char>::value
|| std::is_same<typename std::decay<decltype(*begin)>::type, uint8_t>::value);
size_t counter = 0;
uint32_t bit_stream = 0;
size_t offset = 0;
OutputBuffer encoded;
encoded.reserve(static_cast<size_t>(1.5 * static_cast<double>(std::distance(begin, end))));
while (begin != end) {
auto const num_val = static_cast<uint8_t>(*begin);
offset = 16 - counter % 3 * 8;
bit_stream += num_val << offset;
if (offset == 16) {
encoded.push_back(base64_chars[bit_stream >> 18 & 0x3f]);
}
if (offset == 8) {
encoded.push_back(base64_chars[bit_stream >> 12 & 0x3f]);
}
if (offset == 0 && counter != 3) {
encoded.push_back(base64_chars[bit_stream >> 6 & 0x3f]);
encoded.push_back(base64_chars[bit_stream & 0x3f]);
bit_stream = 0;
}
++counter;
++begin;
}
if (offset == 16) {
encoded.push_back(base64_chars[bit_stream >> 12 & 0x3f]);
encoded.push_back('=');
encoded.push_back('=');
}
if (offset == 8) {
encoded.push_back(base64_chars[bit_stream >> 6 & 0x3f]);
encoded.push_back('=');
}
return encoded;
}
inline std::string to_base64(const std::string& data) {
return encode_into<std::string>(data.begin(), data.end());
}
template <class OutputBuffer>
inline OutputBuffer decode_into(const std::string& data) {
using value_type = typename OutputBuffer::value_type;
static_assert(std::is_same<value_type, char>::value
|| std::is_same<value_type, unsigned char>::value
|| std::is_same<value_type, uint8_t>::value);
size_t counter = 0;
uint32_t bit_stream = 0;
OutputBuffer decoded;
decoded.reserve(data.size());
for (unsigned char c : data) {
auto const num_val = base64_chars.find(c);
if (num_val != std::string::npos) {
auto const offset = 18 - counter % 4 * 6;
bit_stream += static_cast<uint32_t>(num_val) << offset;
if (offset == 12) {
decoded.push_back(static_cast<value_type>(bit_stream >> 16 & 0xff));
}
if (offset == 6) {
decoded.push_back(static_cast<value_type>(bit_stream >> 8 & 0xff));
}
if (offset == 0 && counter != 4) {
decoded.push_back(static_cast<value_type>(bit_stream & 0xff));
bit_stream = 0;
}
} else if (c != '=') {
throw std::runtime_error("Invalid base64 encoded data");
}
counter++;
}
return decoded;
}
inline std::string from_base64(const std::string& data) {
return decode_into<std::string>(data);
}
} // namespace base64
#endif // BASE_64_HPP -
-
-
-
-
Wolfram
aktív tag
Viszonylag elterjedt, máshol is ezt használom ha csak úgy be akarok égetni egy-egy képet, ikont, de ez ESP-n katasztrófa.
Cél /lett volna/ az assembly korszakot idéző byte-ok vesszővel elválasztva ábrázolás elkerülése is:
Ilyet nem láttam eddig sehol máshol, ez a kőkorszak csúcsa.
-
-
mézespálinka
senior tag
válasz
JulianSinulf #21748 üzenetére
Igen, amik nálam vannak és "jók/jobbak", azok is így működnek. Azok teljesen élhetők. Sajna a kínai viszont nagyon gagyira sikeredett. (már a nem magyar kínai
)
-
JulianSinulf
őstag
válasz
JulianSinulf #21741 üzenetére
Meg is jött a VL6180X a lentebbi eladótól.
Elájulva nem vagyok tőle.Az Adafruit vl6180x könyvtárat és az abban lévő vázlatot használtam.
A szenzor előtti, úgy 10-13 mm-es rész túl közel van neki. Ezt kis is írja. A 0 innen kezdődik és ezt végig bele kell kalkulálni. Szóval valahol 50 mm-nél csak 40 mm-t ír. Egy pontos beméréssel ez szoftveresen szerintem megoldható.
A max távolság 175 mm, amiből lejön ez a 10-13 mm-es rész.
Ha túl távolra kerül, akkor azt is kiírja a monitorra. Tehát érzékeli, ha valami túl távol vagy túl közel van.
Tehát lényegében olyan 1 cm-től 16 cm-ig lehet vele mérni. -
Wolfram
aktív tag
C++ és http gurukhoz kérdés. Ezt hogy lehetne összehozni (ESP32):
const char base64png[] PROGMEM = "iVBORw0KGgoAAAANSUhg...";
http.on("/favicon.ico", []()
{
http.send_P(200, "image/png", base64png, sizeof(base64png));
});vagy a http küldésnél kellene jelezni hogy base64 kódolt a kép (úgy tűnik nem lehet) vagy át kellene konvertálni a base64-et byte tömb-be (na itt is spriccelt a vér, akarom mondani a memória mindenfelé).
-
Wolfram
aktív tag
válasz
razorbenke92 #21743 üzenetére
Semmi gond, éjszakai -fordított- forrasztás volt. 🤭 Nem lineáris, de már valamennyire stabil, nem tüskés a jel.
-
válasz
Wolfram #21742 üzenetére
LDR van benne, ami talán még logaritmikus is, de biztos, hogy magas fokon nem-lineáris.
Emiatt a modulon található ellenállás (amivel feszültségosztót képez) erősen behatárolja a működési tartományt, ahol különbséget tud tenni fény- és fény között. Alap modulokon ezt leginkább a komplett sötétség vs. világosság között állítják be, ezért fény és fény között kevésbé stabil.
-
Wolfram
aktív tag
Fényerő mérésre ki mit használ? KY-018-at kezdtem most használni.
Mérni végülis mér, de nagyon ugrálnak az értékek, átlagolni kellene? 🤔 -
JulianSinulf
őstag
válasz
mézespálinka #21739 üzenetére
[link]
Német eladó, küld magyarba is. Lehet rendelek is mindjárt.
Pontosságra 5-100 mm-t ír. Számomra ez hihetőbb, mint a 0. -
Wolfram
aktív tag
válasz
mézespálinka #21739 üzenetére
Choice-os 15 days Free returns-el hirdető eladók valószínűleg nem szivatják magukat, ha sok modul kell esetleg rendelj 2 különböző eladótól. 🧐
-
Wolfram
aktív tag
válasz
mézespálinka #21737 üzenetére
Tehát kérsz egy refund request-et a hibás modulokra, majd rendelsz egy 'normális' eladótól, pl.: [link]
Nem kell ezen annyira fennakadni. 🙄 -
mézespálinka
senior tag
válasz
Tankblock #21736 üzenetére
Sziasztok!
Köszönöm mindenkinek a választ!
@Undroid:
1.: nem találtam semmilyen erre vonatkozó információt, az eladó(k) szerint az example fileokkal működnie kell. Offsetet lehet állítani, de ez esetben, ha beállítom a távolság mérését, szintén az a jelenség, hogy kb 5cm (50mm) alatt nem mér semmit.
2. sajnos ezt nem tudom, viszont a szenzor mm-ben mér. Scope-al megnéztük az i2c kommunikációt, a regiszter, ami a távolságot tárolja mm-ben adja vissza az értéket. A regiszter tartalma már "hibás".
3. ugyan az a board (mega, wemos d1 mini, nodemcu) ugyan azok a kábelek, ugyan az a kód (tehát csak a szenzort cserélve): aliexpress-es rendelés a fenti működést produkálja, a "magyar" rendelés, bár nem 1mm pontossággal, de fogjuk rá , hogy jól mér. (legalább mér 10mm alatt is pl <- ez egyébként az én felhasználásom elég is).
@Tankblock: elvileg ez a vl6180x 0-200mm között mér. A hamis a baba, simán lehetséges az említett beszerzési forrás miatt.
@Aryes: elvileg a regiszterben, amiben a mért távolságot tárolja mm-ben található az érték.
@Postas99: az eredeti "example" kódokkal próbálkoztam. Adafruitról is lehet rendelni, lehet az is lesz a vége, viszont közösségi felhasználásra szánnám a használatát, így a költség - sajnos - kritikus. Persze ennek az ára az, hogy lehet simán, hogy hamis/rossz szenzort kapok. Sajnos ezt el kell fogadnom. Azért próbálkoztam írni ide is, hátha találkozott valaki hasonlóval, mert konzekvensen rossz a mért érték S:
-
Tankblock
aktív tag
válasz
mézespálinka #21730 üzenetére
Szia
[link] ez szerint a szenzor 0-100[mm] távolságban tud mérni, fényviszonyoktól függően ez lehet kevesebb.
Rendelj 1 samplet a STtől az max a postaköltségbe kerül és cseréld ki....
Tippelnem kellene vagy hamis a baba, vagy már kapott az élettől eleget és most még egy n+1 esélyt.....
-
-
Undoroid
őstag
válasz
mézespálinka #21730 üzenetére
Nem ismerem azt a szenzort, de van néhány ötletem:
1. Az nem lehet, hogy az első használat előtt fel kell venni vele a zéró pontot és azzal konfigurálod be a távolságot?
2. Nem lehet konfigurálni az alaplapon, hogy colban vagy metrikusan mérjen? (ugyanez szoftveresen is)
3. Ha kipróbálod az új beszerzésű szenzorokat, majd kicserélve arra, ami jól mér (csak a szenzort!) akkor a hiba megmarad vagy eltűnik?
-
válasz
mézespálinka #21730 üzenetére
Több helyről is rendeltél és mind hasonlóan hibás?
Legalább következetesen téved, vagy teljesen random értékeket mér? Nincs szennyeződés vagy védőfólia a szenzoron? -
mézespálinka
senior tag
Sziasztok!
Kereső nem segített, dolgozott már valaki vl6180x szenzorral?
Az összes rendelésem (aliexpress) sajnos hibás(nak ) tűnő szenzort hozott. A távolságot full rosszul méri, ami valóságban 40mm az neki 0, ami 150, az 40, és sajnos a szenzor regisztereibe is ez az érték kerül, kimértük scope-al.
Van esetleg tipp, javíthatóak-e ezek?
Vagy beszerzési forrás, ami bár nem aliexpress áron van, de nem is a külföldi 20font/db áras szenzor? -
Undoroid
őstag
válasz
Wolfram #21723 üzenetére
" hogy jutottunk Electronic Volume Controller-től " Azt a chip-et ezzel kiegészítve tudod a kért dolgot megoldani...
Ez egy lehetséges megoldás volt a kérdésedre! Már a legelején szóltam, hogy biztosan van jobb, egyszerűbb megoldás, mert nem akarok itt felesleges köröket futni. Ez csak egy lehetne a sok megoldás közül! Előfordulhat az is, hogy van már olyan, ami ezt alapból tudja, de Én nem ismerem.
" jó drága " Persze, hogy az! Ez a kis chip (amit a legelején linkeltem) önmagában is képes a hangerőszabályzásra és ráadásul a tápfesz elvétele és visszakapcsolása után nem fog meglepni azzal, hogy teljesen lehalkítva éled fel vagy teljes hangerőn!
Szóval ezzel nem csak egy sima potmétert kapsz, amivel kényelmesebbé tehetsz egy audio-eszközt! A többi lehetőségnél van még olyan is, amit l2c-n keresztül tudsz csatlakoztatni egy mikrovezérőhöz. Neked kell döntened!
-
Wolfram
aktív tag
Lehet-e hangerőt szabályozni ESP-vel? Csinált már valaki ilyet? Tehát analóg be -> esp32 -> analóg ki, és az ESP kontrollálja az átmenő hangerőt (mute, volume 5%,10%,..50%,100% stb)
Találtam egy ilyet, de nem tudom hogy érdemes-e küzdeni vele: [link]
-
Undoroid
őstag
válasz
Undoroid #21716 üzenetére
Végül ennél a példánál maradtam, de felmerült pár kérdés:
- 1. A példában Leonardo-t használnak és Nekem Uno-m van, ami hasonlít is rá. Az adatlapjukat megnéztem és néhány apróságban térnek el egymástól! Leginkább a kimenetek terhelhetőségeik térnek el jelentősen egymástól! (40mA vs. 20mA a Leonardo javára) Ennek ellenére működhet? Nyilván nem lesz 100%-on hajtva minden szükséges kimenet...
- 2. A rajzon szereplő konvertert nem említi a szerző, de Én egy HW-221-es panelként azonosítottam be! Jól gondolom?
-
Undoroid
őstag
Sziasztok szakik!
Elsőre Boldog Újévet és sok-sok sikeres projektet kívánok!
Ismét a segítségeteket kérném: jó fél éve megvan már EZ a kijelzőm és most szeretném kipróbálni, hogy mire is képes! Vezérlő szinte bármi (Arduino nano, ESP32 vagy 8266, D1) lehet! Valami egyszerű szöveget szeretnék kiíratni vagy egy DHT-vel hőmérsékletet megjeleníteni! Ebben szeretném a segítségeteket kérni! Tudom, hogy ne számítsak túl sokra, csak kíváncsi vagyok a képességeire! Vagy milyen keresőszóval keressek erre rá?Köszönöm, ha valaki időt fordít a kérdésemre!
szerk: közben rátaláltam egy példára
-
JulianSinulf
őstag
Szerintem biztos, hogy nincs minden tüskéről saját bizti. Főleg nem az újnál. Inkább van egy bizti, jó esetben, meg egy kis értékű ellenállás, amivel a fogyasztást nézik. A régi csatinál lehetett esetleg csatinként egy ilyen ellenállás.
De lehet, hogy tévedek, nem szedtem még szét a kártyámat és egyelőre nem is szeretném.
AMD esetén volt olyan, ahol Roman erre a fogyasztást mérő alkatrészre ráforrasztott párhuzamosan még egyet. Így a kártya kevesebbet mutatott, de a durva az volt, hogy a konnektorból is kevesebbet vett fel a gép.A melegedésre is gondoltam. Egyik megoldás kívülre egy hőmérő elemet erősíteni és ezt is figyelni. Igor mért a csatin már 64 fokot is, ami egy zárt házban nem feltétlen meglepő. Főleg ilyen terhelés mellett. A csati specifikációja szerint viszont csak 50 fokig garantálja a 9,2A-es erenkénti terhelhetőséget és arról nem szól, hogy e hőmérséklet fölött hogyan csökken a teherbírás. Ráadásul a hőtágulás valószínű, hogy rádolgozik a kontakt hibára.
Hiába az ATX3.0 táp, ha nekem ATX2.0 van. Lecserélni nem szeretném, nincs másfél éves. A VGA nem volt tervben, ezért sem olyat vettem, ami "jó" lenne hozzá. Szóval nem szeretnék megint 100+ eurót kiadni.
-
biker
nagyúr
válasz
JulianSinulf #21713 üzenetére
"Ahhoz vagy a tápban vagy a kártyán kellene valaminek lennie ami lekommunikálja"
Hát szerintem a kártyán minden táptüskéről saját bizti, saját fázis bemenet van, de nyilván, attól hogy a GPU tudja az adatot, nem biztos hogy kimegy a telemetriába"3 tápcsatinál sem emlékszem, hogy mutatta volna bármi az erenkénti áramfelvételt."
Én sem ezt mondtam, azt mondtam csatlakozónként tudjuk az értéket, és egy csatiban van 3db 12V pinJa hogy nem az érdekel, folyik-e áram, hanem túl sok folyik-e
Amúgy amennyire tudom, nem az a baj, hogy egy ér kiesik, és a többi túlterhelődik, hanem hogy eleve kontakt probléma alakul ki, ha nagyon megtörik a kábel, és ezért melegszik, és szakad meg az áram, de ez már égés is egyben"Mivel átalakító van a kártya és a táp között így gondolkodhatom a régi ......."
Már egyre több tápon van 12vhpwr kimenet is, nem kell a szokásos 8pin átalakító, erre is gondolj. lehet okosabb a 12vhpwr kábeleit méréshez feldolgozni, ha univerzálist szeretnél. A leírásod alapján valami tesztelésekhez kell, és akkor többször kellhet cserélni a setupot -
JulianSinulf
őstag
Nem hiszem, hogy mutatja. Ahhoz vagy a tápban vagy a kártyán kellene valaminek lennie ami lekommunikálja. De majd ránézek.
3 tápcsatinál sem emlékszem, hogy mutatta volna bármi az erenkénti áramfelvételt.
A limit belövése a legkevesebb. Főleg, ha nem a minimumra megyek rá, hanem a maximumra. Ha azt túllépi, akkor sem visít, fényjelzést ad. Mondjuk egy piros LED minden érre. Emellett egy kijelző, ami kiírja az erenkénti áramfelvételt.
Első körben amúgy is valami fogyasztós teszttel kezdeném. Aida stressz teszt vagy fumark/3dmark. Míg megy a teszt, kicsit megmozgatnám a kábelt. Ha jó a csati és a kontakt, akkor örülök. Ha nem, akkor az már ok lehet a gariztatásra.
Amúgy lehet figyelni több dolgot is, mint, hogy, ha 1 éren folyik áram, akkor a többin is kell, ha egyiken sem folyik, vagy nagyon kevés, akkor mindegyiken annyinak kell lennie. Be lehet állítani toleranciát is. Ez már csak programozás kérdése. Hogy ezt a részét sikerül e megírnom, majd kiderül, ha itt vannak az alkatrészek. De egyelőre még gondolkodom rajta, hogyan, miként lenne a legjobb. Mely kábelek csatijait kellene megbontani vagy inkább egy panelt csinálni, amin rajta vannak a csatik, így a kábeleket nem piszkálom, csak egy eszközt iktatok közbe. Hasonlót láttam, de az csatinként tudta mérni az átmenő teljesítményt, nem erenként.
Mivel átalakító van a kártya és a táp között így gondolkodhatom a régi 6+2-es csatin vagy az újon is, de akkor kell egy megfelelő kábel is. Mondjuk a kábel tervben volt már korábban is, mert az átalakító pont nem elég hosszú, hogy átérjenek a csatik a gép alaplap mögötti részébe. Egy toldókábel megoldaná ezt. Viszont minden egyes toldás növeli a hibák lehetőségét.A videó kitért arra is, hogy a 4090-es esetében a 600W-hoz 4 tápcsati kellene a régiből, papíron. Viszont ez kétszeres biztonságot adna. Ha kiesik egy ér, akkor sincs semmi, mert mérések alapján a 4 csati 1100W-ot simán elbír. Ehhez képest az új csati éppen csak kicsivel több bír. Ha kiesik egy ér és még meleg is van, akkor már nem bírja el a 600W-ot. Úgyhogy igen, a régi csatinál nem lennének gondok. De most ez van. Mint írtam, nekem csak 4080-am van és eddig nem tapasztaltam gondot. Az egész egyszerű kíváncsiság a részemről.
-
biker
nagyúr
válasz
JulianSinulf #21711 üzenetére
a hwinfo/aida nem mutatja az erenkénti áramot? Ezért volt jó a 3 tápcsati, az legalább azt mutatta, az egyes tápcsatikon mennyi teljesítmény megy be, nem volt ilyen kényes.
és hogy lövöd be a limitet? Mi van ha idle-ben a kártya 35W-ot vesz fel és a 12VHPWR csatin nem is folyik áram, akkor folyamatosan visít a riasztó, hogy nem folyik áram? -
JulianSinulf
őstag
Köszi, akkor így keresgélek még. A 12V-os kiszerelés már megfelelő. Nagyobbal nem akarok foglalkozni.
A gyorsaság és pontosság jelenleg nem annyira lényeges.
Egy videó alapján a videós elmélete szerint, ha kiesik egy vezeték, akkor a többi nem bírja el a terhelést, melegszik és leég a csatlakozó. A kieső vezetéket talán így meg lehet találni. Persze, ha olyan a kontakt, hogy csak nagyon minimális időre szakad meg és ez okozza a melegedést, annak a vizsgálatára nem lesz jó az említett gyorsaság miatt. Arra szerintem hétköznapi ember számára (értsd nem méregdrága) nem lesz elérhető eszköz. Nekem egyelőre szerintem nincs ezzel gondom, nem 4090-esem van, hanem 4080-asom és csak remélni merem, hogy mind a 6 vezetéket használja a kártya és nem spórolták le a vezető sávot. És azt is csak remélni merem, hogy jó rajta a csatlakozó.
Egyelőre ez csak egy elmélet és kíváncsi vagyok, mit lehet belőle kihozni. -
biker
nagyúr
válasz
razorbenke92 #21708 üzenetére
ja, reggel volt
amúgy a hall szenzoros mind problémás, a direkt mérős se direkt hanem hallos, és kűvülről egy másik vezető tere megzavarja, a lakatfogós is zajos. nekem műszerem van, ami tud 60-600A DC-t is mérni, azt mindig le kell nullázni mérés előtt, mert alapból 1-2A-eket símán mér a térfeszültségből. -
Postas99
senior tag
válasz
tibi-d #21695 üzenetére
Én a helyedben 1 db-ot vennék és először tesztként összeraknék egy teszt padot mert mint mondtam az analóg értékek mérésénél pontosan tudnod kéne megállapítani pl egy 10% 20% 30% ... 100% nedvességtartalmat. Amúgy ez a cucc egy kalap sz@rt nem ér.
Ehhez a cucchoz magadnak kell ezeket az értékeket is megállapítani. Tehát azzal fogod tölteni az időd nagyobb részét, hogy először felállítasz egy jelleggörbét kezdve azzal hogy pontosan a megfelelő mennyiségű vizet kell a talajhoz hozzádani, majd azt szárítani várni míg kiszárad, majd újra a talajt nedvesíteni stb... és akkor még mindig nem tudod hogy milyen talajról beszélünk.Ha nem is akarod megfogadni a tanácsomat, csak arra kérlek, hogy nézd meg ezt a linket ahol tesztelték a különböző talajnedvesség érzékelőket:
[ITT] -
-
biker
nagyúr
válasz
JulianSinulf #21705 üzenetére
hall current sensor dc vagy hasonló nevekre keress [link]
ezeknek kell táp is sajnos, 12V vagy 24V, mert van segédelektronika is.
-
biker
nagyúr
válasz
razorbenke92 #21704 üzenetére
Van dc mérős lakatfogó régesrég, tucatszám. Jellemzően 5V kimenettel
JulianSinulf: ha pcie tápáramokat akarsz mérni, nem lesz elég gyors és pontos
-
JulianSinulf
őstag
válasz
razorbenke92 #21704 üzenetére
Értem, köszi!
Akkor egyelőre marad a hall szenzoros verzió és megnézem, mibe kerülne a csatlakozó, meg némi kábel, hogy ne a gyárit vágjam szét. Egyelőre csak próbának szánom, de, ha túllép egy összeget, akkor annyira nem fog érdekelni. Nem életbe vágó. -
válasz
JulianSinulf #21699 üzenetére
Amit eredetileg linkeltél áramváltót, abból itthon is kapni 10A-es verziót, de ezek az áramváltó tekercsek AC-t tudnak mérni, lényegében transzformátorok.
DC mérésnél a lakat hall szenzorral van kiegészítve, így a lakat nem egymenetes trafó, hanem egymenetes elektromágnes lesz (ami DC esetén is értelmezhető) ennek az erejét méri. Az invazív szenzorok azért olcsóbbak ilyen téren, mert az IC-ben megoldható a mért vezeték, a "vasmag", és a hall szenzor nagyon pontos illesztése kis távolságokkal, ezáltal könnyen mérhető a mágneses mező. Lakatfogós kivitelnél egy jóval zavarosabb rendszert kell kezelni. Szóval ha lakatfogósat szeretnél, akkor sajnos zsebbenyúlós lesz. -
dew28
aktív tag
válasz
JulianSinulf #21701 üzenetére
Ez nem igazán ardunio kompatibilis. (+-15V)
Output 0-4 Vdc or Vac
És $87-ért darabja sem barátságos.
Erre nem vonatkozott az alapkerdesed
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 14 Pro Max 128GB, Kártyafüggetlen, 1 Év Garanciával
- Új Apple iPhone 16 Pro 128GB, Kártyafüggetlen, 3 Év Garanciával
- Honor Magic7 Lite 512GB, Kártyafüggetlen, 1 Év Garanciával
- Honor 400 lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- HP Prodesk 600G4 SFF - i5-8500, 16GB DDR4, 512GB NVMe SSD, ATI R5 430 2GB eladó!
- AKCIÓ! Dell Optiplex 5060 TWR számítógép - i5 8500 16GB DDR4 256GB SSD 500GB HDD UHD630 WIN10
- Bomba ár! Lenovo X1 Yoga 1st - i7-6G I 8GB I 256SSD I 14" WQHD Sérült I W10 I CAM I Garancia!
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- 10% -tól elvihető. Országosan a legjobb BANKMENTES részletfizetés! Lenovo Legion Pro 7
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged