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   517 / 854
(#) proba válasza pisti hozzászólására (») Márc 24, 2019 /
 
Ami biztos, az egész LCD kiírást/törlést csak akkor hajtasd végre, ha a t értéke változik. Azért villog össze-vissza, mert alighogy kiírtál valamit, már törlöd is. Hasonlóan az egyik tanárunkhoz, aki a jobb kezében lévő krétával írt, a balban lévő szivaccsal törölt. Szerinted kinek volt ideje elolvasni?. A millis változóhoz egyébként kevés a long típus, bár lehet rikán tévedne, de akkor nagyot.
(#) sany válasza pisti hozzászólására (») Márc 24, 2019 /
 
Én ebben a hozzászólásban nem is látok kérdést.
(#) tbarath válasza pisti hozzászólására (») Márc 24, 2019 /
 
Ez szerintem tipikusan olyan feladat, amihez overkill az interrupt.
A kijelzővillogás pedig azért mert folyamatosan tolod az lcd.clear()-t és a kiiratást, persze hogy villog.
És a start/stopjelző változók jelentése számomra felfoghatatlan, ezeket csak 1x állítod LOW-ról HIGH-ra, így a stopper csak 1x tud elindulni és 1x leállni, onnan kezdve nem.
(#) pisti válasza tbarath hozzászólására (») Márc 24, 2019 /
 
megszakításokban benne van a változó HIGH-re állítása.
Azért próbáltam a megszakítással mert még nem használtam.
A kérdés pedig, hogy hol kell változtatnom a programon, hogy működjön.
  1. #include <LiquidCrystal.h>
  2. LiquidCrystal lcd(9, 8, 7, 6, 5, 4);
  3.  
  4. int Startkapcsolo = 2;                          //  Start gomb Pin2-re kotve
  5. int Stopkapcsolo = 3;                           //  Stop gpmb Pin3-ra kotve
  6. volatile int kapcsoloStart = LOW;               //  Start jelzo valtozo
  7. volatile int kapcsoloStop = LOW;                //  Stop jelzo valtozo
  8.  
  9. void setup()
  10. {
  11.   digitalWrite(2, HIGH);    
  12.   digitalWrite(3, HIGH);                                
  13.   attachInterrupt(0, megszakitas1, FALLING);                                          
  14.   attachInterrupt(1, megszakitas2, FALLING);              
  15.   pinMode(12, OUTPUT);                                    //  elektromágnes
  16. }
  17.  
  18. unsigned long t = 0;            //  mért idő
  19. unsigned long k = millis();     //  kezdő idő
  20. unsigned long s ;               //  megáll idő
  21.  
  22. void loop()                                      // Főprogram
  23. {
  24.   lcd.setCursor(0,0);
  25.   lcd.print("Arduino stopper4");
  26. }
  27.  
  28. void megszakitas1()                   //Start kapcsolohoz tartozo megszakitas
  29. {
  30.  if (kapcsoloStart == LOW)            // ha a start jelzo változótár törölve van
  31.  {
  32.     digitalWrite(12,HIGH);            // jelző LED be
  33.     k = millis();                     // idő mérése indul
  34.     kapcsoloStart = HIGH;             // a Start jelző változó visszaállítása }
  35.  }
  36. }
  37.  
  38. void megszakitas2()                   //Stop kapcsolohoz tartozo megszakitas
  39. {
  40.  if (kapcsoloStop == LOW)             // ha a stop jelzo változótár törölve van
  41.  {
  42.       s = millis();
  43.       t = (s - k);
  44.       kapcsoloStop = HIGH;           // a Stop jelző változó visszaállítása  
  45.       digitalWrite(12,LOW);          // jelz LED ki
  46.       lcd.clear();
  47.       lcd.setCursor(0,0);
  48.       lcd.print("Arduino stopper4");
  49.       lcd.setCursor(0,1);
  50.       lcd.print(t);
  51.       lcd.setCursor(12,1);
  52.       lcd.print("msec");
  53.  }
  54. }
(#) tbarath hozzászólása Márc 24, 2019 /
 
Benne van a high-ra állítás, de low-ra állítás a definiálások kívül sehol sincs, szóval a program ha működik is, akkor is max. 1 mérésre képes, aztán nem csinál semmit a következő reset-ig.

Megszakítást pedig lehet itt használni, mert bár fölösleges ehhez, de példaprogramnak jó. Ez esetben érdemes lenne a megszakításoknak utánaolvasnod egy kicsit.
Megszakításban _csak_ a minimálisan szükséges dolgokat csináljuk meg, esetedben ez 1-2 változó átállítása és ennyi. Tehát ne rakj bele bloat függvényhívásokat, nem arra való. Szintén javasolt a legtöbb esetben az interrupt fv. első sorában letiltani az interrupt-okat, az utolsóban pedig engedélyezni. Aztán ott van még a prellezés problémája. Aztán ugye a volatile, ami az attachinterrupt() fv. leírásának a 6. mondatában szerepel.
De tényleg olvass utána, nem akarok interrupt gyorstalpalót tartani, mert nem vagyok én se szakértője a témának, és ezerszer le van írva a neten.

Továbbá "nem megy, mit változtassak, hogy működjön" típusú "leírásra" baromi nehéz segíteni. Mi az elvárt működés? Ehelyett mi történik? Mit próbáltál meg? Mert pl. simán lehet, hogy fordítva kötöd be a két gombot, aztán hiába nyomkodod a - szerinted - startot, nem történik semmi. (Vagyis normális esetben nem lenne szabad.)
A hozzászólás módosítva: Márc 24, 2019
(#) tbarath hozzászólása Márc 25, 2019 /
 
Sziasztok,

Tanácsot kérnék. 10-20 darab egyszerű uC "modulra" lenne szükségem (2 ADC, 1 digit in, 1 digit out). Sok időt nem akarok vele tölteni, ezért kész "modullal" akarok dolgozni és header-re kötni a többi részt. (A header beforrasztása nem probléma.)

Egy ATTiny erre bőven elég, gondoltam hogy a "Pro Mini" (ATMega328) lapok 10-es csomagban kb. 3500 Ft árához képest az ilyen Attiny-s lapokat jóval olcsóbban megkapom. De nem, az se olcsóbb, kb. ugyanolyan árban van. Nem mintha objektíven sok lenne rá a kb. 350 Ft-os darabár, de akkor is meglepő.

Szóval a kérdés: nem tudtok valamilyen olcsóbb megoldást erre? Nekem kell semmilyen firlefranc rá, 7805, kvarc, USB csatlakozó, csak az uC és a 8 lába kivezetve 2,54 mm-es pin header-re, preferáltan 1 sorban.

Köszi,
Tamás
(#) Kovidivi válasza tbarath hozzászólására (») Márc 25, 2019 /
 
Esetleg az Atmega kisebb sorozatai, DIP tokban? Atmega8, Atmega48, stb? Vagy ha SMD-vel is tudsz játszani, akkor az SMD megfelelőjük. A nyákos kivitel és a DIP tok plusz kvarc között amúgy sincs sok különbség (a DIP tok nagyobb).
(#) tbarath válasza Kovidivi hozzászólására (») Márc 25, 2019 /
 
Épp ez az, hogy nem akarok forrasztgatni, készterméket keresek.

Ha itthon veszem, akkor DIP tokban egy Attiny25 500 Ft, de legyen mondjuk Attiny13 300 Ft-ért. És akkor még egy jobb foglalat, bypass kondi, pin header, és máris drágább mint a kész lap Csájnából. És még a munka, azaz vagdossak le neki próbanyákot, sorjázzam le, forrassztgassam össze a vackocat, meh. Ez az, amit nem akarok csinálni. Még ha lenne is valami olcsó kész nyák, amibe csak be kell forrasztani (pl ilyen: Bővebben: Link, csak olcsó), akkor még nem is lenne gond a forrasztgatással, de hogy csupalyuk panellel szórakozzak tizes nagyságrendben, na hagyjuk. És nem akarok ilyet Kínában gyártatni se.

Ha pedig a uC-t Kínából veszem, akkor mondjuk spórolok darabonként egy 100-ast, aztán a fene tudja hogy mit kapok.

Kvarcot nem akarok használni, belső oszcillátor bőven megfelelő erre a feladatra.

De nem is a bölcsek kövét keresem (bár ha valakinél van akkor szóljon ), csak meglepett, hogy semmivel se olcsóbb 10-es nagyságrendben egy Attiny-s modul (digispark attiny85-re kell rákeresni), mint egy pro mini. Aztán hátha tudna valaki valami olcsó, lowcost modult (7805 és egyéb, számomra fölösleges dolgok nélkül), amit én azért nem találok, mert nem tudom hogy keressek rá.
A hozzászólás módosítva: Márc 25, 2019
(#) Kera_Will válasza tbarath hozzászólására (») Márc 26, 2019 / 1
 
Idézet:
„Ha pedig a uC-t Kínából veszem, akkor mondjuk spórolok darabonként egy 100-ast, aztán a fene tudja hogy mit kapok.

Háát már "lusták lettünk" gondolkodni és saját egyedi feladatra szabott tervet készíteni, legyártani.
"Legózunk" , előre megírt kottából játszani könnyű .... csak ha nem teljesít úgy ahogy szeretnénk , akkor meg lehet mégis saját verziót csinálni ,dupla költséggel . Akkor , mivel vagyunk előbbre vagy hátrébb ?!
(#) Triger válasza tbarath hozzászólására (») Márc 26, 2019 /
 
"Épp ez az, hogy nem akarok forrasztgatni, készterméket keresek. "
Amiket felsoroltál, azokon kívűl, nincs màs alternativa. Ezek vannak, ennyibe kerülnek.

No offense, 300 Ft alatt mit szeretnél? uC, nyàk, pin header összerakva, egysorosan, 100 Ft-ért, tegnapra, ingyen postával? Amúgy ez a Vàsárlás, hol kapható topikba illene.
(#) Peter65 válasza tbarath hozzászólására (») Márc 26, 2019 / 1
 
Arduino/atmel/PIC processzorokkal én sem tudok olcsóbb alternatívát, de ha más processzor is megfelel, akkor az STM8-as családból az egyik kisebb uP kapható kis panelra szerelve kb. 3/4 dollártól. Bővebben: Link Ennek az egyik oldalán van a táp és néhány i/O, ami neked elég lehet. Persze kérdéses, hogy érdemes egy projekt kedvéért megtanulni egy újabb processzor családot, és a fejlesztés kezdeti buktatóit végigszenvedni.
A hozzászólás módosítva: Márc 26, 2019
(#) tbarath válasza Kera_Will hozzászólására (») Márc 26, 2019 /
 
Maga az "áramkör" tényleg csak annyi lenne, hogy egy 8 lábú IC 8 lábát kivezetni pin header-re, és egy kondi a föld és a GND közé. Szóval a terv készítésbe nem szakadnék bele, az igényes elkészítés viszont sok időt elvinne, és még drágább is lenne a modulosnál.
Szóval igen, "lusták lettünk", és spórolunk a pénzünkkel, és főleg az időnkkel. És ha a saját kottás történetnél a legózás olcsóbb, gyorsabb és kényelmesebb, és persze tökéletesen ellátja a feladatot, akkor azt választom - és ezért ezúton elnézést is kérek.

Az ilyen kínai kész board-ok eddig mindig beváltak, ellenben a rendelt alkatrészekkel kapcsolatban olvastam nem kevés rossz tapasztalatot.
(#) tbarath válasza Peter65 hozzászólására (») Márc 26, 2019 /
 
Köszi!
Nem ragaszkodok semmihez, maga a kód baromi egyszerű. STM-mel akartam már foglalkozni, van is valahol egy devboard. Bár ennél az eladónál látok Arduino Nano-t 38 dollárcentért, az is hihetetlen.
(#) tbarath válasza Triger hozzászólására (») Márc 26, 2019 /
 
Még egyszer: nem az zavar, hogy 350 Ft egy darab. Ha 500-ba kerülne az se zavarna, mert többet spórol nekem időben. Csak az a furcsa, hogy a sokkal "potensebb" mega328-as uC-vel szerelt lapnál nem olcsóbb az attiny85-ös. És nem 1 darabra néztem, ahol kb. 1 dodó alatt semmi sincs, hanem 10 darabra, ahol már ki kellene jönni a különbségnek - de nem jön.

És nem panaszkodok, nem sírok, de ha valaki tud olcsóbbat, akkor szívesen veszem a tanácsot. Ennyi.
(#) mateatek válasza tbarath hozzászólására (») Márc 26, 2019 /
 
Link

Nemsokára 1.23 dodó lesz az ára. LGT8F328P van rajta. Pár könyvtárat az Arduino IDE-be és tudod használni. Keresztbe-hosszába veri az Atmegát, amiről koppintották.(kivéve az EEPROM).
(#) mateatek hozzászólása Márc 26, 2019 /
 
Link

Kicsit OFF, de hátha valaki igényli. Atmega328PB-vel szerelt Nano.
(#) tbarath válasza mateatek hozzászólására (») Márc 26, 2019 /
 
Szerintem félreértettél. Nem nano-t vagy pro mini-t keresek, hanem tiny alapú lapot olcsóbban.
De mindegy is, szerintem hagyjuk a témát, valószínűleg nem létezik az, amit keresek.
(#) sector99 hozzászólása Márc 26, 2019 /
 
Sziasztok !
Ez egy páka hőfokszabályzó program lenne, de valami hiba van mert a mérés sem működik rendesen. A triak vezérlést még rá sem kötöttem.

Nagyon kezdő vagyok még a programozásban de azt az üres loop ciklust pl nem értem.
  1. #include <SPI.h>
  2. #include <Wire.h>
  3. #include <max6675.h>
  4. #include <Adafruit_GFX.h>
  5. #include <Adafruit_SSD1306.h>
  6. #define OLED_MOSI  11
  7. #define OLED_CLK   13
  8. #define OLED_DC    8
  9. #define OLED_CS    10
  10. #define OLED_RESET 9
  11. #define thermoDO 11
  12. #define thermoCS 12
  13. #define thermoCLK 13
  14. #define potentiometer A3
  15. #define zerocrossing 2
  16. #define triac 7
  17. #define input 5
  18. float temperature;
  19. int pottemperature;
  20. int counter;
  21. Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
  22. MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
  23.  
  24. void setup() {
  25.   display.begin(SSD1306_SWITCHCAPVCC);
  26.   pinMode(potentiometer, INPUT);
  27.   pinMode(zerocrossing, INPUT_PULLUP);
  28.   pinMode(triac, OUTPUT);
  29.   digitalWrite(triac, LOW);
  30.   display.setTextSize(2);
  31.   display.setTextColor(WHITE);
  32.   counter = 0;
  33.   temperature = thermocouple.readCelsius();
  34.   updatedisplay();
  35.   attachInterrupt(0, zero, RISING);
  36. }
  37.  
  38. void loop() {
  39. }
  40.  
  41. void zero() {
  42.   counter++;
  43.   if (counter < 40) {
  44.     if (temperature <= pottemperature) {
  45.       digitalWrite(triac, HIGH);
  46.     }
  47.     else {
  48.       digitalWrite(triac, LOW);
  49.     }
  50.   }
  51.  
  52.   if (counter == 40) {
  53.     digitalWrite(triac, LOW);
  54.     detachInterrupt(0);
  55.     temperature = thermocouple.readCelsius();
  56.     updatedisplay();
  57.     counter = 0;
  58.     attachInterrupt(0, zero, RISING);
  59.   }
  60. }
  61.  
  62. void updatedisplay() {
  63.   pottemperature = analogRead(potentiometer);
  64.   pottemperature = map(pottemperature, 0, 1023, 0, 400);
  65.   display.clearDisplay();
  66.   display.setCursor(0, 0);
  67.   display.print("SET:");
  68.   display.print(pottemperature);
  69.   display.setCursor(0, 20);
  70.   display.print("TMP:");
  71.   display.print(int(temperature));
  72.   display.display();
  73. }
(#) tbarath válasza sector99 hozzászólására (») Márc 26, 2019 /
 
Szia,

Mit jelent, hogy "a mérés sem működik rendesen"?

Egyébként a loop azért üres, mert a 2-es pin interrupt-jára (0-ás) rá van téve a zero nevű fv. Aztán azon elvileg az AC 24V (gondolom annyi) van valahogy leosztva (vagy optóval), és ott figyeli a nullátmenetet. És minden 40.-ik (vagy 80.-ik) nullátmenetnél csinál valamit. Illetve korábban is, csak akkor ugyanazt állítja be 39x.
Ez a kód nekem első ránézésre nem túl szimpatikus, bár ha kirakták hátha működik.

Lehet a hw is rosszul összerakva, illetve egyáltalán hőelemes a pákád? Mi a kapcsolás, stb.
(#) sector99 válasza tbarath hozzászólására (») Márc 26, 2019 /
 
Szia ismét !
Még mindig JBC 245-el küzdök. A múltkori program átírását feladtam - kerestem egy másikat:
Itt van a teljes leírás.
Egyenlőre csak dugdosós boardon van összerakva. A triak vezérlés nincs még bekötve, a váltót figyelő opto 12 V váltót kap a dióda hídra. A 6675 bemenetére csak a páka hőeleme van kötve - ami azonos ugye a fűtéssel is. A kijelzett TEMP érték olyan 3 és 8 között vándorol, úgy hogy nem nyúlok semmihez.
(#) hnorbee hozzászólása Márc 26, 2019 /
 
Sziasztok!

Bocsánat a zavarásért. Szükségem lenne 1-2db alap arduinoval kapcsolatos program létrehozására de én inkább mechanikus oldalon vagyok erős. Az egyik egy versenyautóba egy fordulatszám kijelzés 16db led strip segítségével a másik az pedig egy 4db relé egymástól független vezérlése. Tudnátok segíteni ezekkel kapcsolatban kit keressek.

Köszönet előre is
Norbi
(#) tbarath válasza sector99 hozzászólására (») Márc 26, 2019 /
 
Na akkor...

Itt a videó róla: Bővebben: Link

Szóval: itt párhuzamosan van kötve a hőelem és a fűtés, az egyik ér közös. Ha lebeg a fűtést adó szekunder, akkor nincs semmi gond. Ha nem, akkor megölheted a MAX modult, illetve bármit.
Én a "green" lábat a földre húznám, de nem esküszöm meg rá, hogy ez jó ötlet. (Ittam már, ilyenkor nem esküdözök.)

Aztán a breadboard az gyakorlatilag potenciális hibaforrások sora egymás hegyén-hátán: rossz kontaktusok, kapacitások egymás mellett, a vezetékek pedig remek antennák. Érdemes lenne egy szkóppal megnézni, hogy az SPI jelek hogy néznek ki.
Én még jó breadboard-ot nem láttam, de ha valaki tud valamit ajánlani, ami nem egy fél disznó ára, akkor szívesen veszem a tanácsot.

Szóval a javaslatom: nézz végig mindent, nincs-e valami félrekötve. Pontosabban: aludj rá egyet, aztán nézd meg. Sokszor van olyan, hogy az ember szemét nem szúrja ki valami, ami máskor (vagy épp más embernek) egyből nyilvánvaló. Méregesd végig, hogy ahol kontaktusnak kell lenni ott megvan-e.

Ha ez nem segít, akkor én ezt a kapcsolást megépíteném próbanyákon. Van kb. 200 Ft alkatrészköltsége a nyák nélkül.
(#) sector99 válasza tbarath hozzászólására (») Márc 26, 2019 /
 
Köszi, hogy ismét foglalkozol vele(m) ! A pohár finom bort meg egészségedre - ill. bármit ittál is... Minden tanácsodat megfogadom, most először azt, hogy alszom rá egyet...
Majd jelentkezem...
(#) pipi válasza tbarath hozzászólására (») Márc 27, 2019 /
 
Pedig egyszerű a válasz, hiába kisebb a cucc, a nagyobból a tömegtermelés akár olcsóbbat tud csinálni.
Láttam ezt a zselés akkumulátoroknál is pl a 12V 7Ah tud olcsóbb lenni mint a 12V 5Ah.
Meg lehetne üzletpolitika is, az "újabb" nagyobb tudású olcsóbb mint a régi buta...
(#) tbarath válasza pipi hozzászólására (») Márc 28, 2019 /
 
Igen, ez egy logikus magyarázat, lehet benne valami, én is gondoltam erre. Csak nekem a matek nem adja ki.

A digikey-t néztem 2000 darabra, attiny85-nél valaho 75 cent körül van az ár, mega328-nál pedig 1,1 dodó körül (a tévedés és rosszul emlékezés jogát fenntartva). És nyilván minél többet rendelsz annál olcsóbb, és a 328 az arduino klónok és leszármazottak miatt jobban fogy, de nem hiszem, hogy ennyivel olcsóbb tudna lenni. NYÁK gyártás és beültetés esetén se hiszem, hogy drasztikusan olcsóbb tudna lenni mondjuk egy párszázezres rendelés, mint egy párezres, főleg hogy a tiny sokkal egyszerűbb (8 láb).

Vagy ennyire rétegigény lenne egy arduino-szerű attiny lap?
(#) Kovidivi válasza tbarath hozzászólására (») Márc 28, 2019 /
 
1.47 USD-ért találtam. Bővebben: Link Te is ilyen bárban láttad? Az Arduino Nano 2.5USD-os árához képest reális, gondolom a direkt USB hozzáférés miatt van fent az ára. A sima Arduino mini pro-hoz kell programozó, plusz "macera", ezért olcsóbb gondolom én.
Kiszámoltam most nemrég, hogy mennyibe kerülne egy Arduino nano, ha az alkatrészeket megrendelném, és a saját nyákomra ültetném be, hát talán 0.20USD-t tudnék spórolni, cserébe forraszthatnék plusz 20percet...
(#) tbarath válasza Kovidivi hozzászólására (») Márc 28, 2019 /
 
10-es darabszámra nézve olcsóbb, ez pl. 360 Ft-ra jön ki: Bővebben: Link. És az USB szerintem inkább csak táp, a tiny nem fog USB-ül beszélni, azon kívül pedig csak egy 5 Voltos stab (78M05) van rajta. Ha van is adatláb bekötve, akkor az is csak ellenállással, hogy a port adjon neki sok áramot. De ha gondolod majd megnézem, azt hiszem ilyenből is van a tiny-s dobozban.
De inkább ilyet veszek ehhez: Bővebben: Link, ez 10-es mennyiségben ugyan kicsit drágább, de használhatóbbnak tűnik. Ezt az alifans srácot most amúgy is tesztelem egy potival, remélem beválik.
A nagy bánatom az ezekkel, hogy a 8 pin nincs egy sorban kivezetve...

Ugyanakkor 10 db pro mini még olcsóbb is ezeknél: Bővebben: Link
(#) Kovidivi válasza Kovidivi hozzászólására (») Márc 28, 2019 /
 
Most rákerestem, és nem találtam olyan oldalt, ahol USB-n programozzák az Attiny-t. Eddig azt hittem, van hozzá USB-s bootloader (valószínűleg a program memória nagy részét el is foglalná)... Így máris csökkent az értéke a szememben...
(#) tbarath válasza Kovidivi hozzászólására (») Márc 28, 2019 /
 
Párszáz Ft hozzá egy programozó, vagy akár egy nano/pro mini lapra tolsz egy ArduinoISP (vagy hasonló nevű) kódot, aztán programozod azon keresztül.
(#) Kovidivi válasza tbarath hozzászólására (») Márc 28, 2019 /
 
Én az Arduino nano-t favorizálom, még ha drágább is 3-400Ft-tal. Egyszerűbb, gyorsabb, csak ugye drágább és nagyobb... A programot sokszor kell módosítanom. Lehet, keresek egy USB-s bootloadert Atmega328-ra, usb-soros.illesztő nélkül. Az lenne a legszuperebb, ha egyáltalán létezik.
A hozzászólás módosítva: Márc 28, 2019
Következő: »»   517 / 854
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