- Sony MILC fényképezőgépcsalád
- Milyen egeret válasszak?
- Mégsem búcsúznak a DDR4-es memóriák
- Hobby elektronika
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Apple asztali gépek
- Vezeték nélküli fülhallgatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Szünetmentes tápegységek (UPS)
- Bambu Lab 3D nyomtatók
-
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
-
-
Napelemes pár 1,2..10 mA-es csepptöltést nem tudom mennyire bírná. Elvileg NiMH nem bánja.
(#10515) Tankblock: Kínai HUZZAH32 klónt. Direktben 3,3 V-ról táplálva 150 uA-t sikerült mérnem. Gondolkodtam egy külső RTC-n, de ahhoz át kellene kábeleznem a komplett projektet, de lehet ez lesz a vége így is.
-
-
ESP32 mellé milyen 3,3 V-os regulátort ajánlotok, amelyik nem szívja le az akksit? Sajnálattal konstatáltam, hogy ami a lapon van, azzal 27 napot ment a projektem 4 db. 2000 mAh AA-ról, ami kb. 2,5 mA nyugalmi fogyasztás
Nézegettem Mouseren /csak mert jól lehet keresni/, de nem nagyon van semmi regulátor, ami low Iq, de tud 500 mA-t is /és kapható Pesten/. LiFePo4-et nem erőltetném, félek a lítiumtól, ha nem vagyok a közelben.
-
-
-
void go_to_sleep(const uint32_t sleep_length_in_sec)
{
uint32_t sleep_length_comp_in_sec = (3600 * sleep_length_in_sec) / (3600 - TIME_COMP_SEC_PER_HOUR);
Serial.print("Requested sleep duration: ");
Serial.println(sleep_length_in_sec);
Serial.print("Compensated sleep duration: ");
Serial.println(sleep_length_comp_in_sec);
esp_sleep_enable_timer_wakeup(sleep_length_comp_in_sec * 1000000);
esp_deep_sleep_start();
} -
-
-
-
-
-
-
Sikerült monitorozni az adatokat, nem volt egyszerű, viszont értelmezni már nem igazán tudom őket.
CA 3E 55 00 00 6C
CA 14 00 00 10 DB MODE
CA 15 04 00 00 E6 GAIN - IB 16x gain
CA 19 08 00 00 DE WA_CFDIV
CA 3E AA 00 00 1735 05 E4 00 00 16 IA rms
35 07 D5 A3 2E 52 V rms
35 09 F0 FB 02 09 FREQ
35 0A 00 00 00 F5 WATT
35 08 00 00 00 F7 PF
35 0C 00 00 00 F3 WATT_HR35 05 26 02 00 D2
35 07 30 AB 2E EF
35 09 FB FB 02 FE
35 0A 00 00 00 F5
35 08 00 00 00 F7
35 0C 00 00 00 F3Ez a kommunikáció az LCD egység és a mérőchip között a wattméter bekapcsolásakor, utána már csak a 35-tel kezdődő sorok ismétlődnek. Annyit sikerült kihámoznom a datasheetből, hogy a CA az írás, 35 olvasás, ill. minden sor mellé odaírtam, mi tartozik az adott címre. Az adatok jónak tűnnek, mert a checksum stimmel, és a frekvencia is kijön cca. 50 Hz-nek a képlet szerint. Két dolgot nem értek:
- miért mutat nyugalmi állapotban az áram valami értéket, ha a teljesítmény nem
- hogyan kellene értelmezni a feszültséget, egyszerűen sehogy sem tudok a 2E A3 D5-ből cca. 230-at csinálni.Valakinek valami ötlete? Az adatok 35 address data_low data_mid data_high checksum formában vannak.
-
-
válasz
tvamos #10080 üzenetére
USB serial converter kell csak
Na pont azom nincs
Amúgy a doksi végén ott a specifikáció, csak meg kell írni a kódot.
No hablo kínai... Közvetlen lekérdezést nem akarok, mert nem akarom megzavarni a wattméter működését, ezért kellene látnom, hogy mit kérdez le + a választ rá.
-
válasz
tvamos #10077 üzenetére
Vettem egy wattmérőt, ebben van egy BL6523GX chip, ami soros porton keresztül kommunikál, és ezt szeretnék elkapni. Az a célja az egésznek, hogy egy ESP8266-segítségével espurna FW-rel, webes felületen is tudjam figyelni az aktuális fogyasztást. Perpill a FW nem támogatja ezt a chipet, és látni akarom, hogy egyáltalán kinyerhető-e valami az adatfolyamból.
-
-
Arduino Uno-t hogy lehet legegyszerűbben bekötni serial port snifferként, van valakinek kipróbált megoldása? Semmi extra nem kell, csak hogy PC-n lássam a hexa streamet.
-
-
-
-
Azt úgy biztos nem. Ha már, akkor
(currentpulse >= pulzus) || voros
, de amúgy az összehasonlításnak nagyobb a precedenciája.(#9899) Janos250: Igen, ezt írják is az Arduino oldalán, de mondjuk a fordító igazán számíthatna rá, hogy ha egy ISR-ben módosítasz egy változót, akkor az automatice legyen volatile.
(#9896) Vladi:
az úgy értelmes, hogy:
volatile unsigned longAzzal vigyázz, mert csak 8 bites a proci, és mikor kiolvas egy bájtot a longból, akkor a maradék része változhat. [link]
-
-
-
válasz
ngabor2 #9870 üzenetére
Arduino: serialról x időközönként beolvasol egy bájtot, ha az egy előre definiált valami küldesz egy OK-t, és várod az időt, ha megjött küldesz egy OK-t.
PC: serialra küldöd megállás nélkül az előre definiált karkatert, ha jött OK, akkor küldöd az aktuális időt megformázva. -
-
-
-
-
Ja, vagy úgy. Ilyenkor sajnos a forráskód a legjobb manual. Úgy tűnik, hogy
WL_CONNECTION_LOST
csak timeoutnál van:} else if(reason == WIFI_REASON_BEACON_TIMEOUT || reason == WIFI_REASON_HANDSHAKE_TIMEOUT) {
WiFiSTAClass::_setStatus(WL_CONNECTION_LOST);Utolsóra van nyitott ticket. Bár ESP8266, de gondolom a wifi része hasonló.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
válasz
Teasüti #9437 üzenetére
3,3 V-ra van kötve sajnos. A 3,3 V-os pinen tápláltam meg, és deep sleepben is evett 10 mA-t a nyák
Most rendeltem egy Huzzah klónt, remélem abban jobban fog működni.
-
Helló, az ESP32-n levő USB csipnek /cp210x/ el kellene menni magától suspendbe, vagy ki lehet lőni valahogy?
-
-
-
Ha jól értem, a mikrovezérlőről szeretnél meghajtani egy klasszikus relét? Ez nem jó ötlet, mert a lap nem tud annyi áramot adni, hogy meghajtsa a relét. Egy solid state relét lehetne esetleg használni. Tápnak pedig én egy kapacitív előtétet használnék, de azt pontosan kell méretezni.
-
-
-
-
-
válasz
Tankblock #9190 üzenetére
void setup()
{
Serial.begin(115200);
pinMode(DAC_PIN, OUTPUT);
}
void loop()
{
int start = micros();
play_music();
int stop = micros();
Serial.println(stop - start);
delay(1000);
Serial.println(".");
}
void play_music()
{
uint32_t wait_start = 0;
uint32_t num_tick_to_wait = F_CPU / SAMPLE_RATE;
for(int i = 0; i < NUM_SOUND_SAMPLES; i++)
{
wait_start = xthal_get_ccount();
dacWrite(DAC_PIN, sound_samples[i] + 128);
while((xthal_get_ccount() - wait_start) < (num_tick_to_wait - 86))
{
NOP();
}
}
}A
micros()
helyett próbáltamxthal_get_ccount()
-ot használni, de az sem volt konstans. Próbáltam kikommentelni adacWrite
-ot is, de az sem segített. Már csak arra tudok gondolni, hogy az Arduino fordít valami dinamikus cuccot oda. -
Az ESP32-nek nem kellene mindig ugyanannyi idő alatt végrehajtani ugyanazt a kódot, ha nincs megszakítás?
-
-
-
-
-
Találkoztatok olyan ESP32 boarddal, amelyiken van USB /a könnyebb programozhatóság végett/, de le is lehet kapcsolni mindent az SoC-n kívül, ha valami low power cuccok akarok csinálni?
-
-
-
-
-
-
-
-
-
-
-
-
válasz
vargalex #7403 üzenetére
Ha jól látom az a töltő tud belső ellenállást is mérni, nem emlékszel mennyi volt? Én is ilyen bontott cellákat használok zseblámpákban, de arra gyanakszom, hogy túl nagy. Mármint tudom, hogy nem minden aksi más, csak kíváncsi vagyok, hogy egy nem éppen megkímélt noticella mennyire használódik el.
-
-
-
-
-
-
-
-
válasz
BTminishop #6496 üzenetére
Ráállítasz egy megszakítást a pinre, és a megszakító rutinban kapcsolgatsz egy változót. A loopban meg változó függvényében kapcsolgatod a ledet.
-
-
-
-
-
-
-
Aki használ BME280-at, az normális, hogy az értékek zajosak? Szobában nyugalomban van a szenzor, és a tizedes érték ugrál. Próbáltam adafruitos és sparkfunos libbel is, oversample/filter a maximumon van, bár mikor ezeket állítgattam, akkor sem láttam érdemi változást.
-
-
-
Így hirtelen, próba, cseresznye:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7 // Hőmérő a pin7-en
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
int led1 = 6;
int ledState = LOW; // kimeneti pin aktuális állapota
int ledBLINK = 8;
char engedely = HIGH;
unsigned long lastTemp;
float temperature;
int was_low = 1;
int was_high = 1;
void setup()
{
pinMode(led1, OUTPUT);
digitalWrite(led1, ledState);
pinMode(ledBLINK, OUTPUT);
Serial.begin(9600);
sensors.begin();
sensors.setResolution(11);
}
void loop()
{
if (millis() > lastTemp + 1000 ){
sensors.requestTemperatures();
temperature = sensors.getTempCByIndex(0);
Serial.println(temperature);
if (temperature < (24-0.5 )) {
ledState = HIGH;
was_low = 1;
if(was_high){
was_high = 0;
blink5();
}
}
else if (temperature > (24+0.5 )) {
ledState = LOW;
was_high = 1;
if(was_low){
was_low = 0;
blink5();
}
}
lastTemp = millis();
}
digitalWrite(led1, ledState);
}
void blink5(){
for(int i=0;i<5;i++){
digitalWrite(ledBLINK,HIGH);
delay(500);
digitalWrite(ledBLINK,LOW);
delay(500);
}
} -
-
-
-
Új hozzászólás Aktív témák
Hirdetés
- Samsung HW-QS700F 3.1.2 Hangprojektor (BONTATLAN!)
- TUF A15 FA507NUR 15.6" FHD IPS Ryzen 7 7435HS RTX 4050 16GB 512GB NVMe gar
- ThinkPad T16 Gen2 16" FHD+ IPS érintő i7-1365U 32GB 512GB NVMe ujjlolv IR kam gar
- Thin 15 B12VE 15.6" FHD IPS i5-12450H RTX 4050 16GB 512GB NVMe magyar vbill gar
- Apple iPhone 12 Mini 64Gb, Szép Állapotban, Akku:91% 12 hónap Garancia, Fekete Színben
- ÁRGARANCIA!Épített KomPhone i7 14700KF 32/64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- Tablet felvásárlás! Samsung Galaxy Tab S10+, Samsung Galaxy Tab S10 Ultra, Samsung Galaxy Tab S10 FE
- AKCIÓ! 16GB (2x8) G.Skill Trident Z RGB 4266MHz DDR4 memória garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus Maximus VIII Hero i7 6700K 16GB DDR4 512GB SSD RX 5700 XT 8GB Zalman i3 NEO 700W
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest