Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   791 / 839
(#) Rober_4 hozzászólása Ápr 28, 2023 /
 
Sziasztok! Csak egy kérdés.
Van mód arra, hogy valamilyen formában Arduino Unot Pythonba programozzunk Arduino IDE, vagy Visual Studio Code-val?
(#) Elektro.on válasza Rober_4 hozzászólására (») Ápr 28, 2023 /
 
Szia!
Első találat:
https://docs.arduino.cc/learn/programming/arduino-and-python

Második találat:
https://realpython.com/arduino-python/
A hozzászólás módosítva: Ápr 28, 2023
(#) Rober_4 válasza Elektro.on hozzászólására (») Ápr 28, 2023 /
 
Igen láttam ezeket, de semmilyen infóm nem volt róla. Köszönöm kipróbálom.
De ez egyébként nem ugyanaz mint az Arduino IDE?
A hozzászólás módosítva: Ápr 28, 2023
(#) KoblogPerGyok válasza meone hozzászólására (») Ápr 28, 2023 /
 
Az utolsó három karakter a my data-ban vezérlő karakterek, nem tudom mire valók pontosan ebben a környezetben. Lásd ASCII táblázat!!! Lehet a LoRA-t vezérlik, vagy csak hiba ellenőrzésre vannak.

Azonban:
mydata[4] = (byte) (int32_lat >> 24);
mydata[5] = (byte) ((int32_lat >> 16) & 0x00FF);
mydata[6] = (byte) ((int32_lat >> 8) & 0x0000FF);
mydata[7] = (byte) (int32_lat & 0x000000FF);

Ez azért van szerintem, mert a tömböd csak 1byte méretű, ez kell a küldésnek gondolom. A mért adatod meg 32 bites szám, ami 4 byte-os. A >> jelentése bit shift. Azaz az első mydata[4] megkapja a 32 bites szám első 8 bitjét. (ezért van tolva 24-el, mert 32-24=8. Azaz 24 bittel jobbra tolja, azaz csak a felső byte marad meg. A következő már csak 16-al van tolva, azaz megkapja a második byte-ot a 32 bites számból. Az utána lévű & bitenkénti ÉS, ha jól emlékszem azt csinálja, hogy az eredeti változó értékét nem veszi vigyelembe, ahol 00 van. Azaz shiftel ÉS az első byte-ot törli, pontosabban nem veszi figyelembe. A másodiknál már 00 00-van, azaz nem veszi figyelembe a 2. byte-ot.

Lehet nem jó pontosan amit írtam, de ez kell neked:

https://cdn.arduino.cc/reference/en/language/structure/bitwise-oper...right/

Illetve ez:

https://www.arduino.cc/reference/en/language/structure/bitwise-oper...?_gl=1*yehd2b*_ga*Mjk1MTA2MTU3LjE2ODA4NTI4NzU.*_ga_NEXN8H46L5*MTY4MjY4MzUwOS4xNi4xLjE2ODI2ODQ1NjQuMC4wLjA.

Ilyesmiért van, de pontosan most én sem értem, de alinkeken végigmész, megérted szrintem.
(#) sargarigo válasza KoblogPerGyok hozzászólására (») Ápr 28, 2023 /
 
Nem kell szerénykedni, valóban ezt csinálja! Mondjuk eléggé slendrián a kinézete. Ez ugyanaz lesz, de legalább egységes.
mydata[4] = (byte) (int32_lat >> 24) &0xff;
mydata[5] = (byte) ((int32_lat >> 16) & 0xff);
mydata[6] = (byte) ((int32_lat >> 8) & 0xff);
mydata[7] = (byte) (int32_lat & 0xff);
Lényeg hogy van 32 bited, ezt kell szétdarabolni 8 bites részekre. Kezdjük az utolsó sorral: Fogjuk a legalsó nyolc bitet, a többit eldobjuk. Erre kell az &, ami bitenkénti ÉS művelet. Tehát ahol 0 ÉS 0 bit van, az 0 lesz. Ahol 0 és 1, az is nulla. Csak ott lesz 1 az eredmény, ahol mindkettő 1. Tehát a 0xff azt jelenti, hogy 00000..0011111111. Vedd észre hogy elől tetszőleges számú nulla van, csak a vége számít. A 32 bitből csak az utolsó nyolc bitet ereszti át, a többit törli. Ezt a maradék nyolc bitet castoljuk byte-ra, ami itt szerintem felesleges, de az van oda írva. Ezt a nyolc bitet tehát beletesszük a mydata[7]-be. A többi sor ugyanez, csak előbb eltoljuk 8-8 bittel. A kifutó bitek elvesznek, ez is a célunk. Helyükre belép balról jobbra felé a többi bit. Így mindig nyolcasával eltolva, és csak a legalsó nyolc bitet megtartva, szétdaraboltuk a 32 bitet.
(#) SzilCsong válasza lalca hozzászólására (») Ápr 28, 2023 /
 
Még a feltöltés csak csak, de a visszaolvasás nagyon nem akar összejönni, az a gond, hogy ami fennt van a példák között, az is úgy meg van bonyolítva...
(#) lalca válasza SzilCsong hozzászólására (») Ápr 28, 2023 /
 
Nem értem, az elején az írtad, excelben akarod kezelni,hálózat nincs,hogy akarod visszaolvasni?
(#) icserny válasza Rober_4 hozzászólására (») Ápr 29, 2023 / 1
 
Az Arduino Uno korlátozott memóriája miatt nem alkalmas Python nyelvű programozásra.
- Vagy komolyabb hardverrel (és főleg memóriával) rendelkező "Arduino kártyát" kell használni (pl. Nano 33 BLE)
- Vagy az Arduino Uno csupán egy kiszolgáló firmware-t tartalmaz (Firmata, vagy hasonló), és a tényleges irányítás az Arduinohoz kapcsolt PC-n történik. A irányító szoftver lehet Processing, Python, LabVIEW vagy amit akarsz. De ekkor PC nélül nem működik az Arduino.
(#) SzilCsong válasza lalca hozzászólására (») Ápr 29, 2023 /
 
Már megoldódott
Stringként akarom összahasonlítani, de Char-ként van és nem egyezik a két string, pedig ha kiíratom, akkor egyforma.
  1. // if(szam1.equalsIgnoreCase(szam2)==false)
  2.   van= 1;

apedig teljsesn egyforma, de mégse egyforma, próbáltam szóközöket betenni, de mi lehet a külömbség?
(#) KoblogPerGyok válasza SzilCsong hozzászólására (») Ápr 29, 2023 /
 
Mutasd a kódodat ha lehet.

A másik, hogy sok esetben nem látható karakterek is adódhatnak a szöveghez. Tipikusan a 0 ascii kódú. De ezt leellenőrrizheted wordpad-ben is, hexa- kiíratással. Vagy írasd ki serial monitorra a két string karakterkódjait. Ott látod az eltéréseket.

Bővebben: Link
(#) SzilCsong válasza KoblogPerGyok hozzászólására (») Ápr 29, 2023 /
 
  1. if(szam1.compareTo(szam2)==0)

Ezzel már működik, pedig elvileg ugyanazt kellene tudnia ezesetbe
(#) asch válasza Elektro.on hozzászólására (») Ápr 29, 2023 / 1
 
Az _eredeti_ kérdésre a válasz a két link alapján, ha el is olvassuk, hogy mit írnak: nem, nem lehet Uno-t Pythonban programozni.

A MicroPython tud mikrovezérlőn futni, de a kompatibilis eszközök listáján nincsen fenn az UNO. Gondolom azért, mert a Python dinamikus nyelv és sokkal több erőforrás kell neki, mint amit az UNO tud adni, azért nincs ez a port a támogatottak listáján.

Fórumtalálat is ezt támasztja alá: https://forum.micropython.org/viewtopic.php?t=685#p3973 "MicroPython requires minimum 128K of Flash, 8K of RAM (more RAM required for realistic usage). This leaves out "classic" Arduino boards like Uno, etc. Arduino Due is right target for a port, but as you saw, nobody yet seems to have done it yet." Magyarul az UNO-nál négyszer több programmemória és négyszer annyi RAM kellene.

A másik példában pedig az Arduino úgy van programozva, mint egy IO kártya, a főprogram pedig a PC-n fut. Az "IO kártya" szoftver a Firmata, ami viszont ugyanúgy Arduino féle C++-ban van programozva mint bármi más az UNO-n. És a PC-n fut egy Python program, amin keresztül elérjük az UNO-t mint egy IO kártyát. Ha ez a konfiguráció elegendő a céljainknak, akkor érdemes lehet kirpóbálni.

További keresések alapján a MicroPython része lett az Arduino ökoszisztémának: https://blog.arduino.cc/2022/11/10/micropython-officially-becomes-p...ystem/ Tehát van hozzá hivatalos IDE, amivel programozni lehet a kompatibilis eszközöket.


Én ha ragaszkodni akarnék a Pythonhoz, akkor valamilyen ARM alapú board felé fordulnék, amin garantáltan támogatott a MicroPython. Vagy az Arduino lapok közül választanék, vagy amihez van MicroPythonos dokumentáció, hogy hogy kell elkezdeni használni.
(#) asch válasza SzilCsong hozzászólására (») Ápr 29, 2023 /
 
Nem olyan régen volt egy hasonló téma, hogy hogyan kell logolni SD kártyára. Én azt javasolnám, hogy blokkonként (512) írd a kártyát, egy esemény egy blokk legyen (méretben pazarló, de hely van bőven, és így a legegyszerűbb megvalósítani).
A blokkokat megjelölöd, hogy melyik volt már használva, és ez alapján binárisan lehet keresni, hogy éppen hol tartasz.
Ennél gyorsabb megvalósítás nem lesz.
(#) SzilCsong hozzászólása Ápr 30, 2023 /
 
Soros monitorról kijelölt szöveget, hogy tudok vágólapra másolni?
(#) Jonni válasza SzilCsong hozzászólására (») Ápr 30, 2023 / 1
 
Ctrl+C-vel mennie kéne.
(#) SzilCsong hozzászólása Ápr 30, 2023 /
 
mfrc522 bemeneteit, hogy tudom megváltoztatni?
  1. #define SS_PIN 10
  2. #define RST_PIN 9


ez a kettő tiszta, de a többi is pont rossz helyen van
(#) SzilCsong válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
úgy néz ki, hogy ez kemény kérdés lehet, ha még az MI-nek is beletört a foga
A hozzászólás módosítva: Ápr 30, 2023
(#) Jonni válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
A többi az hogy van deklarálva?
(#) SzilCsong válasza Jonni hozzászólására (») Ápr 30, 2023 /
 
Alapértelmezett lábkiosztással van bekötve, de az nekem sajnos pont nem jó
(#) Jonni válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
  1. #define SS_PIN 10
  2. #define RST_PIN 9

ez az alapértelmezett? Csak ez a két láb van bekötve?
(#) SzilCsong válasza Jonni hozzászólására (») Ápr 30, 2023 /
 
Van még 3
  1. SDA     Digital 10
  2. SCK     Digital 13
  3. MOSI    Digital 11

nem értem, ha valaminek van 5 lába, akkor miért csak 2db-t lehet állítani?
(#) Jonni válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
Milyen alaplapot használsz?
(#) KoblogPerGyok válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
Bővebben: Link

Mert azok speciális lábak, előre be vannak drótozva. Szerintem, de tévdhetek is. A PIC-nél a remapping-al kiszervezhetem akárhova. De az Arduino-nál szerintem ezek fix lábak.
(#) Jonni válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
Idézet:
„akkor miért csak 2db-t lehet állítani”


Valószinű azért mert az SDA, SCK, MOSI fix funkciólábak amik csak ott érhetők el.
(#) SzilCsong válasza KoblogPerGyok hozzászólására (») Ápr 30, 2023 /
 
Jó, hát akkor az sd kártya lábkiosztását kell megváltoztatnom


Na most van szívás
A hozzászólás módosítva: Ápr 30, 2023
(#) KoblogPerGyok válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
?
Azt ugyan miért?
(#) SzilCsong válasza KoblogPerGyok hozzászólására (») Ápr 30, 2023 /
 
mert az SD is a SCK MISO MOIS lábakat használja, vagy van ötleted?
(#) KoblogPerGyok válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
Van.

Az SPI-nek nézz utána hogyan működik. Egy SPI buszra sok-sok eszközt pakolhatsz, neked meg kettő kell. Azaz a bedrótozott lábakon kívül plusz két digitális láb kell az arduino-n a chip szelekt lábakhoz.

Bővebben: Link
A hozzászólás módosítva: Ápr 30, 2023
(#) SzilCsong válasza KoblogPerGyok hozzászólására (») Ápr 30, 2023 /
 
Magyarul mehet mind a 4 láb egyással párhuzamosan kötve, csak a ss két külön, remélem jól értem.
(#) KoblogPerGyok válasza SzilCsong hozzászólására (») Ápr 30, 2023 /
 
Nem tudom pontosan mennyi, kicsit felejtek de 4 láb nem lesz közös szerintem. Az óra jel: SCK közös, ezzel oldják meg, hogy szinkronban legyenek. A MOSI: Mester kimenete, szolga bemenete közös, MISO :Mester bemenete, szolga kimenete közös. Ez három. A chip select meg mindegyiknél más. Az RFID-n mintha lenne egy reset láb pluszban. Szóval szerintem csak 3 lesz párhuzamosan. De még a kábelek sem lehetnek akármilyenek, és túl hosszúak sem...

Azaz neked az arduino-n 3 közös láb lesz, meg 1-1 db chip select, meg a reset láb az rfid-n. Ez 5 digitális láb, de ha az sd-n is van reset pluszban akkor 6.
A hozzászólás módosítva: Ápr 30, 2023
Következő: »»   791 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem