- iPhone topik
- Vodafone mobilszolgáltatások
- Telekom mobilszolgáltatások
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Eleglide C1 - a középérték
- Milyen okostelefont vegyek?
- Android szakmai topik
- DIGI Mobil
- Android alkalmazások - szoftver kibeszélő topik
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
Hirdetés
-
AMD Radeon undervolt/overclock
lo Minden egy hideg, téli estén kezdődött, mikor rájöttem, hogy már kicsit kevés az RTX2060...
-
Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
ph Megkezdődött az NPU-k elleni hadjárat, de egy fontos részletet nem említ a cég.
-
Premier előzetest kapott a V Rising
gp Napokon belül befut a teljes PC-s kiadás, az év során pedig megkapjuk a PlayStation 5 változatot.
-
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
-
quigon
tag
Sziasztok!
Segítséget szeretnék kérni. Megcsináltam ezt az órát [link] ami tökéletesen működik. A baj, hogy code-ban nincs benne az európai időzóna és emiatt visszaáll bizonyos időközönként pl a Hawaii időre. Az alkotó küldött nekem javítást [link] , de én nem értek a programozáshoz így nem tudok mit kezdeni vele. Gondolom be kellene az eredeti kódba illeszteni. Megpróbáltan de az ellenőrzés hibával végződik.
Esetleg valaki megoldaná ezt a problémát nekem? A feltöltése már nem okoz gondot.Előre is köszönöm.
-
quigon
tag
Akkor ez csak afféle magyarázat, hogy mit javított?
-
nagyúr
válasz quigon #17304 üzenetére
Igen! Itt lehet követni a változtatásokat.
Azért előtte, biztos ami biztos, mentsd el a régi kódot, mert, ahogy írta, már nincs meg neki a hardver, nem tudta kipróbálni, hogy megfelelően működik-e a módosított kód, így ha vmi gond van, vissza tudsz térni az előző verzióhoz.[ Szerkesztve ]
-
quigon
tag
A kód feltöltési ideje tavaly december, viszont a javítás tegnapi.
Letöltöttem de ezeket a sorokat nem láttam sehol.Átnéztem mind a kettő kódot és az új meg a régi között 12 sor eltérés van.
Itt a javításban lényegesen több. Nem annyival kellene a kódban változni?[ Szerkesztve ]
-
quigon
tag
Ezek szerint nem.
-
quigon
tag
Megvan és ebben már benne van minden időzóna. HTML file-t miként tudok az esp-re feltölteni?
Talán rájöttem.
[ Szerkesztve ]
-
leveesoft
friss újonc
Sziasztok,
Van valakinek tapasztalata NRF24L01-es kommunikációval?
Átolvastam rengeteg leírást, azt gondolom, hogy értem, de mégsem működik a teszt program.
Mi lehet a hiba? Illetve hogy lehetne kideríteni, hol a probléma?
Adó:#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00009";
void setup() {
radio.begin();
Serial.begin(9600);
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
}
void loop() {
radio.stopListening();
const char text[] = "Your Button State is HIGH";
radio.write(&text, sizeof(text));
Serial.println(text);
delay(20);
}Vevő:
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
RF24 radio(9, 10); // CE, CSN
const byte address[6] = "00009";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(1, address);
//radio.setPALevel(RF24_PA_MIN);
}
void loop() {
radio.startListening();
if (radio.available())
{
while (radio.available())
{
char text[32] = "";
radio.read(&text, sizeof(text));
}
}else
{
Serial.println("Not Receiving !!!");
}
}Köszönöm a segítséget!
-
tonermagus
aktív tag
Sziasztok!
Tudtok valami jó példát feszültség mérő áramkörre?
Arduino-val szeretnék ~7-20V-ig DC feszt mérni analóg porton.Bolond biztosat szeretnék, a delikvens két vezetéket kap (piros-fekete) és ha fordítva dugja be akkor se süljön meg, illetve ha kikapcsolja az Arduinot attól még a feszmérő áramkör része él, az analóg portra feszültség esik, ez is okozhat gondot. Ezt eddig feszültség osztó ellenállásokkal és graetz híddal oldottam meg. De hátha van egyszerűbb, pontosabb megoldás...
Pl. a graetz híddal az volt a gond, hogy ha a graetz hid GND-jét és az Analóg portra vezetett VCC-t mértem össze akkor pl. 2V-ot mértem, ha az arduino GND-jét mértem az analóg porttal akkor meg 2,4V-ot mértem. (a feszmérő áramkör és az arduino áramköre nem volt közös GND-re kötve)
[ Szerkesztve ]
-
őstag
válasz tonermagus #17322 üzenetére
Mindenképpen csak passzív elemekkel szeretnéd kiegészíteni az Arduinot?
Nekem erre a felhasználásra első körben egy SPI-on kommunikáló izolált IC jut eszembe. Ott nem lesz gond a visszatáplálással, és talán olyat is találni, aminek van polaritásfüggetlen verziója.
Mások számára a kondi fáradós, nekem farad-os...
-
tonermagus
aktív tag
válasz razorbenke92 #17323 üzenetére
Maradnék a passzív alkatrészeknél.
Azokban valahogy jobban bízom -
And
veterán
válasz tonermagus #17322 üzenetére
Itt egy lehetséges és igen általános védőáramkör: [link]. A graetz híd felesleges (meghamisítaná a mérést), viszont az ellenállásosztó a mérendő tartomány miatt nyilván nem hagyható el a linkelt megoldás bemenetéről. Arra ügyelj, hogy a kontroller analóg bemenete felől nézve a forrásimpedancia - az Rs ellenállás plusz a rajzon nem szereplő feszültségosztó tagjainak párhuzamos eredője - lehetőleg ne legyen nagyobb 10 kΩ-nál.
-
nagyúr
válasz tonermagus #17322 üzenetére
"a feszmérő áramkör és az arduino áramköre nem volt közös GND-re kötve"
Azt meg hogy? Úgy nem is működhetne az egész.
-
Tomika86
senior tag
Sziasztok!
Ezt az üzenetet kapom program feltöltésnél, egy új panelen.
Mit nézzek meg?
GPIO12 kimenetnek van használva, egy optocsatolót hajt meg.esptool.py v3.1
Serial port COM4
Connecting........___
Chip is ESP32-D0WD (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 30:ae:a4:d4:83:18
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Warning: Could not auto-detect Flash size (FlashID=0xffffff, SizeID=0xff), defaulting to 4MB
Flash will be erased from 0x00001000 to 0x00005fff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x0000e000 to 0x0000ffff...
Flash will be erased from 0x00010000 to 0x000defff...
Compressed 17104 bytes to 11191...
A fatal error occurred: Timed out waiting for packet content
*** [upload] Error 2Köszönöm!
-
Tankblock
aktív tag
válasz Tomika86 #17329 üzenetére
Szia
nézd meg hogyan is használod, ahogy nézem pont belenyúltál abba a 2 lábba amik a boot meghatározzák:
GPIO2 must also be either left unconnected/floating, or driven Low, in order to enter the serial bootloader.
GPIO12:
If driven High, flash voltage (VDD_SDIO) is 1.8V not default 3.3V. Has internal pull-down, so unconnected = Low = 3.3V. May prevent flashing and/or booting if 3.3V flash is used and this pin is pulled high, causing the flash to brownout. See the datasheet for more details.Mi van akkor ha hanyagolod ezen lábakat?
Release the Beast....
-
Tomika86
senior tag
válasz Tankblock #17330 üzenetére
Szia
GPIO2 most lehúzva földre működik (feltöltés is)
GPIO15 szabad, ahogy néztem az se a legjobb választás valamelyik helyett
GPIO12 pedig 1kohm-al sorban az optocsatoló diódája.GPIO12 okozhat gondot így? Kimenetet kapcsolok vele optoval
GPIO2 maradhat így?Sajnos minden láb el van használva
De eddig működtek ezek, csak most a 2es miatt nem ment[ Szerkesztve ]
-
Tomika86
senior tag
válasz Tankblock #17332 üzenetére
Igen, expaner kellett volna, de ezért nem tervezném újra a panelt, ha maradhat. Ez még mindig az autós műszerfal 😀
Van sd kártya spi buszon, van i2c, uart2, 3 kimenet, 6 kimenet, can transreceiver is 2 láb.Gpio2 lehúzva tökéletesen működik eddig, gpio12 is működik.
Csak az érdekelne, hogy hosszú távon jó e ez így?
Köszönöm -
nagyúr
válasz Tomika86 #17333 üzenetére
Persze, hogy maradhat, csak figyelj, hogy azokat a lábakat jó irányba húzd. Kimeneteket úgy kell tervezni, hogy figyelembe veszed a default állapotát, ha kell, invertálod. Ha csak feltöltésnél okoz gondot, az a könnyebb eset, mert ha egyszer beépítésre kerül, gondolom már nem nagyon fogsz rá feltölteni.
-
-
Tankblock
aktív tag
válasz Tomika86 #17338 üzenetére
Ha olyan típusút választasz akkor igen.
Amit néztél annak is több verziója van, oylat nézz ami a 1.8V - 5V működik.
Csak Pull-up lehet húzni, ha pull down kell azt kívülről szükséges megoldani.
Van benne interrupt ami hasznos.Sima ledek, optók, stb működtetésére simán. Ha gyorsan kell akkor csakis SPI al.
Release the Beast....
-
Tomika86
senior tag
válasz Tankblock #17339 üzenetére
[link]
Megszakítás 2 bemenete marad az esp32őn.
Csak a többi menne erre a bővítőre.
Mit jelent a gyorsan kell?
Bemenetek:
Számláló nullázás, olajnyomásgomba figyelés, fékfolyadék kifogyott, 2 tartalék.
Kimenetek:
Hűtőventilátor
Izzítás
VilágításEgyiknek sem kell megszakítással kapcsolni.
Az aggaszt, hogy az i2c vonalon van több dolog, ezek nem fognak belassulni vagy bármi romlás lesz?
Pl analóg kiolvasás Ads7828 icvel ciklikusan történik. Eeprom olvasás/írás
Oled kijelző ciklikusan van írva folyamatosan
Giroszkóp is folyamatosan van olvasva
Busz 400khzre van állítva, csak 2,7kohm van az sda és scl buszon.
Eddig működik minden -
Tomika86
senior tag
válasz Tankblock #17341 üzenetére
Írtam, hogy van egy oled kijelző, ami a panelból ki van vezetékkel vezetve kb 60cmre a fő paneltől.
Arra gondolok akkor ezt külön venném a többitől, talán ez foglalja le leginkább a buszt, az u8g2 könyvtárral és kiiratásokkal.A többi pedig maradna a mostani buszon, közel az esp32höz. Eeprom, io bővítő, adc, giroszkóp.
Jól gondolom?
Köszi -
Tankblock
aktív tag
-
dzz
aktív tag
Sziasztok!
Beszereztem egy LilyGO-T-SIM7000G panelt, de eddig még nem volt esp a közelemben (illetve igen, de nem programoztam). Szeretném a lehetőségeit kihasználni, pozíciót lte hálózaton szerverre feltölteni, esetleg telemetriát a saját állapotáról vagy kap egy gyorsulásmérőt, de ez még képlékeny. Nem vagyok nagy programozó, néha kisebb dolgokat csinálok arduinoval és linux alatt scriptelek, néha egy kis C, de nem hivatásom a programozás.
A kérdésem az lenne, hogy mi az amivel érdemes egy esp-32-n ismerkedni? Arduino keretrendszeren gondolom menni fog, de mi van a freertos-el meg a micropythonnal? Mennyire használhatóak ezek rajta? Érdemes ezeken a vonalakon keresgélni? Esetleg van még valami érdekesnek tűnő OS szerű projekt amit érdemes megnézni? Teljesen hobbyprojekt lesz, az idő mellékes tényező, szívesen ismerkedem új lehetőségekkel és itt inkább az esp lehetőségei érdekelnek, nem is annyira a pontos board lehetőségei.[ Szerkesztve ]
ERROR: '--failure' is not an option. Aborting... ---goo.gl/BFtD86
-
Janos250
őstag
Erre mindenki mást javasol.
Az én véleményem:
Elsődlegesen a WiFi használata. Szerverre van többféle verzió a neten, mind kicsit más.
Én nem azokat használom, hanem az alapot, tömören a lényege:WiFiServer server(80);
WiFiClient client ;A loopban pedig a lényeg:
client = server.available();
if (client.available()) { // if there's bytes to read from the client,
char c = client.read();Természetesen még jönnek hozzá a sallangok, például, hogy vége akkor van, ha két cr/lf jön egymásután.
client.println(protocolHeader);
client.println(httpHeader);
client.print(body01);A végén:
client.stop();
Ezt így alapszinten használom. Ha valamelyik kész httpserver kezelőt használod, az egyszerűbb, de nekem ez kényelmes, és rugalmas.
Olyasmi, mint a PHP, hogy írod azt, amit a WEB lapodra akarsz tenni.Aztán ott van az OS, a freeRTOS, amire sokan mondják, hogy igazából nem is OS, mert pl. nincsenek benne userek.
Ezzel az esetek zömében nem kell foglalkozni, nem kell, hogy a user lássa.
Ha párhuzamosan akarsz taskokat futtatni, akkor vagy a szabványos C++ módon teszed, és az OS eldönti, melyik magra teszi:thread szal1(helloWorld1);
thread szal2(helloWorld2);
szal1.join();
szal2.join();A join akkor kell, ha be kell várni az adott szál befejezését,
vagy kreálsz neki külön taskot, például:
xTaskCreate(
readTempr,
"homersekletOlvas",
5000,
NULL,
6,
&homeroTaskHandle
);Én ezzel például olvasom a hőmérsékleteket mindentől függetlenül a "readTempr" függvénnyel, és belerakom globális változókba, ezért nincs szükség paraméterekre, azaz NULL nullpointer. Itt szokott egy kis gubanc lenni annak, aki először használja, mert ide a paraméterekre (pl töm, struktúra) mutató pointert írunk, de az xTaskCreate void típusú pointert kér, ezért kényszerítéssel voidosítani kell, majd a függvényben ismét kényszeríteni az adott típusra. Ha el akarod dönteni, hogy melyik magra tedd, akkor azt is megadhatod. Én például szeretem az ilyen mellékes dolgokat a 0-ás magra tenni, mert ott fut magas prioritással a WiFi kezelés, az üresjáratokban pedig az én "mellékes" függvényeim, egymástól függetlenül. Például amit az előbb írtam, abban végtelen ciklus van. Beolvassa a hőmérsékleteket, beleteszi globális változóba, vár egy időt, majd újra olvas. Ilyen esetben a wait az nem tényleges várakozás, hanem a többi tasknak adja át a vezérlést. Mivel a hőmérsékletek byte-ban vannak, nem kell semmiféle zárás, hogy ne akkor olvasson az egyik, amikor már az adatok felét átírta a másik, és akkor hülyeséget kapjon, de ha több byte-os az adat, akkor kizárás szükséges..
Aztán célszerű a rengeteg hardver perifériát kipróbálni.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
dzz
aktív tag
válasz Janos250 #17346 üzenetére
Az elejét nem igazán értettem, mármint a WiFi részt.
A micropythont kipróbáltam közben, valamiért nem érzem, hogy átütő lenne, csak az egyik magon fut - legalábbis eddig amit hirtelen elolvastam róla. Nem rossz, hogy azonnal ki lehet próbálni a python kódot, de hogy a multitask hogyan használható az rövid olvasás után nem egészen tiszta számomra.
A FreeRTOS -ha jól értelmezem- mindenképpen fut és erre kerül a program ami vagy használja a képességeit vagy nem, attól függően, hogy a megírt program mit használ. Remélem jól tévedek (Ez az OS nem OS dolog fura, a mai világ szülötteinek valódi fogalma sincs az OS definíciójáról. Az OS feladatait fel se tudja sorolni az aki a grafikus-csilli-villi rendszerekbe született . Az OS nem attól OS, hogy felhasználókezelés van benne, hanem ellátja az operációs rendszerfeladatokat, hogy ne kelljen még azt is megírni -> ergo, ezen nem akadok fenn ). Van esetleg valahol valami könnyen emészthető gyorstalpaló a FreeRTOS-hez?ERROR: '--failure' is not an option. Aborting... ---goo.gl/BFtD86
-
Janos250
őstag
A freeRTOS mindenképpen fut, és nem is kell róla tudomást venni, ha nem akarod, pont ugyanúgy használhatod, mint ha mondjuk UNO lenne.
Ugyanúgy van a main.cpp lényege (kikeresheted):setup();
for(;;) {
A mindenféléket beállítja neked, nem kell vele bogarászni, el is felejtheted, hogy freeRTOS alatt fut, ha nem akarod a két magot kihasználni.Nem nagyon van a freeRTOS-hoz használati utasítás a espressifen kívül
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/freertos.html
de nem is igen kell .
Igazából az ember a xTaskCreatePinnedToCore API-t használja, ha meg akarja adni, hogy melyik magon fusson, vagy ha ráhagyod az oprendszerre, akkor meg az xTaskCreate.
Ha nem akarod, nem is látod ezeket a függvényeket, ő automatikusan az 1-es magon futtatja, ha nem beszélsz bele, hanem mondjuk egy UNO programot futtatsz.
Esetleg a vTaskDelete, vTaskDelay ( de a delay is erre fordítódik) , az xTaskDelayUntil, uxTaskPriorityGet, eTaskGetState, vTaskGetInfo, vTaskPrioritySet. Ezek nevei magukért beszélnek, a leírásuk , és a paramétereik a linken ott vannak.
Én akartam még használni a vTaskList-et, de az meg az Arduinora fordított verzióban nem működik, mert az meg csak akkor működik, ha valami debug módot is beállítottak volna, azt meg utólag - állítólag - nem lehet.
A WiFi-re majd írok konkrét példákat, és felteszem valahova.
Többféle módon használhatod.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
Új hozzászólás Aktív témák
- Milyen TV-t vegyek?
- Gördeszka topic
- Az NVIDIA szerint a partnereik prémium AI PC-ket kínálnak
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Xbox Series X|S
- Anglia - élmények, tapasztalatok
- Konzolokról KULTURÁLT módon
- BestBuy ruhás topik
- Milyen billentyűzetet vegyek?
- 3D nyomtatás
- További aktív témák...