- Soundbar, soundplate, hangprojektor
- TCL LCD és LED TV-k
- Bejelentette az Arc A sorozat nyugdíjazását az Intel
- Házimozi belépő szinten
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Milyen TV-t vegyek?
- SSD kibeszélő
- Vezeték nélküli fülhallgatók
- Monitor hiba topik
-
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
-
Janos250
őstag
válasz
choco01 #8415 üzenetére
Nem nehéz.
Ez a main.cpp (mivel az Arduino programja is C++, természetesen van main.cpp is, csak arra nem szokták felhívni a figyelmünket.)#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "Arduino.h"
#if CONFIG_AUTOSTART_ARDUINO
#if CONFIG_FREERTOS_UNICORE
#define ARDUINO_RUNNING_CORE 0
#else
#define ARDUINO_RUNNING_CORE 1
#endif
void loopTask(void *pvParameters)
{
setup();
for(;;) {
micros(); //update overflow
loop();
}
}
extern "C" void app_main()
{
initArduino();
xTaskCreatePinnedToCore(loopTask, "loopTask", 8192, NULL, 1, NULL, ARDUINO_RUNNING_CORE);
}
#endifAlapesetben, ha nem írod át a main.cpp-ben, akkor a loop a core 1-en fut.
Ha csinálsz függvényt, azt ugyanígy a xTaskCreatePinnedToCore-al tudod hívni, és meghatározhatod, hogy melyik magon fusson.
Itt mutattam rá egy programomból egy mintapéldát.
https://prohardver.hu/tema/arduino/hsz_8403-8403.html -
Janos250
őstag
válasz
choco01 #8413 üzenetére
Az ESP8266-nál valahonnan a netről töltöttem le, és a mintapéldában láttam a használatát. Egyszerűnek tűnt. ezért azt használtam. Utána írták, hogy az esp8266WEBserver működik némi megszorításokkal az ESP32-n is, aztán valaki elkezdte bütykölni, hogy rendesen menjen. Valaki írta, hogy neki egyszerre csak egy klienst tud lekezelni, de nekem az elég.
-
Janos250
őstag
válasz
choco01 #8411 üzenetére
Én - ha jól emlékszem - ezt töltöttem le:
http://www.fisch.lu/junk/ESP32-WebServer.zipAzért ezt, mert én az ESP8266-on is ennek az elődjét használtam, és azt megszoktam.
Egyéb oka nem volt.Segédletem sajnos nincs.
-
Janos250
őstag
válasz
choco01 #8407 üzenetére
Nekem ez az eleje:
#include <WiFi.h>
#include <WiFiClient.h>
#include <ESP32WebServer.h>"DHT22 miert NA adatot ír állandóan"
Én ezért szoktam saját lekezelőt csinálni, mert a kész könyvtárak időnként nem azt csinálják, amit én szeretnék. DHT11-re csináltam sajátot, 22 még nem. -
gardener
senior tag
válasz
Teasüti #8395 üzenetére
A végén haver tudta megcsinálni egy Atmel Ice-vel beégetve, ez a leírás alapján:
http://wspublishing.net/avr-c/restoring-arduino-mega-bootloader/
(Amúgy pololu A4988 van benne.) -
Vladi
nagyúr
Ezt a leírást nézem most: link.
Egy 10k-s lehúzót tesz be és kész. Ez így jó lenne?
Már csak azt kellene kitalálnom, hogy milyen ssr kell, mi az áramkör amit kapcsolgatok.
váltó, vagy egyenáram.Talajdonképpen egy omron időrelét kell elindítani a kapcsolással.
-
Vladi
nagyúr
Sziasztok!
Lassan a végére érek a projektnek, meg az idegeimnek is.
Van egy időzítő kapcsolóm arduino alapon, 2 gomb bemenet, 1 relé kimenet.A program jó, működik, stabil, az összes bemenet stabil. Kiváló. Az egészet beépítettem egy fém dobozba.
Szépen kultúráltan, kábeleket is elosztottam.De a relével nem jutok dűlőre. Ilyen fajta.
Árnyékolt kábelt használtam, mindent leföldeltem rendesen. Működik is a rendszer, csak a relé nagyon instabil. Bármilyen elektromágneses ingadozásra beránt. Vagy akár úgy is marad.
Ez akár olyan szinten, hogy megérintem a dobozt és...Van ötletetek erre? Arra gondoltam, hogy ssr relére cserélném ki. Az stabilabb lenne? Esetleg ahhoz kötnék sorba egy ellenállást, hogy a zaj ne jusson be. 3 volt fölött azok már kapcsolnak. pl.
-
Janos250
őstag
taskDISABLE_INTERRUPTS();
Az ESP32 rendszere a freeRTOS op. rendszeren fut, annak a függyvényei is használhatók.
Azt csinálja, ami a neve, letiltja az interruptot, a taskENABLE_INTERRUPTS() pedig újra engedélyezi.
Ezeket próbáld a saját programodba is betenni a szalagra írás előtt és után. Csak próba, mert lehet, hogy nálad a könyvtár dolgaival összeakaszkodik.A loop automatikusan a core1-en indul, ha nem rakod át. A WiFi kezelés a core0-n van, elvileg nem zavarhatják egymást.
A szalagra kiküldendő adatok kiszámítását, meg bármi járulékos dolgot tedd a core0-ra. Beteszed egy függvénybe, és azt pl. ehhez hasonlóan hívod meg.
Így lehet pl. egy "lightShowInCore0Code" nevű függvényt úgy meghívni a loopban, hogy ne a core1-en, hanem a core0-n fusson:xTaskCreatePinnedToCore(
lightShowInCore0Code, /* Task function. */
"lightShow", /* String with name of task. */
1000, /* Stack size in words. */
NULL, /* Parameter passed as input of the task */
3, /* Priority of the task. */
&lightShowInCore0, /* Task handle. */
0 /* core */
);uint8_t:
"uint8_t lövésem sincs mi, gondolom egy közvetlen lenyúlás egy hardverközelibb szintre"
Nem.
A különböző rendszerekre való könnyebb átvitel érdekében a különböző hosszúságú egészeket célszerű így deklarálni, hogyint8_t : előjeles 8 bites egész
uint8_t : előjel nélküli 8 bites egész, vagyis 0..255 közötti az értéke.
A 8 helyett állhat 16, vagy 32 is, attól függően, mekkora kell.Én lightShowInCore0Code-nak neveztem el azt a függvényt, ami az adatokat kiszámolja, tehát ami nevet adsz a függvényednek, azt írd a helyére. A többi maradhat változatlanul.
void lightShowInCore0Code( void* parameter) {
// Ide kerül a tényleges program, amire azt akarod, hogy a core0-n fusson.
vTaskDelete(NULL); // ezt ne felejtsd el beírni a függvényed utolsó sorába.
} ; -
válasz
Janos250 #8401 üzenetére
Kb ennyit értettem a hozzászólásod első kódrészletéből:
void loop() { //ez értem
taskDISABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
for ( uint8_t i = 0 ; i < ledNum ; i++) { //ciklus indul, a uint8_t lövésem sincs mi, gondolom egy közvetlen lenyúlás egy hardverközelibb szintre
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ; //ebből annyit értek, hogy egy tömbben defináltunk egy másik tömböt és elkezdtük az elemeit kiíratni
} ;
taskENABLE_INTERRUPTS(); //ez remélhetőleg egy beépítet függvény, este megnézem mire jó és miért kell
delay(1000) ; //ez értem
} ; // end loop //ez értemEzért írtam, hogy meg akarom érteni mit, miért, hogyan.
-
Janos250
őstag
Nem kell megfejteni!
Ennyi a loop lényege:void loop() {
taskDISABLE_INTERRUPTS() ;
for ( uint8_t i = 0 ; i < ledNum ; i++) {
transmitOnePixel(lightArray [lightArrayIndexPortWriting][i]) ;
} ;
taskENABLE_INTERRUPTS() ;
delay(1000) ;
} ; // end loopA transmitOnePixel paramétere egy tömb.
typedef struct RGB {
uint8_t r, g, b;
};
RGB lightArray[2][ledNum] ;Az első indexe 0, vagy 1. Amíg az egyik első indexxel a tartalmát küldöd a led szalagra, addig a core0-á a másik indexxel számolod a következő értéket.
Ezt célszerűen egy
xTaskCreatePinnedToCore
hívással célszerű megtenni.Ezt:
void lightShowInCore0Code( void* parameter){
static uint8_t showNum = 0 ;
switch (showNum) {
case 0:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,0} ;
} // end for
lightArray[lightArrayIndexCalculating][0] = RGB {255,255,255} ; // first, last pixel controll
lightArray[lightArrayIndexCalculating][ledNum - 2] = RGB {255,255,255} ;
lightArray[lightArrayIndexCalculating][3] = RGB {255,255,255} ;
break;
case 1:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),i*(128/ledNum),0} ;
} // end for
break;
case 2:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,0,32} ;
} // end for
break;
case 3:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {0,32,0} ;
} // end for
break;
case 4:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {32,0,0} ;
} // end for
break;
case 5:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {(128-i*(128/ledNum)),0,i*(128/ledNum)} ;
} // end for
break;
default:
for ( uint8_t i = 0 ; i < ledNum ; i++) {
lightArray[lightArrayIndexCalculating][i] = RGB {16,16,16} ;
} // end for
}
showNum++ ;
showNum = showNum % 6 ;
vTaskDelete(NULL);
} ; // end lightShowInCore0Codecsak mintapéldának írtam hasraütésszerűen náhány verziót, ami a case szerint sorra veszi.
A
static uint8_t showNum = 0 ;
miatt sorra veszi őket.Persze lehet a kész könyvtárakkal is, ha már azzal kezdted el, bizonyára úgy is kell mennie.
A vékony drót esetét én sem értem, de vannak még csodák.Ha valamelyik led nem azt csinálja, amit kellene:
az többnyire amiatt van, hogy 1 msec időközönként megszakít, és ilyenkor túlszalad az idő.
Próbáld meg esetleg tiltani a megszakítást azon a magon, amíg tart az adatok feltöltése a szalagra! -
válasz
Janos250 #8399 üzenetére
Igen, de annyi időm még nem volt, hogy meg is tudjam fejteni, mi mit jelent és hogy kell használni.
Ezzel az egész projekttel kb heti 2 órát tudok foglalkozni, és soha nem tanultam kontrollert programozni. Nem véletlen, hogy még a saját kódomban is magyarul írom a változók neveit és szinte soronként kommentelem, különben lövésem se lenne, mit írtam a 3 héttel ezelőtt készült kódba. -
Janos250
őstag
Egyszer már mutattam, hogy mennyire pofon egyszerű mindenféle spéci könyvtárak nélkül az RMT-vel a WS2812 led szalag használata.
core1: a led feltöltés,
core0: minden egyéb.void transmitOnePixel( RGB pixel){
do {
} while (*((volatile uint32_t *) (0x3FF56060)) & (1 << 24) ) ; // busy?
uploadToRMTmem(pixel.g,0) ;
// start transmit:
// RMT.conf_ch[chanelNum].conf1.mem_rd_rst = 1;
*((volatile uint32_t *) (0x3FF56024)) |= (1 << 3) ;
// RMT.conf_ch[chanelNum].conf1.tx_start = 1;
*((volatile uint32_t *) (0x3FF56024)) |= 1 ;
uploadToRMTmem(pixel.r,1) ;
uploadToRMTmem(pixel.b,2) ;
}
void uploadToRMTmem( uint8_t oneByte, uint8_t n){
uint16_t offset = n*32;
uint8_t i ;
for ( i = 0 ; i < 8 ; i++) {
if ( oneByte & (128 >> i ) ){
*((volatile uint32_t *) (0x3FF56800 + n * 32 + i * 4)) = WS2812bitHIGH32 ;
}
else {
*((volatile uint32_t *) (0x3FF56800 + n * 32 + i * 4)) = WS2812bitLOW32 ;
} ;
} ; // end for
} ; // end uploadToRMTmem -
válasz
Teasüti #8394 üzenetére
Röviden: gyakorlat.
Láttátok korábbi hozzászólásaimban a szenvedésemet, az 56 LED-es szalag nem megfelelő működéséről.
Vettem egy step-down áramkört, hátha azzal megjavul, de ugyanez volt a helyzet.Egy külföldi fórumon (már meg nem mondom melyiken) egy srác is küzdött és ott javasolták neki, hogy tegyen vékonyabb vezetéket és egy ellenállást a kontroller és a szalag közé. Én is így tettem, és hirtelen minden megjavult, csak annyi LED világít amennyi kell, és úgy ahogy azt a forráskódban leírtam.
Most azzal küzdök, hogy a wifi-re felcsatlakoztattam az eszközt, csináltam rá egy webszervert, hogy ki és be tudjam kapcsolni. (igazából ez csak teszt, mert a színeket akarom csak variálni wifi-n keresztül) De valamiért 2 LED folyamatosan világít a szalagon. Talán az lehet a gond, hogy a webszerver és a LED vezérlést is ugyanaz a CPU mag csinálja és emiatt az időzítések/órajelek megcsúsznak a szalagon, legalábbis ezt olvastam. Szét kell választanom, hogy külön CPU feleljen a vezérlésért, vagy a led vezérlésnek kell úgy emlékszem DMA-t engedélyezni. Ez utóbbit viszont nem tud az AdafruitNeopixel library, csak a FastLED, ami viszont nem támogatott ESP32-őn. (Rövid távon valószínűleg jobban jártam volna egy sima Arduino-val, mert arra minden van.)
-
choco01
addikt
Hali.
ESP32 (és 8266-on) hogy lehet rábírni hogy elérjem másik porton ha WiFiServer server(); zárójelei közé nem 80-as portot írok hanem mondjuk 1234-et?Hiába írom be ip:1234 nem éri el..csak ha 80-asra állítom..
-
Teasüti
nagyúr
Én kíváncsi lennék mire alapozod ezeket a következtetéseket!
Én ESP32-n használok 4 csatornán ws2812b szalagokat, ellenállás nincs az adatbuszon (a végleges változat be lesz ültetve nyák-ra, azon lesz), vezetékek hossza hasonló a tiédhez, de van ahol akár kétszerese is (egy sportmotor alsó idomján futnak körbe a szalagok, a vezérlés az ülés alatt) és a vezeték méretezésekor se vettem figyelembe semmit. Ugyanazzal a 10A-es szállal vannak behúzva az adatbuszok, mint amin a delej megy.
Hónapok óta üzemel gond nélkül. -
Teasüti
nagyúr
Mi számít horror összegnek? Egy Anova főző pl egész baráti, átszámítva olyan 32000 Ft körül mozog.
Wifi képes, mobilról vezérelhető, időzíthető. Bazi nagy közösség társul hozzá és kiváló support.
Én ezt néztem ki magamnak, majd be is szerzem ha túl vagyok a fontosabb dolgokon.Schawo cikkében még 150000 Ft-os gépről esett szó, na ott már tényleg elgondolkodtató a DIY vonal.
DIY vonalon meg szintén el lehet szállni a kivitelezés költségeivel, ha nem gettó minőségben akarja elkészíteni az ember. Akkor már inkább egy Anova. -
gardener
senior tag
válasz
gardener #8391 üzenetére
A végén az alábbi képnek megfelelően lett összekötve:
A cél alaplap ugyan nem mega, hanem egy mega alapú Rumba board
a Mega-ba beletolt isp-t szerettem volna bootloaderként beégetni a Rumba lapba,de a következő hibaüzenetet kapom: "avrdude: Yikes! Invalid device signature.
Double check connections and try again, or use -F to override
this check.Error while burning bootloader."
Másik eredeti Mega-val is lett próbálva, új csatikkal, új kábellel, de nem akarja.
Mi lehet a megoldás?
-
gardener
senior tag
Két arduino mega-t isp-n össze lehet kötni és a másikba a bootloadert átmásolni-átírni?
-
Üdv,
ismét itt vagyok és néhány tapasztalattal lettem gazdagabb. Utólag végig gondolva felsejlik előttem 1-2 előadás villanytanból és elektrotechnikából, de a franc se gondolta volna, hogy igazuk lehet tanároknak (meg Ampére-nek, meg Kirchoffnak, meg a többieknek).
Nálam az Adafruit Neopixel könyvtár tökélesnek látszik, hardver hiba miatt nem működött a szalag.
Az első hibát ott követtem el, hogy egy vastag, kb 0,5mm2 vezetékkel kötöttem össze az ESP32 vezérlő pinjét a LED szalaggal.
A másodikat, hogy nem jó helyre raktam az ellenállást a vezérlő vezetéken.(legalábbis több weboldal ezt mondja).Annak aki az ESP32 és a LED szalag közé 10 cm-nél hosszabb vezetéket akar tenni:
- a vezérlő PIN és a LED szalag közé minél vékonyabb vezetéket kell tenni (pl UTP vezetékből 1 szál)
- egy 200 Ohm és 400 Ohm közötti ellenállást kell tenni, a kontroller és a LED szalag közé, úgy, hogy az ellenállás minél közelebb legyen a szalaghoz.(talán a legjobb ha a szalagra van ráforrasztva az ellenállás és a vezeték az ellenállásra van forrasztva)Egyelőre úgy néz ki, hogy nálam bejött a dolog. kb 70 cm van az ESP32 és a LED szalag között az alábbi módon:
- 0,5 mm2 hangszóró vezetékkel van a táp bekötve a szalagra és az ESP32-re,
- 1 szál vékony vezeték (rossz PC-ből vettem a HDD LED egyik vezetékét)
- beforrasztottam a LED szalagra az ellenállást és erre forrasztottam rá a vezetéket.Jöhet a teszt drótozás (a jelenlegi állapotot másnak nem merem nevezni) átalakítása a végleges verzióba.
-
mArZsi
tag
-
Ghandi
aktív tag
Nekem kb 1.5 éve megy egy kinai nano klón. Egy egyszerű belépésjelző, magyarul egy read relé van rákötve és ha megszakad a read akkor egy dallamot játszik le egy piezón. Szinte minden nap megy, de estére kikapcsoljuk. Nálam nem az arduinoval volt a gond hanem a tápegységgel. Először egy olcsó kinai paneltáp volt, pár hét alatt kifeküdt, atán egy régi mobiltelefon töltőt tettem rá, kb 3-4hónap folyamatos működést az sem bírt. Most egy régi Casio fényképezőgép tápegysége van rákötve, na ez igen! Semmi melegedés,ez bírja amig forog a világ. Ezzel csak azt akarom mondani hogy egy rendszer csak akkor tartós ha minden alkatrésze minőségi alkatrész. Szerintem a kinai klónok is ugyan úgy bírják problem igazán akkor lehet ha pl 12voltos táppal hajtod, mert akkor a feszstab ic tud melegedni és nincsen rajta hűtőborda, tartós használat alatt túlmelegszik és ejti a feszt elég rendesen. Érdemesebb pont olyan feszülségű tápot rátenni amilyen fesz kell neki, az Unonak pl 9 volt, a Nanonak 3.3volt ha jól emlékszem.
-
Sziasztok!
Van valakinek hosszútávú tapasztalata avégett, hogy megbízhatóság, biztonság szempontjából mennyire lehet megbízni az Arduinos eszközökben? (a gyártói panel, shield, rákötött motorok, relék, stb. között - azaz a barkácsolt kivitelektől eltekintve)
Pl felügyelet nélkül lehet hagyni őket több napra, hétre, bekapcsolva, üzemelve, távol otthonról?
Esetleg úgy megoldva a távfelügyeletet, hogy ip kamerával figyelemmel tartva a lakást, a működő egységet, fő paneleket.és mondjuk tűzterjedést gátló anyagokba, tálcába téve a főbb egységeket
-
Janos250
őstag
válasz
bzolika10 #8383 üzenetére
Itt van rá egy minta:
#include <ESP8266WiFi.h>
const char* ssid = "d1server";
const char* password = "87654321";
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println();
Serial.println();
Serial.print("kapcsolodunk erre a wifi-re:");
Serial.println(ssid);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); // annak a wifi halozatnak az SSID-je es PW-je,
// ahova kapcsolodni akarunk
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print(ssid);
Serial.print(" SSID-ju WiFi-re felkapcsolodtunk, ezt az IP-t kaptuk:");
Serial.println(WiFi.localIP());
} -
Janos250
őstag
válasz
moldan86 #8377 üzenetére
A sebességet ki tudod olvasni a GPS által küldött NMEA mondatból, mert benne van.
Ennek a szoftver része egyszerű, de a dobozolás, stb, az a macerás. Én nem vállalok melót, nem azért mondom
Ha elég a szokásos GPS-ek által mutatott pontosság a sebességre, akkor viszonylag olcsón megúszod, de ha nagyobb pontosságot akarsz, akkor MÉLYEN a zsebedbe kell nyúlni.
Akku töltöttség kijelzre szerintem akkor jársz a legjobban, ha rendelsz egy készet Kínából. -
Ghandi
aktív tag
Sziasztok!
aryes : Egy kész lassúfőző készülékem van, nem egy drága kb olyan 15-20ezerért lehet venni, de nem szivesen farigcsálnám szét egy szivattyú miatt. Csak úgy belelógatni nem akarom, mert nem egy nagy vízterű, vagy útban lenne, vagy a berakott zacskós kajáktól úgysem tudna megfelelően keringetni. A lassúfőzést régóta használom,és azt vettem észre hogy akkor igazán jó ha főzés alatt egy párnával letakarom az üveg fedőjét, ezzel adva neki extra hőszigetelést. A sous vide főzésnél kifejezetten jó is a plusz hőszigetelés, így a akaszthatós sous vide cuccok ki vannak zárva.
tvamos :
A prohardveres cikket olvastam, de azt elvetettem, mivel már kész készülékem van, és az szerintem csak egy félkész projekt. Igaz az a szett egész erős fűtéssel rendelkezik, az én lassúfőzőm csak olyan 200W-os ezért a fűtés nem olyan gyors reagálású, és akkor is jól tovább szalad a termosztáttal....
A második linkelt projekted már tényleg jobb, köszi! Én is megtaláltam guglizással, de nem találtam benne olyan részt amiben az időzítést kiemelné, de hiszek neked. Majdnem minden alkatrészem van is itthon hozzá és pár cuccot a megrendeltem kínából (remélem nekem hamarabb ér ide mint 5évde azért egy hónap sajna lesz). Szóval én az epoxizott hőérzékelőt kicsit gagyinak találom, és már megrendeltem pár darab DS18B20 vízálló szondát, ahogy írja módosítani kell hozzá a kódot (na de hol és miben?) és én nem relét akartam használni hanem szilárd test relét, meg is rendeltem egy 25 amperost. Ha jól értelmezem akkor nekem a kész projektből nem kell a LEG 5 relé, a 2N2222 NPN tranzisztor és a 1N400x dióda. A 2.2ohmos ellenállás most kell vagy nem? Huhh ja meg nekem más LCDm van, akkor gyorsan rendelek is ide valót.
-
bzolika10
aktív tag
Sziasztok!
A héten érkezett meg hozzám egy esp12E és egy NodeMcu v3. Ha bekapcsolom őket akkor mind a kettőnél létrejön egy saját wifi hálózat. Van nálam egy másik NodeMcu, de az nem csinál ilyet. Hogy lehet kikapcsolni a wifi hálózatokat?
-
moldan86
újonc
Sziasztok,
Keresnék valakit aki egy GPS sebességmérőt illetve egy akkupack töltöttség jelzőt tudna készíteni nekem. Az adatokat meg egy Oled vagy Nextion kijelzőn megjelenítve. Természetesen nem ingyen kérem.
Köszi,
Dani -
tvamos
nagyúr
válasz
Janos250 #8375 üzenetére
Tud ez a PID algoritmus valami automatikus betanualst is...
(Foiskolan is tanultunk ilyesmit... Fuzzy PID control, vagy valami ilyesmi neven, de mar nem emlekszem.Lehet, (biztos,) hogy rosszule emlekeztem, mert ezt a nem linearis rendszerekhez talaltak ki. Itt egy kis leiras: [link])Van itt rola iras, Autotune-nak hivjak ok: [link]
-
Ha jól értem egy meglévő készüléket kellene feltuningolnod? A legegyszerűbb az lenne, ha valamivel mozgatnád a vizet az edényben, sokkal gyorsabban reagálna a termosztát, kisebb lenne a hőtehetetlensége a rendszernek. Az időzített kikapcsolást pedig egy időkapcsolós konnektorral is meg lehetne oldani.
-
1. Hallottam, hogy mosogatógéppel is lehet sous vide-álni, akkor viszont annyira csak nem lehet kritikus a hőfok, hogy 0.2 fok hiszterézis sok legyen neki.
2. Ha én csinálnék sous vide gépet, úgy csinálnám meg, ahogy egy háznak a cirkó fűtését: egy szivattyúval egy fűtött csövön vezetném át a vizet, a csövet pontosan a kívánt hőfokra melegíteném, és folyamatosan keringetném a vizet. Mivel 60-70 fokos vízről van szó, szerintem egy sima akváriumi vízkeringető is megtenné, így gyakorlatilag bármilyen hőmérő szenzor megtenné, amivel a kimenő vizet figyeled, nem kell termosztát hozzá. Az arduino maga lesz a termosztát. -
Ghandi
aktív tag
Sajnos a sima hőfok szabályozás nem elég. Most egy digitális termosztát van rákötve, de a rendszernek nagy a hőtehetetlensége, hiába állítom a hiszterézist 0.2 fokra akkor is túlszalad rendesen és később kapcsol be. A sous vide lényege az lenne hogy pontosan azon a hőfokon kell tartani 6-20 óráig is a vízet ami be van állítva. Nem is beszélve arról amikor előmelegítem a vizet, aztán belerakom a főzni kivánt ételt és leviszi a víz hőfokot 5-10-15 fokkal is hirtelen, de ez annyira nem lényeg mert utánfűt, de utána képes egy órán keresztül ingadozni a hőfok. Ide PID vezérlés kell. Az ebayon kapni kész 230V-os PID termosztátort, de az is csak hőfokot tud, és az sem a legpontosabb mint ahogy értesültem, ami tényleg jó az már nem pár dollár hanem szép összeg. Egy arduinoval állítólag jól meg lehet csinálni, rengeteg videó van fent a youtube-on, de azok csak hőfokot szabályoznak időt nem. Egy sous vide főzőhöz az csak fél megoldás, a gyáriak mindig tudják mind a kettőt, de azok horror összegek. Egyszerüen csak beállítanám az időt, hőfokot majd beleteszem a kaját és ott is lehet hagyni, ha kész akkor csipog és nem kell se órát nézni, se egy konnektoros időkapcsolót beiktatni ha ezeket mind tudná az arduino is. Az orosz oldalon arduinio nano-t használnak az is elég és olcsó, mindegyik másik videóban vagy uno-t vagy megát használnak és csak hőkontrollra. Az a baj hogy ha működik a dolog akkor anyámnak is kellene egy (már mondta) és egy nano-s szett sokkal olcsóbb lenne.
-
Ghandi
aktív tag
Sziasztok!
Nem vagyok egy nagy arduino programozó, illetve még egész kezdő, de egy projektet akartam megvalósítani.
Egy arduino vezérlésű sous vide klészüléket. Elektronikailag nem egy nagy feladat az arduinon kivül egy 16*2-es LCD egy vízálló hőmérséglet szenzor( én DS18B20-re gondoltam) és egy szilártest relé kellene. A PID vezérlés már kemény feladat lenne nekem, így hát gondoltam úgyis találok neten erre kész projektet. Így is volt, kismillió kész van a neten, de 99%-ával csak a sous vide hőfokát lehet kontrollálni, főzési időt nem lehet állítani rajta. Mivel én olyan készüléket akarnék amin be lehet állítani a hőfokot és az időt is, csak egy kész orosz projektet találtam. Le is tőltöttem a kódot, de az csak .flp formátumúban létezik. Na sebaj letöltöttem az ehez a fájlhoz tartozó FLProg nevű progit is. Na de az meg orosz nyelvű abból még fordítani sem tudok mert a programból nem lehet kimásolni a szavakat majd beilleszteni a google fordítóba, ha meg át akarod állítani angol nyelvre akkor fizetni kell 10dollárt. Na faja, fizessek 10 dollárt és akkor lesz egy modulos progim ami teljesen más mint az arduino IDE szóval soha nem fogok tudni vele mit kezdeni.... (még az IDE-t sem tudom rendesen kezelni...) Na most akkor mit tegyek? Konvertert nem találtam ami bármit tudna kezdeni ezzel a fájlal.
Esetleg valaki át tudná konvertálni ino-ra, vagy tudna kész projektet sous vide főzőhöz amin időt és hő-t is lehet állítani? -
Attix70
aktív tag
Ha közvetlen egymás mellé forrasztod akkor nincs gond, (van olyan aminél a nagy áramú lábak 90 fokban meg vannak hajlítva) erre fel is hívtam a figyelmet. Én csak egyből olvasnám ki az értéket. Én tanácsot adtam, a kérésre válaszoltam és azt hiszem teljesen jó az 5letem. Ezt a témát befejeztem.
-
Attix70
aktív tag
válasz
DrojDtroll #8361 üzenetére
ACS758 ?
-
DrojDtroll
veterán
100-300A-es tartományba keresek dc current szenzort arduinohoz
mi ajánlott?
-
Teasüti
nagyúr
Keresd ki annak az eszköznek a kézikönyvét és próbáld meg feléleszteni library nélkül, saját I2C parancsokkal!
Az írható/olvasható címek benne lesznek a kézikönyvben, ahogy az inicializálás, felélesztés menete is.
I2C szabvány és az Arduino Wire könyvtár (alternatívái, mert az alap Wire egy instabil szar - sokszor fagyasztotta ki nekem az adatbuszt) használata nagyon könnyen elsajátítható. Elolvasol egy-két I2C tutorial-t és menni fog. Én pl. sose használtam dedikált könyvtárat erre, csak kinéztem az adott eszköz leírásából azt a pár címet, amit használni akartam és megírtam magam azt a kb 5-10 sort ami ehhez kellett. -
Janos250
őstag
-
Arak95
tag
Sziasztok.
Nemrég sikerült szereznem egy Arduino Nano Boardot, hozzá csatlakoztatva egy Adafruit MMA845X GY-45 gyorsulásmérővel (ADXL345 néven is megtalálható).
A csatlakozás i2c-vel történik, és a kábelezés a leírásoknak megfelelő.
3.3V táplálás
GND: GND
SDA: A4
SCL: A5Az ADXL345 Library-t használom, amiben megtalálható egy sensortest nevű példa program. Sajnos a lefutás eredménye a következő:
"Accelerometer Test
0
Ooops, no ADXL345 detected ... Check your wiring!"Már sok mindent kipróbáltam, de egyik sem működött:
- i2c Scanner: kiírja, hogy Found address: 28 (0x1C)
- a tesztprogram .h fájljában átírom a default adress-t erre
- több library-t is kipróbáltam mindegyikben átírva az address-t, az eredmény ua. Sensor Could'n start
- Analog reader-el kiolvastattam az A4 ill. A5 pinen eső feszültséget, mindegyiken stabil 3,3V esikValakinek volt már hasonló problémája? Esetleg további tippeket tudnátok mondani?
Erősen kezdő vagyok még ebben a témában
Szóval előre bocsi a hülye kérdésekért
-
lappy
őstag
-
Pubszon
veterán
Tudtok olyan PIR szenzort ajánlani, ami 24V-al működik és a jele is 24V-os, amiből feszültségosztóval csinálnék 4.8V magas jelszintet?
Köszi. -
tvamos
nagyúr
L3GD20, ami a 32F429IDISCOVERY kiten van. De nem használom. Kipróbáltam, tök jó. (És nem Arduino frameworkkel, hanem IAR EWB.) De ezzel nem vagy előrébb, mert 6.2mA. Amivel előrébb lennél, az mondjuk az LSM6DSL. Ez beéri 0.65mA-rel. Remélem, előbb-utóbb lesz lehetőségem kipróbálni!..
Új hozzászólás Aktív témák
Hirdetés
- Soundbar, soundplate, hangprojektor
- TCL LCD és LED TV-k
- Arena Breakout: Infinite
- Formula-1
- Milyen légkondit a lakásba?
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Bejelentette az Arc A sorozat nyugdíjazását az Intel
- Gyúrósok ide!
- iPhone-t használók OFF topikja
- Xbox Series X|S
- További aktív témák...
- Újszerű Gamer Asztali PC Számítógép 2026-ig Garis ASUS H510M-K R2.0 i5 11400F RTX 4060 8GB Dobozába
- több db DDR4 laptop ramok 2x8Gb (7e) 2x16Gb (18e) és 2x32GB (35e) párban garanciával!
- Samsung 860 Evo/ 850 Pro 1TB SSD-k állapottól függően 18-28k között
- Lenovo M900 Mini PC - Core i5 6500T - 8Gb ram - 256GB SSD -több db - ÁFA-s számla is
- vadi új DELL 5090 Micro - Mini PC - Core i5 10500T- 16GB 256GB NVMe SSD -gyári WIFI - több db
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7600X 32/64GB RAM RTX 5060 Ti 16GB GAMER PC termékbeszámítással
- Telefon Felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- Bomba ár! HP ZBook Studio G5 - XEON I 32GB I 512SSD I Nvidia I 15,6" 4K DreamColor I Cam I W11 I Gar
- Telefon felvásárlás!! Samsung Galaxy S24/Samsung Galaxy S24+/Samsung Galaxy S24 Ultra
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest