- Samsung Galaxy A55 - új év, régi stratégia
- Samsung Galaxy A34 - plus size modell
- iPhone topik
- Motorola Moto Tag - nyomom, követ
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- Samsung Galaxy A56 - megbízható középszerűség
- Második bétánál jár a One UI 8
- Magisk
- eSIM, a kártyamentes szabadság
- Google Pixel 9 és Pixel 9 Pro összehasonlító gyorsteszt
-
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
-
ngabor2
nagyúr
Megírtam/összeollóztam Arduino Nano-ra egy egyszerű időzítőt DS3231-gyel és egy relével a D2 pinre kötve.
A program:
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
int p2=0;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
void setup () {
pinMode(2, OUTPUT);
#ifndef ESP8266
while (!Serial); // for Leonardo/Micro/Zero
#endif
Serial.begin(9600);
delay(3000); // wait for console opening
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
if (rtc.lostPower()) {
Serial.println("RTC lost power, lets set the time!");
// following line sets the RTC to the date & time this sketch was compiled
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// This line sets the RTC with an explicit date & time, for example to set
// January 21, 2014 at 3am you would call:
// rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));
}
}
void loop () {
DateTime t = rtc.now();
Serial.print(t.year(), DEC);
Serial.print('/');
Serial.print(t.month(), DEC);
Serial.print('/');
Serial.print(t.day(), DEC);
Serial.print(" (");
Serial.print(daysOfTheWeek[t.dayOfTheWeek()]);
Serial.print(") ");
Serial.print(t.hour(), DEC);
Serial.print(':');
Serial.print(t.minute(), DEC);
Serial.print(':');
Serial.print(t.second(), DEC);
Serial.println();
if (t.hour() > 5 && t.hour() < 18 ){
digitalWrite(2, LOW);
}
else{
digitalWrite(2, HIGH);
}
delay(3000);
}Elvileg reggel 6-kor bekapcsol, este 6-kor kikapcsol... de nem kapcsol ki. Teljesen hasonlóan van egy másikra megírva, az működik (a különbség annyi, hogy ott a 4-es pinen van a relé). Hol van a hiba? Az időt szépen kiírja, tehát az órával elvileg nincs gond. Több ötletem nincs.
-
Teasüti
nagyúr
válasz
gyapo11 #8277 üzenetére
Nem. Inkább az jutott eszembe, hogy amikor egy alaplapon 50000 órás kondik vannak, akkor egy jó minőségű márkás Apple/Samsung töltőben sem tartok különösebben attól, hogy vmi gondja lenne.
Tegye fel a kezét, akinek van még régi Nokia töltője, vagy sok-sok éves Samsung! Kinek hány darab pukkant el az elmúlt 20 évben? Szülőknél még mindig használatban vannak ilyen töltök és azok is állandóan be vannak dugva. (Nokia 6680 nem mostanában jött ki - 2005 -, apám a második akkumulátort használja el benne.)
Persze a gyártási szórás és minőségellenőrzésből adódó tévedés jogát fenntartom.
Egyszer olvastam egy USB töltő kibelezést, mérésekkel, elemzéssel. Abból akkor nekem az jött le, hogy a gyári Samsung és Apple töltők képviselik a minőséget mind anyaghasználat és tervezés, mind a szekunder oldal kiváló szűrése és védelme szempontjából (ez utóbbiban az Apple töltője vitte a prímet).Arról nem is beszélve, hogy gombamód szaporodnak az IOT eszközök.
Én pl a Sonoff-tól tartottam kicsit az elején, de ezek is 24/7 áram alatt vannak.
És nem azzal van tele a okos otthon topik sem, hogy felgyulladnak a házak. Pedig ott aztán van barkácsolás dögivel.Nem azt mondom, hogy alaptalan a félelem. De nem lehet, hogy ezek a halálok csak elszeparált esetek voltak több tényező együttállása okán?
Amúgy meg mi volna az alternatíva? Ha egy márkás USB töltőre nem lehet rábízni egy pár száz mA-es mikrokontrollert 24/7 felhasználásra, akkor mire lehet?
-
Janos250
őstag
Sajnos a Galileo támogatása - úgy látom - lassan halad. Én is várnám, mert mégiscsak Eu. Viszont az a tapasztalatom, hogy GPS + GLONASS gyakorlatilag tökéletes. Mindkettőből lát 6-10 holdat, az együtt már bőven sok, tud válogatni is. A BEIDOU nálunk szinte használhatatlan, 1-2 hold látszik gyengén. A Glonass - ha teljesen kiépítik - a korrekciója miatt kellene, hogy tudjon méter alatti pontosságot, ami azért jó lenne az olcsó chipeknél. Az már más kérdés, hogy tudtommal Magyarország nem csatlakozott, hogy felküldje az Mo területére vonatkozó korrekciós adatokat. De majd, hátha.
-
tvamos
nagyúr
En azt vettem eszre, hogy a ket Xiaomi teledonom allitja, hogy 1m pontossaggal vagyok valahol, csak nem ugyan ott, mig a kollegam iPhonja is tok mas helyen mutatja, hogy vagyunk, az 20m pontossagot ir, igy ez betalal. Biztos Heisenberg a hibas...
Nem vagyok benne biztos, hogy ezek az olcso kinai modulok nem vagnak at ugyan ugy, mint a telefonok. (Vagy van az a 10-20m.)En ilyen modult vettem amugy: [link]
-
Janos250
őstag
válasz
fagylalt #8292 üzenetére
A flight controller is ugyanaz. Régebben G-mouse-nak nevezték. A flight controller néha légnyomásmérőt is tartalmaz a magasságméréshez.
Pl. ez olcsóbb, de az általad linkelt jobb.
https://www.ebay.com/itm/NEO-6M-GYNEO6MV2-GPS-Module-w-Antenna-Flight-Control-for-Model-Aircraft/253371916379?epid=677378824&hash=item3afe24a05b:g-cAAOSwoeRZk6sy
Az általad linkelt a NEO-M8N paraméterei igen kedvezőnek túnnek (még nem használtam, de valüszínűleg fogom -
fagylalt
senior tag
válasz
Janos250 #8288 üzenetére
Kicsit böngésztem az ebay-en és ezt találtam: [link]
Még nem vagyok teljesen otthon a témában, úgyhogy nézzétek el, ha butaságot írok.
Az USB csatis U-blox7 az nekem nekem nem jó, mert azon nincs antenna kivezetés, így a vétel is gyengébb. Illetve, ahhoz kellene egy illesztőpanel is Ardu-hoz (Arduino MEGA panelem van (ATMEGA 2560)).
A másik kettő között mi a különbség? Tehát elnevezés szerint GPS modul vs GPS Flight controller?Esetleg válasszam azt amit utoljára küldtél? Az all-in-one megoldásnak tűnik.
-
Janos250
őstag
válasz
fagylalt #8286 üzenetére
Ez nekem bevált, bár én még kétezerért vettem:
https://www.ebay.com/itm/28dB-LNA-Gain-1575-42MHz-SMA-Male-GPS-Antenna-Active-Connector-Stronger-Singal/282685875671?epid=750817279&hash=item41d16425d7:g:TZoAAOSw1MBZ2dek
Lehet, hogy kell ilyen csati:
https://www.ebay.com/itm/IPEX-To-SMA-Female-Portable-GPS-Navigation-Antenna-Modified-External-better-w/271744072214?hash=item3f45357a16:gX8AAOSwkNZUl9DT
Ez a kategória is megfelelt számomra. Mértem, nem volt lényegi különbség.
https://www.ebay.com/itm/GPS-Active-Antenna-Cable-Hign-Gain-SMA-Male-Plug-Connector-1575-42-MHz/263422264589?hash=item3d5530c50d:gIYAAOSwMEtaUG7f
Erre azt írják, hogy GPS is és Glonass is.
Én a legelőször linkeltet is használni tudtam Glonasshoz is.
Ezt kipróbáltam, nekem jól működött:
https://www.ebay.com/itm/VK-172-USB-GPS-G-Mouse-Gmouse-Glonass-Ublox7-Windows-10-8-7-Vista-XP/262781763789?hash=item3d2f0380cd:g:TKwAAOSwR6RaOehW
Ez meg az, amit én még tízezer körül vettem, és picit gyengébb a jele, mint a legelőször linkeltnek.
Hopp, itt lemaradt a link, de már töröltem.Ezt most találtam, nem tudom milyen.
https://www.ebay.com/itm/1pc-BLUETOOTH-Module-GSM-GPRS-Module-SIM868-GLONASS-GPS-Module-Text-and-PDU/253073218931?hash=item3aec56dd73:g:xUAAAOSwEupZgCzw
Meg ezt is:
https://www.ebay.com/itm/NEO-M8N-GPS-Shield-for-Arduino-Indoor-Positioning-GPS-Galileo-GLONASS-BeiDou/272086464137?hash=item3f599df689:g:QcUAAOSw14xWIcMPRészletesebben nem tudom, mert én kb 2 éve vettem utoljára, és vevőként eggyel magasabb kategóriájút.
-
válasz
Janos250 #8285 üzenetére
A telefonomban lévő gps+glonass legnagyobb pontossága nyílt terepen, tiszta időben (márpedig a nyílt víztükör eléggé optimális környezet ebből a szempontból) kb. 30cm. Miért ne lehetne egy 10e Ft-os gps modul is legalább ilyen pontos?
Mivel amúgy is wifiképes lesz az eszköz, akár egy mobiltelefont is lehetne használni. -
fagylalt
senior tag
válasz
Janos250 #8285 üzenetére
Ez csak egy hobbiszintű, RC modell méretű, vízi járműhöz kell, hogy nagyjából be lehessen lőni, hogy merre kolbászolt el. Tisztában vagyok az 5-10 méteres pontatlansággal, azonban jobb ötletem nincs a navigációs rendszerhez, mint egy GPS + IMU kombó. És igen, tudom, hogy az olcsó IMU-k szintén hasonlók, azonban rendelkezek akkora rászánható összeggel (sajnos).
Azért tettem fel a kérdésem, mert olvastam, hogy ezeknek a moduloknak is van kínai másolatának a másolata, ami kisebb teljesítményű,...stb. -
Janos250
őstag
válasz
fagylalt #8284 üzenetére
"Amúgy a GPS-szel egy önvezető járműnek a pozicióját szeretném begyűjteni"
Ebben az árkategóriában azt felejtsd el. Az félmilliónál kezdődik.
Ezeknek a GPS-eknek a fizikai okok (pl. változó légköri viszonyok, stb.) miatt a pontossága néhány méter.
Az önvezető autókhoz geodéziai "jellegű" GPS kell, ami egy egészen más kategória, eléggé más elven is működik.
A traktorokhoz az önvezető GPS másfél milliónál kezdődik. Ez ugyan irreálisan drága, ki lehet hozni olcsóbban de nem drasztikusan olcsóbban.
A geodéziai GPS-ek kategóriában keress! -
fagylalt
senior tag
válasz
Janos250 #8283 üzenetére
Én olyan 5eFt körül szánnék rá. Viszont az olcsóbb (3eFt-os) és drágább (nagyon max. 10eFt) változatra is kíváncsi vagyok (feltéve, hogy vannak ilyen opciók).
A budget vonal érdekelne elsősorban, bár gondolom szinte alig van különbség ebben az árkategóriában közöttük.Amúgy a GPS-szel egy önvezető járműnek a pozicióját szeretném begyűjteni, míg a WiFi segítségével a kapcsolatot tartanám vele okostelefon segítségével.
-
Janos250
őstag
-
fagylalt
senior tag
Sziasztok!
Tudnátok ajánlani egy megbízható, jó minőségű GPS modult és WiFi modult? Mind a kettőből olyanra lenne szükségem, aminek van antenna kivezetése. A WiFi esetében nem lenne hátrány, ami nagyobb hatótávolsággal rendelkezik. Esetleg, ha antennákat is ajánlanátok hozzá, azért nagyon hálás lennék.
-
mArZsi
tag
válasz
multipass4 #8278 üzenetére
Ha még sem szeretnél saját magad vesződni vele, akkor van automatizálásra kész megoldásom.
-
Janos250
őstag
válasz
multipass4 #8278 üzenetére
Természetesen szivesen segítünk ha elakadsz, de itt több tapasztalatuk van:
https://prohardver.hu/tema/okos_otthon_smart_home/friss.html -
_q
addikt
válasz
multipass4 #8278 üzenetére
A szervomotor teljesítménye elég lesz? A programozásban én úgy indulnék el, hogy külön-külön esetleg kisebb részfeladatokat összevonva írnám meg a kódot és tesztelném, ha egy rész két mehet a következő és minden egyes sikeres részfeladat után össze lehetne fűzni az előzőeket.
Valószínűleg más is ajánlani fogja ESP32-vel olcsóbban és kevesebb eszköz felhasználásával meg tudnád valósítani amit szeretnél UNO helyett de még is Arduino IDE-ben programozva. -
multipass4
csendes tag
Sziasztok!
Segítséget szeretnék kérni programozás téren. A terv a következő: Okosszoba megvalósitása mikrokontrollerrel.
Ehhez egy Arduino Uno-t szeretnék használni. A lényeg, hogy a világítást, és a redőny fel le mozgatását szeretném automatizálni. A redőny mozgatáshoz szervomotort , végállásokat, és fotoellenállást gondoltam, a világítást LED szalag bizosítná. Ezt az egészet pedig bluetooth modullal okostelefonról, és manuálisan kezelőpanellel szeretném megoldani, de nem tudom hogyan induljak el a programmal. Az Arduino saját IDE programját használom. -
gyapo11
őstag
válasz
Teasüti #8276 üzenetére
Nagyobb valószínűségűnek gondolod a bedugáskori tönkremenetelt mint a folyamatos üzemben elfáradást? Még ha így is van, bedugva megvan a tűz esélye, kihúzva nincs. Ha akkor durran el amikor éppen bedugom, akkor ott vagyok akcióra készen. Ha otthagyom bedugva, akkor nincs esélyem intézkedni, ha gond van.
És sajnos sok hírt láttunk már, hogy alvó emberek megfulladnak, nem ébrednek föl füsttől, gáztól. -
-
asuspc96
senior tag
válasz
asuspc96 #8250 üzenetére
https://files.fm/u/7wvjd4ht, ez lenne az a masina, amihez meg kellene oldani, valahogyan az adagolást.
Vödrön nem nevetni, nemzetközi ISO szabványnak eleget tesz -
AcCEsS
senior tag
törölve (valamiért több példányban ment el az üzenet)
-
AcCEsS
senior tag
törölve (valamiért több példányban ment el az üzenet)
-
AcCEsS
senior tag
Csak félig-meddig tartozik a topik témakörébe, de szeretném megkérdezni, hogy a számtalan arduino, wemos stb. cuccaitokat mivel hajtjátok meg? Milyen típusú mikroUSB-s adaterekről biztosítjátok a tápellátást amit nyugodt szívvel 24/7 módban felügyelet nélkül mertek hagyni, nem fog kigyulladni és nincs fent a halállistán? Hirtelen kellene rendelnem vagy 5-6 darabot a különböző cuccaimhoz, de nem nagyon szeretnék több ezret áldozni a dologra, főleg, ha van egy megbízható, bevált (és olcsó) típus.
-
Janos250
őstag
Szerintem igen , de a döntés az övé, mert másként minden gondért a javasoló a hibás! Az én elvem, hogy mindig használjuk a legkorszerűbbet, ami ár/érték arányban még jó. AZ ESP32 a maga kategóriájában jelenleg mindent magasan ver ilyen szempontból. De ha ragaszkodik a 04-hez, akkor nincs mit tenni, használja. Azt se tudom, mennyi memória van a 04-ben. Belefér az Arduino, vagy AT parancsokkal kell programozni? Mert ha igen, akkor kell hozzá egy másik chip is, ami kezeli. Persze lehet, hogy felmegy rá az Arduino, nem tudom, ennek talán érdemes lenne utánanézni!
-
_q
addikt
válasz
Janos250 #8261 üzenetére
Nem nekem lenne. Ismerősöm szeretne minél kisebb méretű eszközt. Ehhez próbálok megoldást keresni. Én ESP32-t használok és maradok is ezen a vonalon. Próbálom meggyőzni róla, hogy ezzel valósítsa meg a projektjét, de eddig a 04 mellett szólt a méret. Amit ma linkeltél ESP32 modul az nekem megfelelne, de a mérete miatt az ismerősömnek annyira nem. Mivel érveljek neki?
-
Janos250
őstag
Biztos, hogy ezt a 04-et akarod használni? Úgy gondolom,elég nehéz lesz olyan embert találni, aki még ezt a régi típust használja. Ha nem akarod az ESP32 vonalat, hanem mindenképpen az ESP8266-nál akarsz maradni, akkor mi az oka, hogy nem az ESP12-t használod ugyanúgy, mint még sokan mások? Abból is van olyan verzió, ami picike, csak a chip (a fehér panelra rakható)
https://www.ebay.com/itm/Esp-12E-ESP8266-Serial-Port-WIFI-Transceiver-Wireless-Module-AP-STA-New/253142334988?epid=1279738338&hash=item3af0757e0c:ggwAAOSwgjFZqqLM
16 x 24 mm
Sokan használjuk ezt, amikor kicsi a hely. -
_q
addikt
ESP-04-et nézegetem még és felmerült egy kérdés. Antenna nincs ugye rajta. Ez azért van hogy egyénileg lehessen készíteni hozzá és/vagy mert önmagában is tud működni? Arra gyanakodnék, hogy antenna nélkül nem fog működik vagy csak nagyon nagyon kicsi távra (~2-3 méter).
-
AcCEsS
senior tag
válasz
Janos250 #8257 üzenetére
Nálam minden Sonoff cucc (Basic, POW) ezzel (5.12.0 verzió) működik, hibátlanul. A POW MQTT-n küldi az aktuális volt, amper, watt adatokat a Domoticz felé. Könnyen konfigurálható és totál stabil. Az első USB-soros flash után már OTA frissíthető. Ja, és a POW esetében a mért értékek is kalibrálhatóak.
-
Janos250
őstag
Ezt
https://github.com/arendst/Sonoff-Tasmota
valaki próbálta már? -
Janos250
őstag
Ha saját PCB-t akarsz gyártani, akkor számításba jöhet maga az ESP-WROMM-32 modul, mivel az tartalmaz minden lényeges dolgot a modulon belül. Árulják hozzá a "fehér panelt", ami - ha kell - segítséget nyújthat a bekötéshez, vagy hosszú tüskékkel akár a panelra illesztve.
https://www.ebay.com/itm/ESP-WROOM-32-ESP32-ESP32S-IoT-Wifi-Wlan-BLE-Module-Adapter-Board-New/192253158352?hash=item2cc32e63d0:m:m-ZePhfZj7iMjfsrkyAZUiQ
USB-soros konverter nincs rajta, de ez úgyis csak a programozáshoz kell, a normál üzemhez nem. -
_q
addikt
válasz
Janos250 #8253 üzenetére
Igen cm-re gondoltam. Ahogy látom a D1 az tartalmazza a soros kommunikációt viszont kisebb méretű mint a többi dev board, míg a másik verzióhoz külsőleg kell használni soros kommunikációhoz USB-TTL konvertert, illetve saját PCB gyártásnál hasznos a még kisebb méret miatt. Köszi.
-
Janos250
őstag
Milyen méretre gondolsz?
Ha centire, akkor van:
https://www.ebay.com/itm/TTGO-MINI-Wemos-D1-ESP32-32S-WIFI-Development-Board-Bluetooth-CP2104-ESP8266/282765911347?hash=item41d6296533:m:muiXj0-qSqQnCUYjkXpIW3g -
_q
addikt
Sziasztok!
ESP32-ből is létezik hasonló mint ESP8266-ból hogy több méretben elérhető pl ESP-01, ESP-04 stb? Az ESP-04 helyett ami ha jól tudom 8266-al szerelt szeretnék ESP32 alternatívát.
-
asuspc96
senior tag
Helló,
Valaki foglalkozik/foglalkozott már robotkarok vezérlésével ?
A dolog lényegi része röviden:
Nem nagyon nehéz cuccot kb 500 gramm, kellene mozgatni A-ból B-be, és ezt reggeltől estig.Nézegetem már egy ideje ezt a területet, de nem tudtam még elhatározni magam még egyik robotkar mellett sem.
-
Teasüti
nagyúr
Ismer vki arra módot, hogy Android-ról töltsünk fel ESP32-re programot?
-
Nincs akkum. Van egy usb töltőm amit tudok erre használni és van egy 12v tápom, amihez csináltam egy stab IC-vel egy átakítót. Elvileg van egy nem használt atx-es tápom, azt még előkereshetem.
Értem, hogy mindenki a kódra gyanakszik. De ha ugyanaz a kód, ugyanazon a ledszalagon, ugyanazon a bekötésen, az usb táppal jó, az általam készített táppal meg nem, akkor ezt mivel magyarázzátok?
-
Janos250
őstag
Megnéztem egy 60 pixeles szalag áramfelvételét 5V-os, és 3.3V-os táp esetén, maximális (255,255,255) fényerőnél
Nincs egy Li akkud pl. 18650 amivel ki tudod próbálni? Vagy egy laposelemed? Kisebb feszültséggel is stabilan működnek, csak kisebb a fényerejük. Szintillesztőt én sem használok, közvetlenül a led bemenetet kötöm az ESP32 lábára. Vagy próbáld ki, hogy ugyanarról az USB tápról hajtod meg a szalagot is, és az ESP-t is. Azaz feltöltöd a gépről, majd utána lecsatlakoztatod a gépről. Az az érintéses probléma nekem nagyon valamiféle "kóbor" delejre utal.
-
Teasüti
nagyúr
3.3V-hoz az R330 szolgálna 10 mA-es korlátként. 12 mA a max, amit egy GPIO le tud adni.
Ez csak kiegészítő védelem, akár el is hagyható. Én sem használom éles körülmények között és hónapok óta megbízhatóan működik a rendszer.Esetleg azt próbáld még ki, hogy beraksz egy 3V3-5V szintillesztőt az adatbuszra, vagy trükközöl egy kicsit.
A hivatalos specifikáció szerint Vcc*0,7 felett van a logikai 1, ami 3,5V minimum. Ez lehet gyártási minőségtől is függhet, az én szalagom vígan megy közvetlenül a GPIO-ról is.
szerk: ez kihagyható, azt hiszem be se kapcsolna a szalag egyáltalán, ha az első pixel nem értelmezi a logikai 1 szintet.Ha megváltoztatod a deklarált pixelek számát és a jelenség követi e változást (10 pixelnél a 11. zöld, 20 pixelnél a 21., stb.), akkor ez 100% szemantikai hiba. Vagyis a szoftver szar.
Ha nem te balfaszkodod el (for ciklusban a pixelek számáig számolunk, nem "LEDmennyiseg+1"-ig), akkor próbálj ki egy másik könyvtárat! Vhol megcsúszik a puffer, ezért szar az első és utolsó pixel színe. Vagy rossz színsorrend szerint definiáltad a szalagot (GRB, RGB, stb.). Mondjuk ezt kétlem, ettől még nem csúszna el a puffer a következő pixelre, szóval még mindig tartom, h cserélj könyvtárat!A táp - mint írtam volt - nem szól bele a vezérlésbe. Ha bekapcsol a szalag és max fényerőn se brownout-ol, akkor a táp elégséges. Ellenben erre a feladatra vagy 220/5V-os dugasztápokat használunk (a kínai tápokból kerüljük ezeket), vagy DC-DC konvertereket.
Ezek jó hatásfokkal rendelkeznek és nem kell megerőszakolni őket 28W elfűtésével úgy mint egy fesz. stab. IC-t. -
99% hogy a hiba nem szoftveres, hanem hardveres, konkrétan a tápegység nem megfelelő valamiért.
Az 56db-os szalagból csak 10 db-ot vezéreltem és rákötöttem egy USB-s töltőre. (5V, 1 A). A ledszalag, hirtelen megjavult, ugyanúgy működött, mint a 10db-os teszt szalag.A megoldás, hogy veszek egy stepdown konvertert, ami 12V-ból csinál nekem 5V-ot.
-
válasz
Teasüti #8221 üzenetére
Kipróbáltam a kapcsolást.
Bekötöttem egy 2200mikrós kondit,és annyi változott, hogy ha hozzáérek az LM1084 hűtőbordájához, akkor nem változik meg a ledek színe.Ha az ellenállást is bekötöm, akkor nem kapcsolnak be a ledek.
Ha a forráskódban 10 db a ledek mennyisége, akkor az első és a tizenegyedik zölden világít a többi narancssárga.
Az segít, ha linekelek egy fényképet a ledszalagról?
Janos250 : megcsináltam, beletettem a kódba az interuptos rész is, de nincs változás. 10 db címzek, 11 világít, első és utolsó zöld.
-
Tankblock
aktív tag
válasz
Teasüti #8236 üzenetére
Open source ....
Pont ez a szituáció minden ilyenteljesen megírt könyvtárral.Általános megoldás, és nem használja ki feltétlen a microcontroller képességeit, figyelmen kívül hagyja HW részeket. Az ESP32 ebből a szempontból kilóg a sorból, máshol nem nagyon van több mint 1 mag és HW megoldások egy csomó mindenbe beépítve. Nem AVR ahol örülsz h van 3 timer meg HWes PWM aztán nagyából minden kötött a pinekhez.....
Inkább a magam által írt / nevezzük a nevén: kotyvasztott kódot szeretem. Olvasni kell a példákat/ HW leírásokat és a ide leírását, esetenként a GitHubon nézelődni és tanulni a kész kódokból - Youtube is ide tartozhat..... Sokkal több mindent ki lehet így hozni az eszközeinkből.....
-
Janos250
őstag
Megvan a megoldás:
taskDISABLE_INTERRUPTS() ;
LEDek.show();
taskENABLE_INTERRUPTS() ;Így használd! Minden egyes LEDek.show(); előtt letiltjuk az interruptot. utána engedélyezzük.
Így már stabil!
Nem árt persze, egy erős táp, de mielőtt atomerőművet kapcsolsz a szalagra, javasolom, hogy ezt azért próbáld ki. Nem azért jó rövid szalagnál, mert kevesebb az áramfelvétel, hanem mert kisebb valószínűséggel szalad bele az 1 milliseces megszakításba. -
Janos250
őstag
Én nagyon szkeptikus vagyok az Adafruit könyvtár használatát illetően.
Az a kisebbik gond, amit már leírtam, hogy a számláló átfordul, van egy sokkal nagyobb:
Az 1 msec-enkénti megszakítás nincs kivédve.
Próbálgattam ezt a könyvtárat, de sehol nem akart működni, aztán megnéztem miért. Itt a képek.
Az 1 msec-enkénti megszakítás 7-8 microsec, ami pont a határon van. Elméletileg 50 microsecet írnak a határra, de én még olyan szalaggal nem találkoztam. Lehet, persze, hogy az eredeti Adafruit szalagok tudják, de ezek között a kínaiak között én még nem találtam olyat, aminél ne 7-8 microsec lenne a határ, tehát pont a kritikus "billegő" tartomány. -
Teasüti
nagyúr
Nem, ez a bekötés minden digitális szalagra vonatkozik.
Akkor egész jól ment, addig amíg be nem kavartak az objetumokkal
Eeegen, ezzel én is így vagyok.
Mai napig nem jöttem még rá a könyvtár felépítésének logikájára. Amikor azt hiszem a szintaktikát sikerült megértenem a legalapvetőbb 3 soros tutorial-lal az Arduino oldalán, akkor rájövök, hogy fogalmam sincs hogy kéne szétdarabolni a már megírt függvényeimet könyvtárakká. -
válasz
Teasüti #8225 üzenetére
Láttam ezt a cikket, de azt hittem ez csak Arduinora vonatkozik. ESP32-nél nem láttam ilyen megoldásokat.
De egy nagyobb kondit (asszem 1500-as van itthon) akkor még bekötök. Tegnap este én is erre jutottam, csak még a kivitelezést nem tudtam megcsinálni.JozsBiker: igen, próbáltam 400kHz-en is, de nincs változás.
Kb 13 éve (még a fősulin) programoztam utoljára C-ben (Akkor egész jól ment, addig amíg be nem kavartak az objetumokkal). Ismerős környezet amibe kódolni kell, de soha nem tanultam kontrollert programozni. Ezt most kb 1 hónapja találtam ki, így nekem egyelőre bőven megfelel a gyári csili-vili könyvtárak használata. Majd ha már legalább a saját kódom parancsait érteni fogom, akkor hanyagolom a gyári könyvtárakat, de egyelőre azon küzdök a hardver és a szoftver úgy működjön ahogy azt szeretném, és egy 10 soros kódot nem 2 heti guglizással kelljen összeraknom.
-
Janos250
őstag
válasz
Janos250 #8229 üzenetére
Egy mondat magyarázat hozzá:
minden használat során kiolvassuk a 32 bites számlálót, de csinálunk egy "felső", magasabb helyiértékű 32 bitet is, ami induláskor 0 lesz. Ha a kiolvasott számláló értéke kisebb, mint az előző kiolvasásnál, akkor növeljük eggyel a magasabb helyiértékű 32 bitest is, mert akkor a számláló átfordult.
Ez jól működik mindaddig, amíg legalább 17 másodpercenként használjuk. -
Janos250
őstag
válasz
Teasüti #8228 üzenetére
UNO-nál nem tudom.
ESP32-n én így oldottam meg:
A union nem tartozik a lényegéhez, de nem volt most kedvem átberhelni, csak bekopiztam.typedef union konv {
uint64_t v64bit = 0 ;
struct {
uint32_t low32bit ;
uint32_t hi32bit ;
} s32bit;
struct {
uint16_t low32bit_low16bit ;
uint16_t low32bit_hi16bit ;
uint16_t hi32bit_low16bit ;
uint16_t hi32bit_hi16bit ;
} s16bit;
uint8_t v8bit[8];
};
uint64_t getCycleCount64() {
static uint32_t CycleCount32 = 0 ;
static konv CycleCount64 ;
static uint32_t ccount;
__asm__ __volatile__("esync; rsr %0,ccount":"=a" (ccount));
CycleCount32 = ccount ;
if (CycleCount64.s32bit.low32bit > CycleCount32 ) {
CycleCount64.s32bit.hi32bit++ ;
};
CycleCount64.s32bit.low32bit = CycleCount32 ;
return CycleCount64.v64bit ;
} ; -
Janos250
őstag
Belenéztem ebbe az Adafruit könyvtárba, és elvi problémám van vele:
deklarálja a szokásos módon:static inline uint32_t _getCycleCount(void) {
uint32_t ccount;
__asm__ __volatile__("rsr %0,ccount":"=a" (ccount));
return ccount;
}Ez rendben.
A bitek kezdeténél vár annyit, amennyit kell:while(((c = _getCycleCount()) - startTime) < period); // Wait for bit start
Ugyanígy várakozással időzít a magas szintnél is. Ez így jó (lenne), erre írtam egyszer korábban, hogy a "gyalog" módszer.
Nincs RMT, ciklusban vár, de OK, mert közben úgyse csinál semmit a proci.
Csakhogy:
a uint32_t _getCycleCount(void) mint láthatjuk 32 bites, tehát nagyjából 17 másodpercenként átfordul, és olyankor borul az időzítés!
Persze van elég nagy valószínűsége, hogy nem akkor írja a szalagot, de ha igen, akkor csúszik az egész. Nem csak egy pixel, mert "pixel végjel" nincs.
Ezért kell 64 bites verziót használni (szoftveresen megoldva) -
Teasüti
nagyúr
Amit javasolnék, hogy meg kell nézni milyen utasításokkal lehet tömböt átadni az Adafruit könyvtárának.
Aztán te magad ellenőrzöd utána milyen adatok kerülnek ki a szalagra. Ergó te állítod össze egy byte tömbben az 56*3 elemet, GRB vagy RGB sorba rendezve szalagtól függően és így egyben adod át a könyvtárnak.
Mert így, hogy a könyvtár pufferét írod a setPixelColor-ral, így nem látható mi is történik egy absztrakciós réteggel lejjebb.Nekem számtalanszor ez adott lehetőséget érdemi debug-ra, ezért se használok ilyen 5 perc alatt beüzemelhető, demókkal tarkított könyvtárakat. Csak a minimalista show() funkció legyen benne, semmi más.
Annak tudjak átadni egy tömböt, amiben benne vannak a színkomponensek és ennyi.
Az animációt meg megírod magadnak. -
Teasüti
nagyúr
Az igen!!
Bátor vagy! -
Köszi a segítséget, de egyelőre feladom. Szinte biztos, hogy az egész problémám hardveres, konkrétan a tápegységre gyanakszok.
Ugyanaz a kód a 10 db-os teszt ledszalagon ami USB-ről kapja a tápot, tök másképp viselkedik, mint az 56db-os szalag, amihez külön csináltam a tápegységet. Szerzek egy másik tápot amit javasoltak az elektorniká topicba. A 10 db-os szalag jól, működik, az 56-os még akkor sem működik őgy ahogy kellene, ha csak 20 db ledet címzek vele.
#Teasüti, nincs puffer kondi. Konkrétan ezt csináltam: [link]
-
Teasüti
nagyúr
A kódod átnyálazása nélkül csupán tapasztalatból írom, hogy ha nem azt látod a szalagon amit szeretnél és a szalag nem pixelhibás, akkor az esetek 100%-ában a kódban van a hiba.
Ha az első és utolsó ledek színe nem oké, akkor az én tippem az volna, hogy a 3 színkomponens tömbbe rendezésénél lesz a gond.
A táp nem okoz semmilyen zavart a jelben, amíg nem brownout-ol a szalag vagy az mcu.
Inkább a szalag pwm vezérlése okozhat zavarokat a tápban, ha nincs pufferelve egy szép nagy kondival. -
válasz
Janos250 #8215 üzenetére
Szia!
Ezzel a megoldással, sikerült elérnem, hogy csak az 1. és a 25. led világít csak sötét kéken, a többi világoskék. Tegnap kb 4 órát üzemelt és nem vettem észre sem villogást, sem színváltozást. (Egyébként tegnap írtam a hobby elektronikás topicba és lehet tápot kell cserélnem, mert lehetséges, hogy van egy kis gerjedés az áramkörben.)
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 56 //osszes led
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_RGB + NEO_KHZ800);
void setup() {
LEDek.begin();
LEDek.show();
}
void loop() {
uint32_t szin= LEDek.Color(0,128,128);
for (i=0; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,szin);
}
LEDek.show();
delay(1000);
} -
tibi-d
tag
válasz
Teasüti #8211 üzenetére
A PIR-ek működési elvüknél fogva lassúak. Ezek hőtömeget érzékelnek. Ha egy ember elhalad előtte, az néhány másodpercig tart. Ezt folyamatosan érzi. Ha már nincs előtte a hőtömeg, kikapcsol. Lehet kapni "Függöny" lencsét az érzékelők elé, ez kb. 20-50cm-re szűkíti az érzékelési tartományt. Egy próbát megér.
-
tibi-d
tag
válasz
Teasüti #8186 üzenetére
Szervusz!
Én egy századmásodperces stoppert készítettem két fénysorompóval. Az érzékelők tükörreflexiós lézerrel működtek. Ha az egyik érzékelő lézerét megszakították, akkor elindult a stopper, ha a másik lézert szakították meg, akkor megállt. Mivel strapabíró, megbizható érzékelés kellett, a lézerek ipari kivitelüek voltak. Ebből következik, hogy a projekt legdrágább komponensei voltak. -
Janos250
őstag
Na, most megint csak a levegőbe dumálok:
Én a LEDek.show(); -t egy sorrál hátrébb tenném, tehát a kapcsos zárójel mögé.
Mert:
A for ciklus fusson végig, azaz töltsd fel a puffert teljesen, utána írja ki a dolgokat a LEDek.show();Hogy jobban megértsd mit csinálsz, javasolnék egy próbát:
a LEDek.setPixelColor(i,csunyafeher); helyére próbára:
LEDek.setPixelColor(i,LEDek.Color((255-i*4)/4,i,0)); Lusta voltam másikat csinálni.Tehát:
1. végigmegy a ciklus, azaz letárolja [LEDek.setPixelColor]
2. amikor a teljes show ki van számolva, le van tárolva, a LEDek.show(); kitölti a szalagra, és megjelennek a színek
3. vár 1000 msecet, azaz egy secet, és újra tölti.A villanás (gyanúm szerint) megszűnik, ha a LEDek.show() a cikluson kívülre kerül.
Így, hogy ugyanaz a szín lesz mindig kiírva, nem látszik a lényeg, de kipróbálhatod pl ezt:
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,csunyafeher);
} ;
LEDek.show();
delay(1000);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,kikapcsolt);
} ;
LEDek.show();
delay(1000);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,LEDek.Color((255-i*4)/4,i,0));
} ;
LEDek.show();
delay(1000); -
válasz
Janos250 #8206 üzenetére
Köszi a segítséget és a türelmet is.
Háhá, kicsit előrébb léptem. (Mondjuk azt nem teljesen értem mit csináltam, de működik.
)
Az alábbi kóddal végre minden LED egyforma színnel világít. Már csak azt kell kitalálnom, hogy a kód végén, ha letelik a delay, akkor villan/pulzál egyet a szalag. Egyáltalán miért kell a delay? Minden LED vezérlős kód amit eddig láttam a neten egy delay-jel végződik. Kell ez nekem? Ez ezért kell, hogy amikor a delay fut, akkor kisebb az áramfelvétele az ESP-nek, kvázi energiatakarékos módba kapcsol erre az időre?
#include <Adafruit_NeoPixel.h>
#define LEDPIN 13 //vezérlés
#define LEDmennyiseg 56 //osszes led
#define szakasz1kezdet 0
int i;
Adafruit_NeoPixel LEDek = Adafruit_NeoPixel(LEDmennyiseg, LEDPIN, NEO_GRB + NEO_KHZ800);
// szín beallítas: zold,kek, piros GBR
void setup() {
LEDek.begin();
LEDek.show();
}
void loop() {
uint32_t kikapcsolt = LEDek.Color(0,0,0);
uint32_t csunyafeher= LEDek.Color(153,255,255);
for (i=szakasz1kezdet; i<LEDmennyiseg+1; i++)
{
LEDek.setPixelColor(i,csunyafeher);
LEDek.show();
}
delay(1000);
} -
Janos250
őstag
Kösz!
Nem szedtem ki a dolgokat librarybe, mert ezek demonstrációs céllal készültek. Tehát nem belevittem a libraryt, hanem "nem vittem ki". Azt akarnám bemutatni, hogy mennyire egyszerűen lehet kezelni ESP32-vel a WS2812-t is. Majd ha lesz annyi időm, leírom, a még néhány hasonló megoldással együtt. Igen, az a próba van beleírva a lightShowInCore0Code()-ba a case-eknél, amit leírtál. Ez egy próba, hogy lássam, úgy működnek-e a ledek, ahogy szeretném. Látom, Nálad is úgy működnekJa, még annyit, hogy a két mag előnyét szándékoztam - többek között - bemutatni. Az egyik mag kezeli a ledeket, a másik meg kiszámítja, hogy mit kell kivinni. Így mehetnek párhuzamosan, nem zavarják egymást. Ha már van két magunk az ESP32-ben használjuk ki.
-
válasz
Janos250 #8204 üzenetére
A sketch_mar09WS2812_ESP32_RMT_status_bit_check_CH0_GPIOx_24bitFe.ino egy szép villogós fényjátékot csinál.
A sketch_mar16aWS2812DigWrite-alProba01.ino szintén működik.
Az első led villog néhányat pirosan, majd kb 20 led elkezd világítani, az első zölden majd szépen megy át kékbe, 1 led sötéten marad és ismét lesz egy kb 20 ledes zöld-kék átmentes szakasz.Egyik fájlban sem láttam külső library-t. Jól gondolom, hogy ami a libraryban benne van, azt te konkréten ezekbe a fájlokba kódoltad bele a setup részbe?
-
-
Janos250
őstag
Hoppla-hopp! Na, megvan a hiba.
A "No hardware SPI pins defined. All SPI access will default to bitbanged output"
hibajelzés, az nem a fordító hibajelzése, hanem a fastspi.h fileban van:# if !defined(FASTLED_INTERNAL) && !defined(FASTLED_ALL_PINS_HARDWARE_SPI)
# ifdef FASTLED_HAS_PRAGMA_MESSAGE
# pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"
# else
# warning "No hardware SPI pins defined. All SPI access will default to bitbanged output"
# endif
# endifEl kéne távolítani azt a fastspi.h-t!
Hú, erre a fene se gondolt.
Új hozzászólás Aktív témák
Hirdetés
- Mini-ITX
- Nintendo Switch
- Építő/felújító topik
- Autós topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Kormányok / autós szimulátorok topikja
- One otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy A55 - új év, régi stratégia
- Jelszókezelők
- További aktív témák...
- Csere-Beszámítás! Asus Tuf RTX 5070Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
- Csere-Beszámítás! PowerColor Red Devil Spectral White RX 9070XT Videokártya! Bemutató Darab!
- InFocus IN3126 Projektor
- PC tápkábelek & UTP patch kábelek
- Csere-Beszámítás! Olcsó Gamer laptop! MSI Cyborg 15 . I5 12450H / RTX 4050/ 16GB DDR5
- Asus Rog Strix G16
- BESZÁMÍTÁS! ASUS B450 R7 1700X 16GB DDR4 512GB SSD RX 580 8GB Rampage SHIVA Corsair 450W
- BESZÁMÍTÁS! Asus H110M i5 7400 8GB DDR4 250GB SSD 1TB HDD GTX 1650 4GB ZALMAN S3 TG Chieftec 600W
- Nintendo Switch bazár (Okosított Nintendo Switch konzolok, játékok, tartozékok)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged