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   518 / 853
(#) tbarath válasza Kovidivi hozzászólására (») Márc 28, 2019 /
 
Én a tiny-hoz egy olyan programozót csináltam, hogy dip switch-chel tudom kapcsolni, hogy a foglalatba tett tiny épp a programozón lóg, vagy használhatók a kivezetett pin-ek. Egy fokkal kényelmesebb, mint az IC-t dugdosni. De a tiny az apró, egyszerű dolgokra való, ahol nem kell agyonprogramozni. Pl. most nekem arra kell, hogy 2 ADC-vel figyelek két jelszintet, és ha kilépnek egy tartományból akkor egy digit kimenetet (alarm) magasra húzok, és egész addig ott tartom, amíg egy gomb megnyomásával (clear alarm) nem jelzi egy ember, hogy megtette amit kellett. Utána újra figyelem az ADC-ket. Ez azért nem egy sárkányos dolog, és erre tényleg fölösleges bármi nagyobb.

Egyébként én is a nano mellett vagyok, csak ez ide overkill, pláne hogy 20 darabnál ez a 3-400 Ft már 6-8 ezer Ft-ot jelent, ami már egy látható összeg.
Szerintem egyébként a 328 nagyon gyenge az USB-hez, nem véletlen használtak ehhez először FTDI/csájníz klón célchip-eket, később pedig egy ATmega32U4-et csak erre. Az USB egy kifejezetten macerás protokoll.
(#) Lac364 válasza tbarath hozzászólására (») Márc 28, 2019 /
 
Elnézést hogy bele szólok az beszélgetésbe, de nem egy ilyet kerestek tiny programozásra. Gondolom így az Arduino programjával az Eszközök / Programozó / USBtinyISP kiválasztva programozható a Tiny XX szériája . Vagy tévedek? Bár az nekem sem világos hogy a tiny-t hova kell tenni Bővebben: Link
A hozzászólás módosítva: Márc 28, 2019
(#) tbarath válasza Lac364 hozzászólására (») Márc 28, 2019 /
 
Köszi, de én csináltam magamnak programozót hozzá, szóval ezért nem keresek. Kovidivi pedig nem szimpatizál a tiny-val, Ő azért nem keres.
Magát az eszközt amúgy nem ismerem.
(#) Lac364 válasza tbarath hozzászólására (») Márc 28, 2019 /
 
Én sem , csak gondoltam rákérdezek valóban így kel a Tiny-t programozni ezzel a kütyüvel.
(#) Macsek71 hozzászólása Márc 29, 2019 /
 
Sziasztok !

Általánosságban kérdeznék az arduinó-család tagjairól. Hogyan viselik a tápnélküliséget, majd az "ébresztést" ? ( Pl. egy napelemes adatgyűjtő éjjelre táp nélkül marad, reggel "felébred" megkérdezi DCF moduljától az időt, majd elkezdi a feladatát ...)

Gondolom a programban meg lehet(kell) adni induláskor milyen műveletek fussanak... de az indulást mi "indítja" ? BOOTol, mint egy számítógép ?
(#) tbarath válasza Macsek71 hozzászólására (») Márc 29, 2019 /
 
A mikrokontrollerre feltöltesz egy kódot és ez fut. Van egy setup függvény, ami boot-kor fut le, és egy loop függvény, ami folyamatosan fut. Az indulást az indítja, hogy tápfeszt kap.
Viszont a tápfesznek stabilnak kell lennie, szóval kellene valami olyan áramkör, ami csak egy megadott feszültség elérése után ad áramot a mikrokontrollernek.
Nem gondoltam nagyon végig, de e PFET mint kapcsoló, a gate-en egy komparátor kimenetével, az egyik bemeneten egy tápfeszre tett feszültségosztóval, a másikon pedig egy ellenállás+nyitóirányú dióda, vagy egy ellenállás + zener.
(#) Kovidivi válasza Macsek71 hozzászólására (») Márc 30, 2019 /
 
Az IC tápfeszültségének minimum 1.8V-nak kell lennie, de a stabil működéshez órajeltől függően akár magasabb feszültség is kellhet! (lásd adatlap). Ha 1.8V-nál nagyobb feszültséget kap, azonnal elindul a benne futó program. Mivel Arduinoról beszélünk, ezért először a bootloader kezd el futni, megvizsgálja, akarunk-e új programot feltölteni, ha nem, akkor elkezd futni a saját programunk. A fuse biteknél a bodlevel-lel tudjuk beállítani, hogy mekkora feszültségtől induljon el az AVR (1.8V, 2.7V, 4.3V). Ha akksis táplálást alkalmazunk, a programunk pedig sokat van sleep módban, akkor nagyon kell figyelni, mert amíg a bootloader fut (kb. 3 mp), addig nincs semmi energiatakarékosság (és valószínűleg folyamatosan resetelni fog az alacsony tápfeszültség miatt), tehát mélykisülésbe tudja vinni az akksit, ha nem választjuk le külső áramkörrel róla.
A hozzászólás módosítva: Márc 30, 2019
(#) Pulyka hozzászólása Márc 30, 2019 /
 
Sziasztok.
Ha valakinek kellene egy jól megbízható, tök egyszerű egy nyomógombos kódzár(ami a ritmust figyeli), nem rég találtam: https://www.mousa-simple-projects.com/2016/03/password-lock-with-on...n.html

Épp kellett egy ilyen jellegű elektronika, de az Arduino alap knock lock kapcsolással nem boldogultam, pedig gondoltam, hogy átvariálom nyomógombosra azt is.
A hozzászólás módosítva: Márc 30, 2019
(#) pisti hozzászólása Márc 30, 2019 /
 
Sziasztok!
Hódmezővásárhelyen keresek Arduino-s kollégát. Kérem, hogy egy emailt küldjön, és a továbbiakat egyeztetnénk.
Köszönöm!
(#) csini666 válasza pisti hozzászólására (») Ápr 2, 2019 /
 
Szia Pisti!

HA8KCS hódmezővásárhelyi rádió klubban jelenleg minden pénteken arduino tanfolyam folyik.
Kapcsolat: HA8KCS
(#) MilettDani21 hozzászólása Ápr 3, 2019 /
 
Sziasztok!

Órák óta próbálkozok keresni valami megoldást a neten, de nem találok. remélem valaki tud segíteni.

Mikor az Arduinora próbálok egy kódot feltölteni, akkor ezt nem engedi és ezt írja ki: (KÉP).
Mit kéne tegyek?

Arduino.png
    
(#) kokozo válasza MilettDani21 hozzászólására (») Ápr 3, 2019 /
 
Szia!
Minden } a helyén van? mert olyankor szokott ilyen hiba lenni..
(#) nedudgi válasza MilettDani21 hozzászólására (») Ápr 4, 2019 /
 
A forrás 46. sorában panaszkodik a "loop" valamire. Kód nélkül nem tudunk segíteni.
(#) icserny válasza nedudgi hozzászólására (») Ápr 4, 2019 /
 
Arra tippelek, hogy nincs a programban loop függvény definiálva, a main.cpp pedig szeretné meghívni...
(#) djusee hozzászólása Ápr 4, 2019 / 1
 
Sziasztok. Ha valaki közületek használta már EZT a modult, esetleg ha van kedve meg próbálná EZT a könyvtárat hogy hogyan müködik vele? Valahol tavaly igértem hogy ha megírom a könyvtárat akkor felteszem. Nagynehezen elérkezett az ideje. Szükségem volt rá hogy flash drive ra tároljak adatokat, majd pediglen visszaolvassak igy a neten keresgélve botlottam bele az emlitett modulba, de persze nem volt rá tökéletesen müködö könyvtár ezért kellett írni sajátot (ez nem azt jelenti hogy ez tökéletes, sőt)ami elég sok próbálkozás után jött össze.Nem bánom a ráfordított idöt mert sok hasznos dolgot tanulhattam meg közben.De hogy ne húzzam tovább, ha észrevesztek hibát, ne tartsátok magatokban hadd okuljak . A feladat amire kellett az meg van oldva de tanulás+szórakozásképpen szeretném SPI kommunikációra is rábírni
Üdv,
Gyuri
(#) sector99 hozzászólása Ápr 5, 2019 /
 
Sziasztok !
Egy programban szeretnék segítséget kérni Tőletek, de több mint 2000(!) sor, szóval nem másolnám be ide. Ha adok egy Githubos linket (sorszámotott, olvasható - nem kell letölteni) úgy megfelel ?
(#) icserny válasza sector99 hozzászólására (») Ápr 5, 2019 /
 
Igen, megfelel.
(#) sector99 válasza icserny hozzászólására (») Ápr 5, 2019 /
 
Ok. Tehát EZ egy forr. páka kontroller program, eléggé összetett, legalábbis számomra.(nagyon kezdő vagyok még Arduino-ban)
A kérdésem: hogyan lehet a soros monitoron a konfigurációt megjeleníteni ?. A 2167. sorban lévő kommentet kivettem, de továbbra is csak üres montirorablak jelenik meg.
(#) morgo hozzászólása Ápr 5, 2019 /
 
Sziasztok!
Van egy programrészlet ami jelenleg működik. Most kizárólag a case tartalmáról van szó. Mivel (terveim szerint) nagyon sok kéne belőle, arra gondoltam, hogy SD kártyán tárolnám 1.txt (2.txt, 3.txt...) fájlban. Az lenne a kérdésem, ha a case-ben beolvastatnám Sd-ről a *.txt-t, akkor az lefutna rendesen?
Arduino I/O-k beállítása lenne a feladat, pinMode és digitalWrite. A rövidítések rendesen működnek, a kevesebb gépelés miatt agyaltam ki. (fájnak az ujjaim)
  1. switch (number) {
  2. case 1:
  3.   P(35, O);
  4.   P(47, O);
  5.   P(49, O);
  6.   P(46, O);
  7.   W(35, H);
  8.   W(47, L);
  9.   W(49, H);
  10.   W(46, H);
  11.   W(62, H);
  12.   W(63, L);
  13.   W(64, L);
  14.   W(66, L);
  15.   W(30, H);
  16.   W(10, H);
  17.   break;
  18. }
(#) benjami válasza sector99 hozzászólására (») Ápr 5, 2019 /
 
Ha a 2167. sor után a komment kivétele után még beszúrsz egy ilyen
  1. Serial.println("Setup");

sort az sem jelenik meg?
(#) sector99 válasza benjami hozzászólására (») Ápr 5, 2019 /
 
De, a Setup szó megjelenik, de más nem. Az is csak egyszer, mikor a feltöltés kész - vagy nyomok egy resetet.
A hozzászólás módosítva: Ápr 5, 2019
(#) benjami válasza sector99 hozzászólására (») Ápr 5, 2019 /
 
Akkor azok azért nem jelennek meg, mert nem fut le a programnak azon része, ahol ki kellene írnia.
A "Setup" jogos, hogy csak egyszer íródik ki, mert az csak a program elindulásakor egyszer hajtódik végre.
A hozzászólás módosítva: Ápr 5, 2019
(#) sector99 válasza icserny hozzászólására (») Ápr 5, 2019 /
 
Az tiszta, akkor módosítom a kérdést Neked és benjami-nak is:
Mikor - mitől - ugrik a proram 2020. sor utáni részre ?
(#) kapu48 válasza morgo hozzászólására (») Ápr 5, 2019 /
 
Az PC-n levő arduino fordító (IDE) értelmezi a szöveg alapú kódot.
Amit lefordít bináris kódra, amit a gép tud értelmezni (végrehajtani).

Vagyis az elképzelésed ebben a formában nem működik!
Ehhez kel írnod szöveg értelmező és végrehajtó programot amit feltöltesz a gépedre.
(#) tbarath válasza sector99 hozzászólására (») Ápr 5, 2019 /
 
A pidSCREEN->rotaryValue() függvénynek meg kell hívódnia.
Ez a pidSCREEN a PID paraméterek állítgatásakor aktív ha jól értem
(#) sector99 válasza tbarath hozzászólására (») Ápr 5, 2019 /
 
Köszi - ne keressétek - írtam a szerzőnek ! Mindjárt közzéteszem.
Idézet:
„Hope, you are talking about hakko t12 project on atmage328, Arduino.
To tune PID parameters, you need to comment out line #2132, //pidSCREEN pidScr(&iron, &rotEncoder);,
line #3135, //SCREEN *pCurrentScreen = &pidScr; and line #2167, //Serial.begin(115200);
Now the controller starts PID tune procedure and will print the debug information to the serial port.
As soon you will finish tune procedure, save PID coefficients and put them to the corresponding variables. See line #883-#885.
And do not forget to comment out the previous three lines.
A hozzászólás módosítva: Ápr 5, 2019
(#) sector99 válasza sector99 hozzászólására (») Ápr 5, 2019 /
 
Működik - ezeket írja:
Idézet:
„Temp set: 290, PID: [2009, 16, 2048];
Temp set: 290, PID: [2009, 16, 2048]; Ki
Temp set: 290, PID: [2009, 16, 2048]; Kd
Temp set: 290, PID: [2009, 16, 2048]; Temp
Temp set: 290, PID: [2009, 16, 2048]; Kp
(#) morgo válasza kapu48 hozzászólására (») Ápr 5, 2019 /
 
Igen, időközben rájöttem, csak már nem tudtam törölni. Hirtelen felindulás volt.
(#) proba válasza morgo hozzászólására (») Ápr 5, 2019 /
 
Nem tudod az egészet tömbösíteni valahogy? Aztán csak a tömbökön végigmenve beállítani a kimeneteket? Nem case-val válogatni, hanem helyette több pl 255 elemű tömb, amiben a tömb neve pl a portra utal, az értéke meg az adott port iránya/módja. Úgy szerintem kevesebb gépelés. Egyszerűen csak felsorolod egymás után a kívánt állapotokat.
(#) tbarath válasza proba hozzászólására (») Ápr 5, 2019 /
 
Azaz, tömb kellene ide.
Nem tudom hány ilyen case és hány kimenet van.
Pl. <=16 kimenet esetén egy egy 2 byte elég egy esethez, minden ilyen páros egy-egy case esetet állapotait tartalmazza, az egyes bitek pedig az egyes kiemenetek high/low állapotát. És akkor kell egy darab beállító rutin hozzá, valahogy így:
  1. const uint8_t outputValueCount = 5;
  2. uint8_t outputValues[outputValueCount*2] {
  3.          B01010101
  4.         ,B01010101
  5.         ,B11010101
  6.         ,B01010111
  7.         ,B10101011
  8.         ,B01101101
  9.         ,B01011101
  10.         ,B00010101
  11.         ,B01111101
  12.         ,B11000001
  13.         ,B01010101
  14.         ,B11111111
  15. };
  16.  
  17. boolean setOutputValues(uint8_t thisCase){
  18.         if (thisCase >= outputValueCount{
  19.                 return false;}
  20.         W(35, bitRead(outputValues[thisCase*2], 7));
  21.         W(47, bitRead(outputValues[thisCase*2], 6));
  22.         W(49, bitRead(outputValues[thisCase*2], 5));
  23.         W(46, bitRead(outputValues[thisCase*2], 4));
  24.         W(62, bitRead(outputValues[thisCase*2], 3));
  25.         W(63, bitRead(outputValues[thisCase*2], 2));
  26.         W(64, bitRead(outputValues[thisCase*2], 1));
  27.         W(66, bitRead(outputValues[thisCase*2], 0));
  28.         W(30, bitRead(outputValues[thisCase*2 +1], 7));
  29.         W(10, bitRead(outputValues[thisCase*2 +1], 6));
  30.         return true;
  31. }

Illetve szükség esetén konstansként vagy akár flash-ben is lehet tárolni az információt, abból mégis több van...
A hozzászólás módosítva: Ápr 5, 2019
Következő: »»   518 / 853
Bejelentkezés

Belépés

Hirdetés
XDT.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