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   258 / 867
(#) kapu48 válasza Mokacs6 hozzászólására (») Szept 4, 2016 /
 
Ez erősen SW hibára utaló jelenség!

Láthatnánk azt a programot?
(#) kapu48 válasza Szabi1 hozzászólására (») Szept 4, 2016 1 / 1
 
Hasnáld a:
EEPROM Library
(#) Mokacs6 válasza kapu48 hozzászólására (») Szept 4, 2016 /
 
int state = 1;
void setup() {
Serial.begin(9600);
}
void loop() {
if (state == 1){
int state = 0;
Serial.println(state);
delay(5000);
}
else {
int state = 1;
Serial.println(state);
delay(5000);
}
}

Ezzel a programmal próbáltam, soros monitoron 5 másodpercenként kiír egy 0-t. Elvileg pedig felváltva kellene 0-t és 1-et.
Mit jelent az az SW hiba?
(#) kapu48 válasza Mokacs6 hozzászólására (») Szept 4, 2016 1 / 1
 
Nem kell mindig újra létrehozni a változót!
Így lesz jó:

  1. void loop() {
  2. ...
  3. if (state == 1){
  4.  state = 0;
  5. Serial.println(state);
  6. delay(5000);
  7. }
  8. else {
  9.  state = 1;
  10. Serial.println(state);
  11. delay(5000);
  12. }
  13. }


SoftWare
A hozzászólás módosítva: Szept 4, 2016
(#) Mokacs6 válasza kapu48 hozzászólására (») Szept 4, 2016 /
 
Valóban, így tényleg jó.
Ez így elég láma hibának tűnik, de mentségemre szóljon nem rég kezdtem ilyenekkel foglalkozni
Köszönöm a gyors segítséged!
(#) morzsa15 hozzászólása Szept 4, 2016 /
 
Sziasztok!
Olyat szeretnék csinálni hogy van egy txt állomány soronként kell ki olvasni. Az első sort pl egyes a második sort kettes be tároln. Le futt egy vizsgálat majd a következőt 3-4 sort vizsgálja be teszei a 3-mast az 1 változóba a 4-est a kettesbe. Ezt hogyan tudnám megoldani? Minden segítséget köszönök!
(#) kapu48 válasza morzsa15 hozzászólására (») Szept 4, 2016 1 /
 
Használj char* pointert:
  1. char* myStrings[]={"This is string 1", "This is string 2", "This is string 3",
  2. "This is string 4", "This is string 5","This is string 6"};
  3. char* string[2] ;
  4.  
  5. void setup(){
  6. Serial.begin(9600);
  7. }
  8.  
  9. void loop(){
  10.  
  11.  for (int i = 0; i < 6; i++){
  12.    Serial.println(myStrings[i]);
  13.    myStrings[0] = "my Strings 0";
  14.    string[0] = myStrings[2];
  15.    Serial.println(string[0]);
  16.    delay(500);
  17.   }
  18. }


Arrays of strings
(#) patkany hozzászólása Szept 5, 2016 /
 
Sziasztok!
Ezt a kódot akarom feltölteni nano-ra, de hibaüzenetet kapok.
  1. /*
  2. * Simple 2-channel VU-meter with peak detect - by mira308sw - 2013
  3. * a crazy sketch for 16x2 lcd display
  4. */
  5.  
  6. #include <LiquidCrystal.h>
  7.  
  8. /* Modify the pin number below to meet your board
  9. */
  10. #define IN_LEFT    4  // analog input for left channel
  11. #define IN_RIGHT   5  // analog input for right channel
  12.  
  13. LiquidCrystal lcd( 8,  // RS
  14.                    9,  // E
  15.                    4,  // DB4
  16.                    5,  // DB5
  17.                    6,  // DB6
  18.                    7   // DB7
  19.                    );
  20.  
  21. /* Other minor configurable value
  22. */
  23. #define T_REFRESH    100            // msec bar refresh rate
  24. #define T_PEAKHOLD   3*T_REFRESH    // msec peak hold time before return
  25.  
  26. /* local variable
  27. */
  28. byte  fill[6]={ 0x20,0x00,0x01,0x02,0x03,0xFF };      // character used to fill (0=empty  5=full)
  29. byte  peak[7]={ 0x20,0x00,0x04,0x05,0x06,0x07,0x20 }; // character used to peak indicator
  30. int   lmax[2];                                        // level max memory
  31. int   dly[2];                                         // delay & speed for peak return
  32.  
  33. void  bar  ( int row,int lev )
  34. {
  35.   lcd.setCursor( 0,row );
  36.   lcd.write( row ? 'R' : 'L' );
  37.   for( int i=1 ; i<16 ; i++ )
  38.   {
  39.     int f=constrain( lev      -i*5,0,5 );
  40.     int p=constrain( lmax[row]-i*5,0,6 );
  41.     if( f )
  42.       lcd.write( fill[ f ] );
  43.     else
  44.       lcd.write( peak[ p ] );
  45.   }
  46.   if( lev>lmax[row] )
  47.   {
  48.     lmax[row] = lev;
  49.     dly[row]  = -(T_PEAKHOLD)/T_REFRESH;                // Starting delay value. Negative=peak don't move
  50.   }
  51.   else
  52.   {
  53.     if( dly[row]>0 )
  54.       lmax[row] -= dly[row];
  55.  
  56.     if( lmax[row]<0 )
  57.       lmax[row]=0;
  58.     else
  59.       dly[row]++;
  60.   }
  61. }
  62.  
  63. byte block[8][8]=
  64. {
  65.   { 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10 },  // define character for fill the bar
  66.   { 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18 },
  67.   { 0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C },
  68.   { 0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E },
  69.  
  70.   { 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08 },  // define character for peak level
  71.   { 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04 },
  72.   { 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02 },
  73.   { 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01 },
  74. };
  75.  
  76. void  setup  ( void )
  77. {
  78.   lcd.begin( 16,2 );
  79.   for( int i=0 ; i<8 ; i++ )
  80.     lcd.createChar( i,block[i] );
  81. }
  82.  
  83. long  lastT=0;
  84.  
  85. void  loop  ( void )
  86. {
  87.   if( millis()<lastT )
  88.     return;
  89.   lastT += T_REFRESH;    
  90.   int anL = map( sqrt( analogRead( IN_LEFT  )*16 ),0,128,0,80 );  // sqrt to have non linear scale (better was log)
  91.   int anR = map( sqrt( analogRead( IN_RIGHT )*16 ),0,128,0,80 );
  92.   bar( 0,anL );
  93.   bar( 1,anR );
  94. }


Ezt a hibaüzenetet kapom.
  1. Arduino: 1.6.4 (Windows 7), Board: "Arduino Nano, ATmega168"
  2.  
  3. Build options changed, rebuilding all
  4.  
  5.  
  6.  
  7. Sketch uses 3 648 bytes (25%) of program storage space. Maximum is 14 336 bytes.
  8.  
  9. Global variables use 135 bytes (13%) of dynamic memory, leaving 889 bytes for local variables. Maximum is 1 024 bytes.
  10.  
  11. avrdude: stk500_recv(): programmer is not responding
  12.  
  13. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe6
  14.  
  15. avrdude: stk500_recv(): programmer is not responding
  16.  
  17. avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe6
  18.  
  19. avrdude: stk500_recv(): programmer is not responding
  20.  
  21. avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe6
  22.  
  23. avrdude: stk500_recv(): programmer is not responding
  24.  
  25. avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe6
  26.  
  27. avrdude: stk500_recv(): programmer is not responding
  28.  
  29. avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe6
  30.  
  31. avrdude: stk500_recv(): programmer is not responding
  32.  
  33. avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe6
  34.  
  35. avrdude: stk500_recv(): programmer is not responding
  36.  
  37. avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe6
  38.  
  39. avrdude: stk500_recv(): programmer is not responding
  40.  
  41. avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe6
  42.  
  43. avrdude: stk500_recv(): programmer is not responding
  44.  
  45. avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe6
  46.  
  47. avrdude: stk500_recv(): programmer is not responding
  48.  
  49. avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe6
  50.  
  51. Hiba a feltöltés során. A hiba elhárítása a http://www.arduino.cc/en/Guide/ oldalon a Troubleshooting#upload alatt került leírásra.
  52.  
  53.   This report would have more information with
  54.   "Show verbose output during compilation"
  55.   enabled in File > Preferences.

Mi lehet a baj?
Elég lepusztult már az oprendszerem, lehet az oka?
(#) jany1966 hozzászólása Szept 5, 2016 /
 
Sziasztok
Biztos leírtátok már többször csak sok oldalt kellene visszaolvasnom.
Arduino uno-val hogy lehet időzítést csinálni? /nem delay/ valami interupt.
(#) mateatek válasza jany1966 hozzászólására (») Szept 5, 2016 /
 
Például a millis segítségével.
(#) jany1966 válasza mateatek hozzászólására (») Szept 5, 2016 /
 
De akkor állandón csak azt figyeli és mást nem tud csinálni pl:kapcsolókat, érzékelőket stb.
(#) RoliNyh válasza jany1966 hozzászólására (») Szept 5, 2016 /
 
Szerintem kevered a delay() fügvénnyel, ha az fut, akkor nem tud mást csinálni...
A millis() épp azért van, hogy amellett mással is tud foglalkozni...
A hozzászólás módosítva: Szept 5, 2016
(#) jany1966 válasza RoliNyh hozzászólására (») Szept 5, 2016 /
 
Valószínűleg, csak most kezdem az arduinot. Esetleg egy példát tudnál?
(#) RoliNyh válasza jany1966 hozzászólására (») Szept 5, 2016 /
 
Mondjuk kezdetnek ezt megnézhetnéd:

Arduino delay() millis()...
(#) RoliNyh válasza jany1966 hozzászólására (») Szept 5, 2016 /
 
Itt meg a megvalósítás:

LED villogtatás millis() fügvénnyel...
(#) world-s hozzászólása Szept 6, 2016 /
 
Sziasztok!
Új vagyok
Van egy 4 digites 7 szegmense kijelzőm és 2 nyomógombom.

Menüt szeretnék írni. Kicsit mint a monitorokon is van.
Látom léteznek már megírt ilyen menü osztályok.
Melyiket ajánljátok aminél két gomb is elegendő, és lehetőleg kevés helyet eszik fordításkor, mert ugye nem kell minden féle olyan cucc amit egy rendes LCD kijelző tudna.

Előre is köszi.
Zoli
(#) jany1966 válasza RoliNyh hozzászólására (») Szept 6, 2016 /
 
Köszi így már értem.
Lenne még egy kérdésem a 6db analóg bemenetre csak analóg jel mehet vagy a digitális jelet is tudja kezelni? Lehet buta kérdés volt. Kimenet ként viszont nem lehet használni?
(#) FDAssasin hozzászólása Szept 6, 2016 /
 
Sziasztok!
Ha ezzel a kóddal:
  1. ADCSRA &= ~(1<<ADEN);
kikapcsolom az ADC-t, attól digitalWrite paranccsal tudom majd kapcsolgatni az analóg kimeneteket? pl. digitalWrite(A0, HIGH); parancs működne? Led kapcsolgatásához kellene csak
(#) kapu48 válasza FDAssasin hozzászólására (») Szept 6, 2016 1 /
 
Inkább kapcsold kimenetre az adott analog pint:
  1. int ledPin = A0;                 //LED connected to analog pin A0 ... A7
  2.  
  3. void setup()
  4. {
  5.   pinMode(ledPin, OUTPUT);      // sets the digital pin as output
  6. }
  7.  
  8. void loop()
  9. {
  10.   digitalWrite(ledPin, HIGH);   // sets the LED on
  11.   delay(1000);                  // waits for a second
  12.   digitalWrite(ledPin, LOW);    // sets the LED off
  13.   delay(1000);                  // waits for a second
  14. }
(#) FDAssasin válasza kapu48 hozzászólására (») Szept 6, 2016 /
 
Köszi, eddig eljutottam, de a kérdés az lenne, hogy működik-e ez a kód kikapcsolt ADC-vel.
(#) kapu48 válasza FDAssasin hozzászólására (») Szept 6, 2016 1 / 1
 
Igen!
Semmi köze az ADC-hez!

Mért nem próbálodki?
(#) Hurkafej1 hozzászólása Szept 6, 2016 /
 
Sziasztok.
Meg szeretnék tanulni néhány alap programozást Arduino-val, VBA programozási ismeretem van egy kevés, tehát ezen téren nem állok jól.
Milyen alkatrészeket, panelokat érdemes vennem, miket ajánlotok esetleg? Arduino Uno?
Későbbiekben szeretnék kijelzőre adatokat kiírni, feszültséget mérni, frekvrenciát mérni, motort vezérelni, pár számítást csinálni vele, amit a kijelzőre iratnék vele.

Úgy tudom bárki gyárthatja ezeket a paneleket, van esetleg fekete lista, ahonnan ne vegyek? Elsődlegesen kínára gondoltam, mint beszerzési forrás.

Köszönöm a válaszokat előre is.
(#) kameleon2 válasza Hurkafej1 hozzászólására (») Szept 6, 2016 /
 
Szia! Ha visszaolvasol kicsit mindkét lényegi kérdésedre van válasz. Én például kínai R3-at használok gond nélkül. Beiratkoztam az "Arduino 60 nap alatt" tavir oldalra és végigcsináltam. Könnyű volt szerintem. Én még nem vettem rossz Arduinós panelt.
(#) world-s hozzászólása Szept 7, 2016 /
 
Sziasztok!

Mitől lehet:ULN2803-ra teszek egy MB40100V2-es ventilátort.
A ventilátor Plzs az 5 volton, a minusz a 12-es lábon.
A 7-es lábra egy PWM-et teszek amin arduinóról jön.
Alapban csak cicereg a venti és nem indul el ahogy emelem egy pici programmal a PWM értékét.
Amint megkapja a 255-ös értéket, akkor elindul, de onnantól a kijelző ami MAX7219-el van hajtva rögtön lekapcsol.
(Ha bármi gondot érezt azt észrevettem, hogy a MAX olyankor mindig lekapcsol).

Mi lehet a gond?
Köszi.
Zoli

UI:
A 13-mas lábon egy led volt aminek a bemeten nem volt semmi a ULN2803 (előző próba leddel).
Teljesen úgy viselkedik mintha annak a bemenetén is állítgatnám a PWM-et. Tehát változik a LED fényereje.
A hozzászólás módosítva: Szept 7, 2016
(#) JZoli válasza world-s hozzászólására (») Szept 7, 2016 /
 
Nem lehet, hogy ez egy olyan ventilátor, hogy elektronika is van benne és nem szereti, hogy PWM jelet kap? Az adatlapján a motor típusára: brushless DC motor-van írva. Ez kb okozhat ilyen jelenséget. Esetleg sima 555-ös PWM meghajtással ki lehetne próbálni, így kiderülne, hogy mi okozza a gondjaidat.
(#) kameleon2 válasza world-s hozzászólására (») Szept 7, 2016 /
 
Jól kötötted be az ULN-t? Valami rajzot azért felrakhatnál, mert így elég sok válasz lehetséges a kérdésedre. Szűkíteni jó lenne. Nem ismert a ventillátor teljesítménye sem, mert az ULN-ben csak sima darlington van, aminek azért vannak határai, főleg induktív terheléssel: 500mA-t ír az adatlap Ohmikus terhelés mellett. Lehet, hogy én FET-es meghajtással próbálkoztam volna inkább. Most megnéztem gyorsan helyetted - 180mA az általad megadott Sunon ventillátor árama 5V-on. Mivel induktív ráadásul folyton szaggatod, 180mAx7= simán lehet az indulóárama. Az 1,26A! . Ez önmagában is lehet gond. LED-nél nyilván ez nem probléma.
(#) world-s válasza kameleon2 hozzászólására (») Szept 7, 2016 /
 
Közben megnéztem, hogy a gyártó azt írja, hogy PWM-re ne használjuk.
Ha kiszedem a ventit, hirtelen minden jó lesz.
Hogy lehetnek kiküszöbölni?
Ebben a méretben nem találtam PWM-es ventit, amire tuti hogy gyárilag támogatott a PWM.
Láttam olyat ahol valami kondit és ellenállást tesznek a PWM-re. Az segíthet?
Sajna nagyobb venti nem fér bele.
(#) Kera_Will válasza world-s hozzászólására (») Szept 7, 2016 /
 
Idézet:
„Sajna nagyobb venti nem fér bele”

Akkor nem PWM-ezed csak on/off állás és ennyi.
Nem baj az ha erősebb a folyamatosan járó hűtésed.
Persze a motor csapágya kopik.
(#) world-s válasza Kera_Will hozzászólására (») Szept 7, 2016 /
 
De , mert egy jelmez fejében van három, és nem feltétlen szeretném mindig full sebességgel 1-2 centire a fülemtől, meg bele szemből a pofá*ba.
(#) Balázs válasza world-s hozzászólására (») Szept 7, 2016 /
 
Idézet:
„Láttam olyat ahol valami kondit és ellenállást tesznek a PWM-re. Az segíthet?”

Az egy RC aluláteresztő szűrő, tehát ha jól van méretezve (jelentősen az alapharmonikus alá), akkor a négyszögjelből a középértékének megfelelő egyenfeszültséget csinál. Tehát lényegében a motor tápfeszültségét változtatod. Mivel elektronika van benne, valószínűleg ezt sem fogja szeretni.
Következő: »»   258 / 867
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