- Szoszo94: Xiaomi Mi Router 3G - Padavanra fel!
- Argos: Szeretem az ecetfát
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Szólánc.
- Parci: Milyen mosógépet vegyek?
- gban: Ingyen kellene, de tegnapra
- Kempingezés és sátrazás
- Gurulunk, WAZE?!
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
-
LOGOUT
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
-
vegyszer
addikt
Sziasztok!
Ugyan az első projektem egyéb okok miatt parkoló pályára került, lett újabb igény.
Nevezetesen vettem egy Canon EOS M50 fényképezőgépet még karácsonyra.
Mivel az előző Canon EOS 450D esetén volt 2.5mm-es jack ajzat a távirányítóhoz, fel se merült bennem, hogy ehhez az új géphez ne lenne.
Ami viccesebb, hogy vezetékes programozható kioldó nem is létezik hozzá.
A célom, hogy beállítom, hogy egy exponálás mekkora időt vegyen igénybe (módjuk 90 másodperc), és hányszor készüljön el egymás után. Gépen persze B idő, Manual módban...Túrva a netet találtam egy érdekeset.
[link] ESP32 alapú vezérlő két gombbal.
És szinte zéró érdemi leírással
De a vezér hangya megindult.
Elvileg az ESP8266/ESP32 mellé lehet írni egy webes felületre kapcsolókat. Ami pont úgy működik, mintha fizikailag nyomkodnám a gombokat.
Márpedig nekem ennyi az igény: milyen hosszan, és hányszor, és két felvétel között mennyit várva indítsa újra a ciklust.Szerintetek az működhet, hogy az ESP32 WiFi-n telóról van információkkal ellátva, és a kért dolgokat Bluetoothon adja ki magából. Mert a fényképezőt felvértezték Bluetooth távirányítóval való együttműködésre. De a gyári távirányító 4 gombos. Exponálás, autófókusz, tele/széles látószög (ezt mondjuk nem hiszem, hogy sok objektív támogatná tükörreflexes/mirrorless vonalon.)
Kérdés:
Az ESP32 tényleg tud egyszerre Bluetooth és WiFi kapcsolaton különböző szintén kommunikálni az általam az előbb leírt módon?
Azaz a fenti vázlat működhet gyakorlatilag egy áram alá helyezett vezérlővel? (gyakorlatilag semmi nem kell hozzá) -
tonermagus
aktív tag
Ismét egy kérdésem lenne HMC5883L iránytűvel kapcsolatban. Bár igazából nem is annyira fontos a típus. Úgy általánosságban érdekelne, hogy valakinek sikerült-e elfogadhatóra bekalibrálni a digitális iránytű modult?
A gondom tipikusan az, hogy hogy ha beállok vele 0 fokra (már ami szerinte 0 fok, az a valóságban mondjuk 67 fok) és hátrafordulok vele akkor a 180 fok helyett ~260-at ad vissza. Aztán ha tovább fordulok az adott irányba akkor 260 és 360 közötti értéket ad vissza. Tehát tipikusan nincs bekalibrálva.
Ennek a kalibrálási folyamatnak érdekelne az elmélete és gyakorlati megvalósítása VIRÁGNYELVEN, mert bár sok szakcikk van a neten, nem igazán értem.
Példaprogramom van kalibrálásra, azzal elméletileg kapok egy offset-et az X és Y tengelyre, amit a fő programban be is állítok SetOffset(x,y)-al, de mégis piszkos nagyot csak az iránytű.
Azt se tudom hogy jól csinálom magát a folyamatot: sík felületre teszem, majd körbeforgatom párszor minden irányba. és a kapott offx és offy értéket használom.
https://github.com/jarzebski/Arduino-HMC5883L/blob/master/HMC5883L_calibrate/HMC5883L_calibrate.ino -
-
válasz
tonermagus #15886 üzenetére
Én pont így szoktam mérni, feszültségosztóval. Nincs értelme szerintem cellánként mérni, vagy 1 cella értékét interpolálni. Osztó esetén vedd figyelembe, hogy az analóg portnak is van egy saját ellenállása (10-20kΩ körül, ha jól emlékszem), ami magasabb értékű feszültségosztó esetében kicsit módosítja a mért értéket, ezért ha a pontos értékre vagy kíváncsi, kalibrálni kell.
-
válasz
tonermagus #15889 üzenetére
Igen, de mi lesz a referencia? Mihez képest méred, mert ezek ha jól értem, sorba vannak kötve.
-
-
Tomika86
senior tag
válasz
tonermagus #15886 üzenetére
Vagy 3 analóggal méred és akkor tudod ha valamelyik cella rossz?
Védő diódának raknék azért 5, 1v zener diódát. -
tonermagus
aktív tag
Sziasztok!
LiPo akksin mért már valaki feszültséget Arduinoval?
Eddig azt a "béna" megoldást használtam, hogy az akkumulátor kimenetére kötöttem egy analóg lábat (feszültségosztó áramkörre, 7,5K és 30K-s ellenállásokkal lehúzva) majd a kapott értéket szoroztam egy számmal, és így nagyjából kijött a 12V környéki érték.
Ennél elegánsabb megoldás is létezik, a LiPo akksik Balance kábelét lehet gondolom erre használni. Egy 3 cellás lipon 4 ér van, 1 GND, és 3 pozitív minden cellához. Tehát meg tudom mérni csak egy cella értékét, vagy két cella értékét, vagy az összeset.
Jól gondolom, hogy ha csak egy cella értékét mérném (4,2V körül van teljesen töltve) azt simán mérhetem mindenféle ellenállás nélkül egy analóg lábra kötve?Nyilván azt szoroznám meg hárommal, így nagyjából meglenne a teljes feszültség ha jól balancolva van az akkumulátor. -
bzolika10
aktív tag
válasz
bzolika10 #15884 üzenetére
Közben meglett a megoldás: szoftveres pergésmentesítés kellett neki:
ICACHE_RAM_ATTR void ISR() {
int currMillis = millis();
if (currMillis - lastEncoding > debounceTime) {
if (digitalRead(encoderB) == HIGH) {
setTemp++;
} else {
setTemp--;
}
lastEncoding = currMillis;
}
} -
bzolika10
aktív tag
Sziasztok!
Egy pár napja próbálok egy Wemos D1 minit (esp8266) összeheftelni egy kc-40 forgó enkóderrel. Természetesen interrupttal, de sehogy se sikerül. Pollinggal nagyon pontos, de IT rutinnal folyamatosan csak össze vissza ugrál. Kipróbéltam már az összes Rotary encoder könyvtárat is, de azokkal se sikerült. Van erre valamilyen tippetek, hogy hogyan lehetne megoldani IT-vel? -
Tomika86
senior tag
-
Janos250
őstag
válasz
Tomika86 #15879 üzenetére
"Esp32 esetén is a láb számával adom meg hogy mi hova van bekötve?"
Igen, de vigyázz, mert a lapokon néha összevissza van jelölve.
"Illetve Tx1, Rx1 a Serial1 itt kell lábszámot megadni, vagy az alapértelmezett jó?
Tx2, Rx2 lábszámai hogy adhatóak meg? Vagy nem kell? Csak Serial2?"
Serial1-nél meg kell adni a beginben a lábszámokat, mert a default nem jó, mert azt a belső flash használja.
Ha Serial2-nél a default lábakra kötötted, akkor nem kell megadni.
I2C:
https://randomnerdtutorials.com/esp32-i2c-communication-arduino-ide/ -
Tomika86
senior tag
Sziasztok
Esp32 esetén is a láb számával adom meg hogy mi hova van bekötve?
int kapcsolo1 = 4; pl?
DS18B20 esetén most arduino esetén csak a lábszám van megadva, ez jó lesz nekem?
I2C esetén kell megadni valamit?
Illetve Tx1, Rx1 a Serial1 itt kell lábszámot megadni, vagy az alapértelmezett jó?
Tx2, Rx2 lábszámai hogy adhatóak meg? Vagy nem kell? Csak Serial2?Köszönöm
-
rita7107
aktív tag
válasz
gyapo11 #15876 üzenetére
Az USB porton látszik az eszköz. Az AIDE kijelzi hogy COM1 vagy ha változtatok a beállításon akkor COMx porton van az eszköz. Az alaplap info lekérdezése menünél pedig azt írja ki hogy Natív Soros port nem nyerhető ki infó. Viszont feltölteni nem tudok rá semmit, a fent jelzett hibaüzenetet kapom. A panelen az táp+TX LED-ek világítanak. Mindegyik folyamatosan.
-
gyapo11
őstag
válasz
rita7107 #15874 üzenetére
Érdekes, én akkor tippelnék a bootloaderre, ha egyébként mint usb-s soros port rendben látszik. Habár nem tudom mit ír ki, ha az usb-soros konverter ic fekszik meg. Windows dudál az új usb eszköz megjelenésekor? Eszközkezelőben látszik az uno, hogy valamilyen soros port hozzá van rendelve?
-
rita7107
aktív tag
Sziasztok.
Adott egy Uno eszköz.
Sokáig minden probléma nélkül működött, de valami oknál fogva (lehet a fiam feltöltött rá valamit?)
ezt a két üzenetet kapom vissza:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xebTermészetesen nem történik meg az kód feltöltés.
Kérdés:
Hogyan tudom újra életre kelteni, úgy hogy ne kelljen másik eszközt használnom. -
Janos250
őstag
válasz
Tomika86 #15862 üzenetére
Itt vannak a megfeleltetések.
Van ugyan még plusz aláhúzás, de az ne zavarjon, többszörös átültetés során kerültek bele ilyesmik bőven.typedef signed char __int8_t ;
typedef unsigned char __uint8_t ;
#define ___int8_t_defined 1
typedef signed short __int16_t;
typedef unsigned short __uint16_t;
#define ___int16_t_defined 1
typedef signed int __int32_t;
typedef unsigned int __uint32_t;
#define ___int32_t_defined 1
typedef signed long long __int64_t;
typedef unsigned long long __uint64_t;
#define ___int64_t_defined 1
typedef __int8_t __int_least8_t;
typedef __uint8_t __uint_least8_t;
#define ___int_least8_t_defined
typedef __int16_t __int_least16_t;
typedef __uint16_t __uint_least16_t;
#define ___int_least16_t_defined
typedef __int32_t __int_least32_t;
typedef __uint32_t __uint_least32_t;
#define ___int_least32_t_defined
typedef __int64_t __int_least64_t;
typedef __uint64_t __uint_least64_t;
#define ___int_least64_t_defined
typedef __INTPTR_TYPE__ __intptr_t;
typedef __UINTPTR_TYPE__ __uintptr_t; -
Janos250
őstag
válasz
Tomika86 #15860 üzenetére
Főként a microkontrolleres alkalmazásokban terjedt el az int8_t, uint8_t, stb. alakokat használni, ahol fixen megadjuk a memóriában a méretet, és hogy előjeles, vagy előjel nélküliként értelmezze a számítások során.
Idővel (C++11 óta) bekerült a szabványos C++ -ba is,
https://en.cppreference.com/w/cpp/types/integer
Én mindig ezeket az alakokat használom, mert így biztosan tudom, milyen lesz, én így jobban szeretem. -
_q
addikt
válasz
Tomika86 #15862 üzenetére
Ha jól tudom sima int-es megadással se vizsgálja meg, hogy neked valójában csak 8 bitre van szükséged, azaz sokkal több memóriát foglal le, int32 vagy int64-nek veszi, mint ha te fixen 8 bitesnek adod meg, mert amúgy meg beleférne az adat. De azért várjuk meg más mit ír.
Én is változó hogy adom meg, sokszor függ a minta kódtól is, ha ott valami int-el van megadva akkor úgy hagyom. -
_q
addikt
válasz
Tomika86 #15860 üzenetére
Ha int-et írsz, akkor az asszem feltételezi a "legrosszabb" esehetőséget és uint64 lesz használva. Ha megnéznéd mi van az int mögött, akkor számos más függvényt találnál, aminek a legvégén lesz talán az uint64. De majd kijavítanak ha rosszul írom.
Úgy tudom a kód hatékonyabbá tehető, ha pl in8-as adatot nem int16-al adsz meg és végképp nem a teljesen general int paranccsal, mert indokolatlanul több helyet használsz. Manapság már a több memóriaterület miatt kevésbé számít, főleg hobbi szinten.
-
Tomika86
senior tag
Sziasztok!
Most hogy is van ez, hogy a változókat, hogyan jelölöm.
Melyiknek mi az előnye, hátránya.byte valtozo int8_t valtozo
int valtozo int16_t valtozounsigned long az uint32_t vagy 64?
float, string, char az marad ugyanezKöszönöm!
-
agent_k
őstag
válasz
vargalex #15857 üzenetére
Köszönöm! Nagy rajongód vagyok router témában. :) Köszönöm a hozzászólásodat. Körvonalazódott már, bennem is amit írsz. Ez egy dev board. Lehet játszani vele, de kvázi prod környezetre más megközítést kellene alkalmazni. De nem fogok. Napelem és 4056. Köszi srácok szerintem túl is beszéltük a témát
-
vargalex
félisten
válasz
agent_k #15853 üzenetére
Ha jól olvastam, a többiek már írták: developer board-al (ilyen ugye a wemos s1 mini is) nagyon nagy lesz a deep sleep fogyasztás egy csupasz esp8266-hoz képest. Ha jól láttam, a kolléga az én kódomat (is) linkelte. Nálam percenként van ébresztés, 10 percenként wifivel (addig csak RTC memóriába tárolja a mért hőmérséklet és feszültség adatokat) és küldi a szervernek HTTP POST-al. Így 1 db 18650-es cellával átlag 4-5 hónapot elmegy. 3 V alatt a szerver oldal e-mail-ban riasztást küld, hogy cseréljem a cellát.
-
_q
addikt
válasz
agent_k #15855 üzenetére
Én egy ilyesmi 0.9V to 3.3V konvertert használok: [link] Ez azért is jó, mert ha 2.8V körülig használom az aksit, akkor még meg van a 3.3V, valamint 4.2V helyett is kisebb feszültséggel terheli.
#15852Tankblock
Nem mértem még meg soha, de ahhoz valami áramkör kellene, hogy monitorozza, addig meg nem mentem el. Gyári ESP32 adatlapot néztem csak. Közben most jut eszembe, ESP32 modult használok amihez terveztem egy egyszerűbb PCB-t, nem is a dev boardot, 2 éve csináltam, el is felejtettem már a részleteketViszont egyéb áramkörökhöz kínai kész paneleket vettem, azt már nem akartam magam megépíteni: TP4056, hőmérő modul, 0.9-3.3V konverter.
-
válasz
agent_k #15853 üzenetére
Engem csak a tápellátás része érdekelt.
Ezt nem értem, a feltöltve 4,2V-os Li cellát direktben kötöd a 3,3V-ra? Yay.Nem melegszik nagyon?
Úgy tudom a flash chip 3,6V táp fölött megsül. Ha eddig nem ment tönkre, az azt jelenti, hogy a lap valahol elfűti a többlet feszültséget, talán a 3,3 regulátor, ami a lapon van. -
agent_k
őstag
Ez 1 db sony vtc5 2500mAh. Napelemem nekem is csak egy kicsi 5V/200mA-os kis vackom van, de a célnak biztos, hogy meg fog felelni.
@Aryes
- wemos D1 mini
- BME280
- 100K 0,1% Precíziós fémréteg ellenállás 0,5WA kapcsolást ennyi alkatrésznél nem hiszem, hogy kell részletezni. A tápellátás direktben rá van kötve a mikrokontroller 3v3 pinjére. A feszmérés pedig az A0 és a föld közé került.
D0 - RST összekötve a deep miatt.deep sleep fogyasztást még nem mértem, ennyire nem mentem utána a dolognak.
Példa akár zambretti féle időjáráselőrejelzéssel:
hackaday.io/project/165061/logs?sort=oldest&page=1 -
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.... -
_q
addikt
válasz
agent_k #15849 üzenetére
Akkor a wifi fogyasztana olyan sokat ahogy Tankblock írta? Fér óránként ébreszted és 10-15 napot bír az nagyon kevés. Hány mAh az aksi azt tudod esetleg? A napelemen én is gondolkoztam, végül a jó üzemidő miatt kihagytam, de a lehetőséget azért "kiépítettem" TP4056-os panellel. Milyen napelemet teszel rá? Nekem egy telefon méretű van csak, nem tudom az mennyit töltene a gyakorlatban.
-
agent_k
őstag
Az eddigi kóddal 10 nap körül hoz. A wait időket drasztikusan visszavettem, de a wifis kommunikáció miatt mindenképpen szükség van rá. Nélküle változó, hogy mikor, de meg fog állni egy idő után. Ahogy nézem a kód változtatás után a grafikon trendjét, ez olyan 15 napot fog menni kb. Mindegy srácok ebben a sztoriban ennyi volt. Jöhet a napelem.
-
_q
addikt
válasz
Tankblock #15829 üzenetére
Ez egy aliexpresses amiről szó volt, amit még Janos250 linkelt régen. Nem pont ez, de hasonló: [link] Ez a kód amúgy: [link] Most nézem, hogy nekem is bent maradt egy Serial konfig, ami felesleges. Deepsleep simán csak a gyári arduinos függvénnyel van megoldva.
Igazad van, a kapacitásra nem is gondoltam. Szintén aliról rendeltem 3400mAh aksit, ami nem panasonicnak volt hirdetve, gyakori a "noname", de közben szerencsére valós kapacitású aksi. Eddig mindig sikerült ilyet rendelnem a visszjelzéseket erősen figyelembe véve. Szóval valószínű valami pana féle amit rendeltem, amúgy teszteltem és tényleg tudja a 3200-3400mAh kapacitást.
Jó ötlet az ULP, jobban utána kellene járni, de talán egyszer ezt is kipróbálom köszi az ötletet.
-
_q
addikt
válasz
agent_k #15820 üzenetére
Bocsi, nem olvastam eddig. Ahogy nézem, te műveleteket hajtasz végre a kódban, ez plusz erőforrást igényel, többet is fogyaszt az eszköz és tovább lesz ébren, mielőtt elmegy deepsleep-be. A serialt mindenképpen kivenném belőle, ha már jól működik a kód és nem kell debuggolni, hiszen utána már csak árt a fogyasztásnak. Emellett a http-s tovább küldés is lehet egy kicsit jobban igénybe veszi a hardvert. Azt nem írtad, hogy ez a kód milyen fogyasztásra képes, lehet ez is elmenne fél évet 1 db 18650-ről.
-
válasz
Undoroid #15845 üzenetére
Nagyon szívesen!
Én még egyik szenzorral se dolgoztam, de ha jól értem a dokumentációt, ezt a kódot kell csak kiegészíteni:
if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}Ilyen formában:
if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.print(',');
lcd.print(i[3]);
lcd.setCursor(11,1);
lcd.print(i[0]);
lcd.print(',');
lcd.print(i[1]);
}és ahogy írtad, a " C " és a " % " jeleket el kell mozdítani a jelenlegi helyéről, hogy mennyivel, azt sajnos nem tudom megmondani, attól függ, hány tizedesjegyet ad vissza a szenzor. Egyébként printf-el meg lehetne formázni az egészet úgy, hogy a tizedesvessző mindig ugyanoda kerüljön, egymás alá, hogy jól is nézzen ki, ebben viszont nem tudok segíteni.
-
Undoroid
őstag
Köszönöm az eddigi segítségedet!
" a DHT11 csak egész fokokat ad vissza, tizedet nem "
Igen! Az előbb megnéztem az adatlapját és tényleg...viszont most előkaptam egy DHT22-es szenzort, ami egy fokkal jobb lenne erre a célra! Annak használatával mennyit/mit kellene módosítani a fenti kódsorban?
Azért ezt a megoldást kérdezem, mert ha vadászok hozzá egy teljesen másik kódsort, akkor nem biztos, hogy érteni fogom a 'feladat' megoldásának lényegét. Így próbálok tanulni! -
Undoroid
őstag
Szia Aryes!
Végre volt egy kis időm és nekiugrottam ennek a projektnek! Sikerült végre életre kelteni a DHT11, Arduino Nano V3, 2x16-os LCD trióból építhető hőmérséklet- és páratartalom indikáló szerkezetet! A kódja eredetileg UNO-hoz készült, de Nano-val is működik:
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 0, 1, 2, 3);
byte degree_symbol[8] =
{
0b00111,
0b00101,
0b00111,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
int gate=11;
volatile unsigned long duration=0;
unsigned char i[5];
unsigned int j[40];
unsigned char value=0;
unsigned answer=0;
int z=0;
int b=1;
void setup()
{
lcd.begin(16, 2);
lcd.print("Temp = ");
lcd.setCursor(0,1);
lcd.print("Humidity = ");
lcd.createChar(1, degree_symbol);
lcd.setCursor(9,0);
lcd.write(1);
lcd.print("C");
lcd.setCursor(13,1);
lcd.print("%");
}
void loop()
{
delay(500);
while(1)
{
delay(500);
pinMode(gate,OUTPUT);
digitalWrite(gate,LOW);
delay(20);
digitalWrite(gate,HIGH);
pinMode(gate,INPUT_PULLUP);//by default it will become high due to internal pull up
// delayMicroseconds(40);
duration=pulseIn(gate, LOW);
if(duration <= 84 && duration >= 72)
{
while(1)
{
duration=pulseIn(gate, HIGH);
if(duration <= 26 && duration >= 20){
value=0;}
else if(duration <= 74 && duration >= 65){
value=1;}
else if(z==40){
break;}
i[z/8]|=value<<(7- (z%8));
j[z]=value;
z++;
}
}
answer=i[0]+i[1]+i[2]+i[3];
if(answer==i[4] && answer!=0)
{
lcd.setCursor(7,0);
lcd.print(i[2]);
lcd.setCursor(11,1);
lcd.print(i[0]);
}
z=0;
i[0]=i[1]=i[2]=i[3]=i[4]=0;
}
}
A felmerült hiba megoldása pedig (immár) egyszerű: user error! Ha jobban odafigyeltem volna, akkor hamarabb észreveszem, hogy az Uno- és a Nano annyiban (is) különbözik egymástól, hogy az RX/TX csatlakozásaik fordítva helyezkednek el a PCB-n! Nálam ezt még tetézte az is, hogy erősen használt volt a hozzám került Breadboard és van rajta egy-két pin, ami bizony kontakthibás!Annyi kérdésem lenne még ezzel kapcsolatban, hogy a kijelzett értékeket nem-e lehetne kibővíteni -a programsor módosításával- úgy, hogy a mért értékek egy tizedesértékig lennének kijelezve? Ami biztos, hogy a " C " és a " % " jeleket kettővel el kell mozdítani a jelenlegi helyéről, amit a
set cursor
paranccsal lehet megoldani... -
gyapo11
őstag
Amikor bármit telepítek a gépre, akkor előtte-utána total uninstaller, és megvannak azok a file-ok amiket föltett, törölt vagy változtak. Ha új drivert tesz föl a telepítő, akkor az új file lesz, és a total uninstaller törli ha el akarom távolítani, valamint még visszaírja a registrybe a törölt vagy módosított sorokat, és törli az új sorokat. Ha nem engedi a win, akkor pendrive-ról kell bootolni oprendszert, azt a betűt rendelni a win partícióhoz ami alapban is van, és így már nem tudja akadályozni. Így lehet egész jól visszaállítani a telepítés előtti állapotot. Még jobb a teljes partíció mentése, és szükség esetén azt visszatölteni és úgy bootolni. A telepítés mindig kockázat, nem tudni mit hova tesz be, mit módosít, és a win uninstallja sok szemetet fönt hagy, így tud a win használhatatlanná hízni, és jöhet az új install.
-
biker
nagyúr
-
biker
nagyúr
Üdv
Hogy lehet egy Arduino Leonardo-t elfelejtetni a windowsal, illetve megváltoztatni esetleg a kártya azonosítóit?Probléma:
van egy EDTracker nevű fejkövető giroszkóp. Első amit vettem hibás volt, nem indult el, összeomlott, stb Ezt telepítette a win10 a játékos gépre és egy laptopra is, ameddig próbáltam éleszteni, sikertelenül. egy hónappal ezelőtt.
Az eszköz kétféleképpen települ, soros portként és joystick eszközként 3 tengelyen. Normál esetben.
A hibás eszközökön Arduino Leonardo néven vagy bejelentkezett vagy nem.Az új eszköz tökéletesen feléled, bejelentkezik mint EDTracker, de utána felismeri a win és átvált Arduino Leonardora. Ezzel összevész a másik eszközömmel aminek szintén ez a neve, de a probléma, hogy ennek a neve EDTracker lenne!
Ez soros porton az edtracker szoftverrel hibátlan, működik a 3 tengely, de joysticcként nem ment.
ekkor jutott eszembe, van egy harmadik laptop, amin soha nem volt a rossz régi modul feltéve. Bedugtam, 3mp múlva hibátlan, 1db com port, 1db EDTracker joystick vezérlő, és működik a 3 tengely.Visszadugtam a játékgépre, megint nem működik.
Ekkor elkezdtem hardware ID-ket túrni és DeDevice megoldásokat keresni, a lényeg, hogy az USB eszköz neve EDTracker, de a játékvezérlők közt már Arduino Leonardo nevet kap, mert a windows eszközkezelőben benne van, hogy eszköz első telepítése 07.15 és azt tölti be. Hiába távolítom el, akár a nirsoft féle eltávolítóval, valami cacheből előveszi a régi infót, ehhez a VID of 2341 and PID of 8036 két azonosítóhoz, és betölti hogy arduino leonardo és nem megy a joystick.
Hogy lehet ezt megoldani, vagy kitörölni végleg (reinstall win nélkül) az előzményt, vagy más ID-t adni a kártyának?
a soros eszköz neve legalább mindig EDTracker, de az USB eszköz más nevet kap, érthetetlen módon.
[kép] [kép] [kép]
Az eszköz biztos hibátlan, másik laptopon tesztelve, így a supportjuk is elfogyott, ezt ők se tudják megmondani. -
Janos250
őstag
"The ULP (Ultra Low Power) coprocessor is a simple FSM (Finite State Machine) which is designed to perform measurements using the ADC, temperature sensor, and external I2C sensors, while the main processors are in deep sleep mode. The ULP coprocessor can access the RTC_SLOW_MEM memory region, and registers in RTC_CNTL, RTC_IO, and SARADC peripherals. The ULP coprocessor uses fixed-width 32-bit instructions, 32-bit memory addressing, and has 4 general-purpose 16-bit registers."
-
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 )
-
válasz
Undoroid #15827 üzenetére
rájöttem, hogy lehetséges
az, hogy összecseréltem a két lapon az RX- és a TX helyzetét
Most megnézve a Nano board lábkiosztását, igen furcsa, hogy a D0 és a D1 fel vannak cserélve. Ezt még sosem fedeztem fel.
Tényleg akár ez is lehetett az eredeti ok, amiért nem ment a kijelző.
Ami még érdekes volt, hogy az RX(D0) lábat nem tudtam itt aktiválni semmivel*, a LED-ek azt mutatták, mintha a kimeneti láb be se lenne kötve
Ezért mondtam, hogy ezt a két lábat (RX/TX) nem érdemes digitális kimenetként használni, ugyanis a boardon van egy USB-UART (serial) chip, ami az USB-n keresztüli programozást teszi lehetővé, na most ez pont erre a két lábra van kötve fixen. Az RX lábat vagy ez a chip húzza magas szintre (ehhez némileg ismerni kell a soros kommunikációs protokollt, hogy tudd, miért), vagy maga az Arduino, a hardveres serial miatt nem engedi kimenetként konfigurálni, nem tudom.
A többi anomáliára egyelőre nem találok magyarázatot*, de gyanús, hogy lehet rajta valamiféle forrasztási hiba, esetleg nézd meg nagyítóval magát az AVR chipet a boardon, hogy nincs-e megfolyva az ón két láb közt.*de találtam, [link]. Hirtelen beugrott, hogy az A6 és A7 lábakat csak analóg bemenetként lehet használni, talán ezért sincsenek kivezetve az UNO boadon.
-
Undoroid
őstag
Nem egészen! A programozás lefutása közben a D13-as lábon az addig folyamatos világítás megszakad a pozitív irányra és kb. fél másodpercig bevillan a negatív irányú LED, majd vissza a pozitív ág. Az alaplapon viszont a betáp-LED folyamatosan világít.
Viszont, ha a D13-as pint teszem be a programba, akkor az szépen elkezd felváltva villogni, DE pont ez van akkor is, ha a 21-est teszem aktívvá! Lehet, hogy ez csak valami bug? (mivel elvileg nincs is ennyi kimenete a Nano-nak)
Ami még érdekes volt, hogy az RX(D0) lábat nem tudtam itt aktiválni semmivel*, a LED-ek azt mutatták, mintha a kimeneti láb be se lenne kötve (halványan világított mindkettő)! A TX1(D1) az 1-es szám használatával szépen villogtatta a LED-eket!
Innentől kezdve minden tökéletesen működött egészen az A6-ig! (20 lenne a programsorban a száma) Az A7-es szintén passzív (21 lenne a száma, de arra a 13-as kezd el dolgozni) ...és próbából* beírtam a 22-es számot, arra viszont az alaplapi RX- és a TX egyszerre kezd villogni és a kimeneteik is pont így viselkednek...
Viszont, hogy most alaposabban megnéztem a Nano- és az Uno lábkiosztásait rájöttem, hogy lehetséges
az, hogy összecseréltem a két lapon az RX- és a TX helyzetét (Uno esetén jó volt, de a Nano-nál pont fordítva lehetett)! Ennek ellenőrzésére már csak Péntek délután lesz időm leghamarabb...
-
Undoroid
őstag
Első körben csak a 8-as PIN-el próbálkoztam és az szépen -felváltva- villogtatta a két LED-et (természetesen 220Ω-os ellenálláson keresztül) és próbából végiglépkedtem az összes kimeneten! Itt találtam egy anomáliát: a D13-as pinnél (Breadboard használatával dobtam össze a tesztkörnyezetet) a pozitív ágba kötött LED folyamatosan világított
Lehet, hogy valami nem stimmel azzal a kimenettel? pinout ...bár, ezt a hőfok-páratartalom kapcsolás -ha jól emlékszem- pont használja is...
A többi kimenet tesztelése folyamatban...és közben nézem a D13-as pin változásait betáp- és Gnd között is!
-
válasz
Undoroid #15823 üzenetére
Ez a kis program alkalmas lesz a többi pin egyszerű tesztjéhez is?
Persze, ha a LED a Vcc-re van kötve, akkor a LOW állapotban fog világítani, ha a GND-re, akkor pedig a HIGH állapotban.
Tedd bele a többi pin-t is, és akkor csak egyszer kell flash-elni.
Ne felejts el a LED elé áramkorlátozó ellenállást tenni (~120-220Ω) -
Undoroid
őstag
Üdvözöllek!
Nem, ez nem az! Ezt Én csomagoltam ki a gyári csomagolásából...mivel sokat kísérleteztem már vele, így ki fogom próbálni az ötletedet!
Az egyik gyári programját fogom erre használni:int ledPin=8; //definition digital 8 pins as pin to control the LED
void setup()
{
pinMode(ledPin,OUTPUT); //Set the digital 8 port mode, OUTPUT: Output mode
}
void loop()
{
digitalWrite(ledPin,HIGH); //HIGH is set to about 5V PIN8
delay(1000); //Set the delay time, 1000 = 1S
digitalWrite(ledPin,LOW); //LOW is set to about 5V PIN8
delay(1000); //Set the delay time, 1000 = 1S
}
Itt alapból a 8-as lábat fogja használni. Ez a kis program alkalmas lesz a többi pin egyszerű tesztjéhez is? ( " a LED a Vcc-digital pin között legyen, és úgy is, hogy a digital pin-GND között. " )
-
válasz
Undoroid #15821 üzenetére
Ez az a Nano, ami zárlatosra lett forrasztva, majd kijavítva? Akkor könnyen előfordulhat, hogy 1-2 digital pin zárlatos lett és tönkrement.
Értelemszerűen ha programozni tudod, akkor a serial pin-ek, tehát a D0, D1 láb nem sérült, de a többi lábat egyesével le kéne tesztelni egy LED villogtató programmal, hogy valóban kimegy-e az információ az LCD felé! Mindkét irányban le kell tesztelni, tehát úgy is, hogy a LED a Vcc-digital pin között legyen, és úgy is, hogy a digital pin-GND között.
-
Undoroid
őstag
válasz
doberman #15789 üzenetére
Szia!
Írok egy rövid privátot. Remélem, hogy lesz időd elolvasni!
*****************************************************************************
Janos250!
Nem köveznek meg! Nem "hittéríteni" jöttél, hanem mutattál/mutattatok -egy jó/jobb- alternatívát, amit mások nevében is csak megköszönni tudok!
Mivel kezdő vagyok, minden jótanács jól jön!
*****************************************************************************
Valami éppen lehet a módosításokkal, de csak annyit értem el eddig, hogy a kijelzőn nem csak az egysoros "telikarakteres" kiírás látható, hanem mindkét sorban mindenféle karakterek jelennek meg és lassan scrolloznak jobbra!
Nyilván nincs messze a helyes megoldás, de jelenleg több a befektetett energia, mint az eredmény!
Powerbankos betáp esetén sem lett semmi változás (sem az eredeti bekötésekkel, se a módosítottal)
Ezután keresni kezdtem a NET-en megoldásokat az l2c-s LCD-hez, de működő programot nem (csak valami visual...-os programozási eljárásút, amit még sohasem láttam) találtam! Végül már golyózott a szemem és felfüggesztettem a Nano-s megoldások aznapi keresését!
-
_q
addikt
válasz
agent_k #15795 üzenetére
Nekem 1db 18650 fél évig bírja kültéren erkélyen ESP32-vel. Alvó módban van, kb 10 percenként ébred, mér hőmérsékletet és párát majd egyből küldi wifi hálózaton ESPnow-al a benti ESP32-nek az adatokat. Gyári development boardot használok, nem forrasztottam le róla semmit. 2db aksival 1 évig is mennie kell. Ha kerül rá kijelző az csökkentheti az üzemidőt.
-
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....
-
-
válasz
ekkold #15809 üzenetére
[link]
A rossz hír az, hogy nekem csak régebbi avrdude-dal működött a hack, azt hiszem az 1.6.xx-el csomagolt avrdude-dal még ment, de nem gond, mert az attiny85-höz az is pont megfelel, ha programozni kell.Az újabb avrdude-ból talán kivették már a támogatást.
Amúgy nagyon jó cucc, megéri elővenni, mert a saját programjával debugolni is lehet, serial monitorként is lehet használni meg ilyesmi. -
ekkold
Topikgazda
-
-
Nincs ASP-m, de mindegy is. A Digiusb Ruby script amúgy tudna vele USB-n kommunikálni (mármint üzeneteket küldözgetni), de az most mindegy.
"Vagy szaladj be a sarki hobbielektronika üzletbe" - ebay-re, mert az itteni egyetlen boltban (munkaidőben van nyitva) szerintem csak rendelésre van, minimum 2000Ft/db
Üres Tiny majd lesz, mert amúgy van, amihez jó lenne. -
USBAsp-d van? Akkor simán likvidáld róla a bootloadert. Vagy szaladj be a sarki hobbielektronika üzletbe, és vegyél egy üres attiny85-öt és használd USB nélkül gyári órajelen!
Update: ha USB-n felprogramozod, de nem USB-re dugva üzemel, úgy emlékszem visszaáll alap 16MHz-re az órajel.
-
-
Nem érdekes, hogy mi lesz (majd a Logout-on elolvassátok). 2 szervó, meg pár apróság. De USB-t nem használok, azt csak azért kérdeztem, mert könnyebb debug üzeneteket írogatni, ha van valami serial monitor. Szóval rejtély, hogy a 2db szervó miért nem megy softpulse-al.
Amúgy van example 2 szervóra, most próbálom életre lehelni.
-
Új hozzászólás Aktív témák
Hirdetés
- ÁRGARANCIA!Épített KomPhone i5 10600KF 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7600X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- Creative Sound BlasterX G5 (70SB170000000) (Sound Blaster) (DAC)
- Csere-Beszámítás! Asus Tuf Gamer laptop! R7 3750H / GTX 1650 / 16GB DDR4 / 500GB SSD
- BESZÁMÍTÁS! Logitech G923 kormány + Driving Force Shifter garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest