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   329 / 839
(#) KoblogPerGyok válasza zsolt58 hozzászólására (») Márc 18, 2017 /
 
LCD cím jó?
(#) zsolt58 válasza KoblogPerGyok hozzászólására (») Márc 18, 2017 /
 
Igen.
Megoldodot, az volt a gond, hogy ez nem volt ott:
  1. lcd.begin();

Amuyg köszi.
(#) KoblogPerGyok válasza KoblogPerGyok hozzászólására (») Márc 18, 2017 /
 
valamint a loop-ba kellene szerintem delay(1000);, hogy csak másodpercenként olvasson, na annyival, mint ami a csövön kifér.
(#) andyka válasza Bakman hozzászólására (») Márc 18, 2017 /
 
Ja, tenyleg
(#) Electricboy hozzászólása Márc 19, 2017 /
 
Sziasztok!
Kinek van tapasztalata rotary encoderek terén?
Most szembesültem vele hogy, van teljes ciklusos, félciklusos és negyed ciklusos. Kép
Amiket találtam library-k, példaprogramok, mind a teljes ciklusost használják. Van olyan encoderem ami teljes ciklusos, de nincs rajta nyomógomb, ezért rendeltem nyomógombost viszont az meg fél ciklusos.
Az egész problémám abból adódik hogy míg a teljes ciklusossal egy egységet tekerek (kattanást) a programban tökéletesen egyel nő az a változó. Viszont a fél ciklusossal 2 egységet kell tekernem hogy 1el nőjön a változó. Van erre valami megoldás? Vagy másik fajta enc kell?
A kép forrása és az angol nyelvű leírás itt található:
Encoderről
Ilyen encodert vettem: Bővebben: Link
(#) kapu48 válasza Electricboy hozzászólására (») Márc 19, 2017 /
 
Van a linkelt példaprogramban Quadrature.cpp létrehozva 2 tömb:


  1. // Fél lépések periodusa
  2. const int _half [4][4] = {
  3.     { 0, -1, 1, 0 },            //  00 -> 10 is CW
  4.     { 1, 0, 0, -1 },            //  01 -> 00 is CW
  5.     { -1, 0, 0, 1 },            //  10 -> 11 is CW
  6.     { 0, 1, -1, 0 }             //  11 -> 01 is CW
  7. };
  8. // Egész lépések periodusa
  9. const int _full [4][4] = {
  10.     { 0, 0, 0, 0 },             //  00 -> 10 is silent CW
  11.     { 1, 0, 0, -1 },            //  01 -> 00 is CW
  12.     { -1, 0, 0, 1 },            //  10 -> 11 is CW
  13.     { 0, 0, 0, 0 }              //  11 -> 01 is silent CW
  14. };

És van a megszakítás rutin, amely jelenleg az egész lépéses tömböt használja, javítod a jelzett helyen:
  1. inline void Quadrature::isr(void) {
  2.     int q;
  3.  
  4.     for (q = 0; q < DIGITAL_PINS; ++ q) {
  5.         Quadrature *quad;
  6.  
  7.         if (_registry[q]) {
  8.             quad = _registry[q];
  9.             int quadbits;
  10.             quadbits = quad->_readpins();
  11.  
  12.             if (quadbits != quad->_previous) {
  13.                    int position = quad->_position +
  14.                          
  15.                   // Itt javítod, hogy a fél lépéses tömböt használja:  
  16.       //_full[quad->_previous][quadbits];
  17.                   _half[quad->_previous][quadbits];
  18.  
  19.                 //  limit to minimum if assigned
  20.                 position = quad->_usingmin
  21.                         ? max(quad->_min, position)
  22.                         : position;
  23.  
  24.                 //  limit to maximum if assigned
  25.                 quad->_position = quad->_usingmax
  26.                         ? min(quad->_max, position)
  27.                         : position;
  28.  
  29.                 quad->_previous = quadbits;
  30.             }
  31.         }
  32. }
(#) joco3910 hozzászólása Márc 19, 2017 /
 
Sziasztok !
Valakinek lenne ötlete,hogy egy Arduino Nano-nál,hogy tudnám kiváltani a rotary encodert sima nyomógombos le-fel állapot váltásúra.Sajnos nincs ino fájl,csak egy sima Hex. Előre is köszönöm a válaszokat
(#) Electricboy válasza kapu48 hozzászólására (») Márc 19, 2017 /
 
Köszönöm a választ!
Sajnos nem tudtam megoldani azzal a libbel mert majdnem 10éves és nem volt kompatibilis. (az oldalt csak szemléltetésnek linkeltem én más libet használtam)
Végül a megoldást itt találtam meg:Bővebben: Link

joco3910 HEX-ből már nem fogod tudni.
(#) szeg76 válasza joco3910 hozzászólására (») Márc 19, 2017 /
 
Pl egy másik Nano segítségével előállítod a rotary encoder kétfázisú jelét.

Vagy kétirányú számlálót léptetsz fel/le a két nyomógombbal, amely kimenetének alsó két bitjét binárisból Gray-kóddá alakítod, és ezeket kapja az arduinós áramkör tekerő helyett.

Esetleg egymást indító monostabil multivibrátorokkal hozod létre a jeleket.
(#) tbarath válasza joco3910 hozzászólására (») Márc 19, 2017 /
 
Az avr-objdump elvileg képes képes egy assembly kódot generálni, de ez nagyon messze lesz a C kódtól.
(#) atus1981 hozzászólása Márc 21, 2017 /
 
Sziasztok! Sajnos a kinőtte a programom az Atmega328 által kínált méretet, így vettem egy nucleof091rc panelt, rajt az st-link illesztővel. Mbed dolgokat tudok is rá tölteni, de engem jobban érdekel az arduino. Letöltöttem egy zip fájlt és kicsomagoltam az adott helyre, az arduino 1.6.11-ben megjelentek a board listában bizonyos nucleo és stm32 panelek, de nincs köztük az f091rc és le sem fordul az arduino progi, hiába állítom bármelyik boardra, ellenőrzés felénél hiba.
Valaki tudna segíteni, hogy hogyan tehetem arduino-kompatibiléssé?
Köszönöm a segítséget.
(#) vargham válasza atus1981 hozzászólására (») Márc 21, 2017 / 1
 
Miért pont nucleof091?

Ha mindenképpen Arduino környezetet akarsz, akkor vegyél egy STM32F103 fejlesztőkészletet, ahhoz van a legjobb Arduino támogatás.

Például ezt:
http://www.st.com/en/evaluation-tools/nucleo-f103rb.html

Vagy olcsóbban:
https://www.aliexpress.com/item/1pcs-STM32F103C8T6-ARM-STM32-Minimu...4.html
https://www.aliexpress.com/item/1PC-mini-ST-LINK-V2-ST-LINK-STLINK-...8.html

Utána menj el ide:
http://www.stm32duino.com/
(#) kapu48 válasza atus1981 hozzászólására (») Márc 21, 2017 / 1
 
Talán indulj a kályhától:
Welcome to the stm32duino wiki!

Boards Manager
A hozzászólás módosítva: Márc 21, 2017
(#) Kovidivi válasza atus1981 hozzászólására (») Márc 21, 2017 / 1
 
Vagy ottnaz Atmega128, a rengeteg plusz lábával, és a 128Kb program memóriájával. Szinte majdnem ugyanaz, mint az Atmega328, aki azt tudja programozni, a 128-cal is el fog boldogulni! Talán még Arduino lib is van hozzá.
(#) atus1981 válasza vargham hozzászólására (») Márc 21, 2017 /
 
Azért, mert ezt tudtam itt, hamar venni.
Most ezt ássam el? Valamit csak lehet kezdeni vele.
(#) vargham válasza atus1981 hozzászólására (») Márc 21, 2017 /
 
"Valamit csak lehet kezdeni vele"
Lehet. Van Arduino támogatása is. De az f103-nak jobb. Tanulni, és alakítgani mindenképpen kell, mert nem minden libet portoltak ARM-ra. Ha nem akarsz ezzel foglalkozni, de az UNO-t már jól ismered, akkor valóban egyszerűbb lenne az AVR vonalon maradva választani nagyobb MCU-t.
(#) atus1981 válasza kapu48 hozzászólására (») Márc 21, 2017 /
 
Köszi, lesem. Erre miért nem találtam rá tegnap éjjel?!
(#) Gabó hozzászólása Márc 21, 2017 /
 
Van nekem itthon egy xbox360 rf modulom + kontroller.
A modult pcvel össze tudtam kötni, és használható is, de nem tudom párosítani a kontrollerrel, csak ha a modult xbox 360ba indítom és úgy párosítom. De mivel azért az xboxot is szeretném vagy szeretnénk használni, ugye a kontrollert vissza kell párosítani a box eredeti vevőjéhez.
Neten kutakodtam, és találtam ezt a videót: Bővebben: Link
Itt egy arduino unoval meg is csinálja, és elvileg megy is a párosítás. Nekem megám van, de valahogy nem tudom működésre bírni a megával. Lábakat átírtam próbálkoztam más lábakkal is, de semmi. Még a ledek se villannak fel.
A kód és leírás itt található: Bővebben: Link
Ugye USBvel összekötve a pc-n működik a kontroller, de csak a fent leírt módszerrel párosítható.
Mit néztem el, hogy nem működik, vagy megával nem lehet megoldani a leírtakat csak unoval?
(#) atus1981 válasza vargham hozzászólására (») Márc 21, 2017 /
 
Szóba került egyszer egy inteligens kijelző az obd olvasós projektemhez.
Nézegettem lcd sebesség teszteket stm32 és atmega processzorokkal.
Eléggé gyorsnak találtam az stm32-t és ezen ugye rajta vannak az arduino shieldhez a csatik is. Szóval ezzel kellene megoldanom a dolgot.
(#) atus1981 válasza Kovidivi hozzászólására (») Márc 21, 2017 /
 
Ehhez készült board is?
(#) Kovidivi válasza atus1981 hozzászólására (») Márc 21, 2017 / 1
 
Azt hiszem igen, de nem elterjedt. Nincs nagy támogatottsága, de tényleg óriási a hasonlóság az Atmega328-hoz (csak jobb ésnnagyobb), így aki tudja használni a 328-at, könnyen átszokik 128-ra. Biztosan lehet programozni Arduino alatt is, találtam régebben hozzá még bootloadert is, de nem foglalkoztam vele, AtmelStudio-val használtam.
(#) de minek hozzászólása Márc 21, 2017 /
 
Szervusztok !

Nemrég elkezdtem az Arduino Pro Micro -val foglalkozni, és rögtön egy olyan hibába ütköztem, amit eddig nem sikerült megoldanom. A cél az lenne, hogy egy ws2812b ledsort vezéreljen, és csinálja is, amit szeretnék, ha bekapcsolás után resetelem. Viszont reset előtt nem hajlandó semmire sem. [Azt már megtaláltam neten, hogy feltölteni is úgy kell rá sketch -et, hogy közvetlen feltöltés előtt is resetelni kell, ami elég fura, de ez most mellékes.] Szóval van valakinek ötlete, tapasztala, megoldása erre ?

Előre is köszönöm !
(#) tbarath válasza Gabó hozzászólására (») Márc 21, 2017 /
 
A "kód és leírás itt található" linken elég sok komment van, azokat végignézted? Mert van aki tápfeszre panaszkodik, a másik felhúzó ellenállást emleget, stb.
Lehet meg van oldva ott a problémád. Illetve ha gondolod egy uno vagy nano klónt tudok kölcsönadni ha értejösz (Bp.), hátha azzal megy, de szerintem nem az a probléma.
(#) Gabó válasza tbarath hozzászólására (») Márc 21, 2017 /
 
Áh köszi a felhúzó ellenállás ötlete, ki is ment a fejemből. Ez részben segített is. ugyanis a ledek működnek mint a videóba, csak a párosítás nem akar menni. Ha megnyomom az RFen a középső gombot, keres, megnyomom a kontrolleren is, az is el kezd keresni, látszólag "egymásra is találnak" de nem párosít. Felhúzó ellenállásnak mekkora az ajánlott, mert 5,2K val próbáltam. Ill lehet a gombra is kellene felhúzó ellenállás?
Nanom nekem is van, azzal is ki tudom próbálni, de a mega szabad,azért esett elsőnek erre a választás, köszi a kölcsön ajánlatot
(#) Gabó válasza Gabó hozzászólására (») Márc 21, 2017 /
 
Sajnos nem tudom szerkeszteni, ezért kiegészítő.
Elnéztem a progit, (tegnap módosítottam benne, csak ki is ment a fejemből, ezért nem ment a sync)
(#) Nanok hozzászólása Márc 22, 2017 /
 
Sziasztok!

LCD kijelzőt szeretnék vásárolni az UNO R3-asomhoz. Jelenleg egy multifunkcionális mérőműszer van ráprogramozva.
Többféle kijelzőt látok hozzá. Van LCD 1602, valamelyikhez van SDA/SCL illesztő is. Illetve van Nokia 5110-hez való kijelző is.
Melyikkel járok jobban, melyiket hogy tudom illeszteni? Még nem vagyok túl jártas a programozásában.
(#) tbarath válasza Nanok hozzászólására (») Márc 22, 2017 / 2
 
LCD1602 önmagában digit lábakat használna, legalább 4et (+ másik 4 láb is kell tápra/földre)
Van hozzá I2C (vagy IIC-nek is nevezik) modul, ezzel i2c buszon keresztül tudod kezelni, ez az általad említett SDA/SCL ér és 2 táp. Lehet kapni 1602 kijelzőre szerelve is és külön is, ez esetben neked kell ráforrasztanod vagy összekábelezned. Az 5110 kijelzője egy harmadik állat, az ha jól tudom 84x48 képpont, viszont ha jól tudom 3,3 Voltos, szóval az 5 Voltos arduinoval egy szintillesztőn keresztül javasolt bekötni.
Szóval inkább 1602, az I2C nélküli olcsóbb, de ha kevés szabad digit lábad van akkor inkább I2C

A programozása mindkettőnek elég egyszerű, rengeteg példaprogramot találsz rá, ez itt I2C-s 1602-re van, egy létező kódomból faragtam, remélem nincs benne hiba:
  1. #include <LiquidCrystal_I2C.h>
  2. LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Set the LCD I2C address
  3.  
  4. void setup() {
  5.   lcd.begin(16,2);   // initialize the lcd for 16 chars 2 lines, turn on backlight
  6.   for(int i = 0; i< 3; i++)
  7.   {
  8.     lcd.backlight();
  9.     delay(250);
  10.     lcd.noBacklight();
  11.     delay(250);
  12.   }
  13.   lcd.backlight(); // finish with backlight on  
  14.   lcd.clear();
  15.   lcd.setCursor(0,0);
  16.   lcd.print("1602");
  17.   lcd.setCursor(0,1);
  18.   lcd.print("setup()");
  19.   delay(1500);
  20.   lcd.clear();
  21. }
  22.  
  23. void loop() {
  24.   lcd.clear();
  25.   lcd.setCursor(0,0);
  26.   lcd.print("loop()");
  27.   lcd.setCursor(0,1);
  28.   lcd.print("1602");
  29.   delay(1000);
  30.   lcd.clear();
  31.   lcd.setCursor(0,0);
  32.   lcd.print("1602");
  33.   lcd.setCursor(0,1);
  34.   lcd.print("loop()");
  35.   delay(1000);
  36. }
(#) Robin2 válasza Nanok hozzászólására (») Márc 22, 2017 /
 
A társoldalról nem javasolt venni nokia kijelzőt, két darabot is vettem, mindkettő karcos a gyári védőfólia alatt. Sima 1602-t vegyél szerintem, azzal a legkönnyebb boldogulnod, ha van elég szabad lábad az Arduinon.
(#) andyka hozzászólása Márc 23, 2017 /
 
Sziasztok
Talaltam egy lehetseges I2C szintillesztest, mit szoltok hozza ? Mukodne ? Nem karositja a 3.3V-os alaplapot ?
(#) vargham válasza andyka hozzászólására (») Márc 23, 2017 /
 
Ez a kapcsolás a szabvány megalkotójának (Philips) ajánlása. Lásd itt: http://www.nxp.com/documents/application_note/AN10441.pdf
Következő: »»   329 / 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