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   692 / 838
(#) Jonni válasza GPeti1977 hozzászólására (») Máj 6, 2021 /
 
Minimum-nál 0,01V maximumnál 2,80V
(#) proba válasza Jonni hozzászólására (») Máj 6, 2021 /
 
A kérdés eldöntéséhez az is hozzá tartozik, mekkora a led max/min fényerőhöz tartozó arduinós számérték, és mekkora a fényerő max/min LDR-ből kiolvasott számérték szerint. Ezen adatok ismeretében lehet tanácsot adni. A feszültséget mint fogalmat a programba nem tudod beírni.
(#) Régi motoros válasza Jonni hozzászólására (») Máj 6, 2021 /
 
Szerintem ebből a progiból hiányzik a map() fügvény.
Először is, a beolvasott érték ugye 0-1023 lehet.
Ezt át kellene konvertálni egy fényerő szintre ami 0-100 % PWM kitöltési tényező.
Az fogja a LED -et 0 és 100 % fényerő közt állítani...

A fényérzékelőd nem tudom, hogy GND -re, vagy tápra van e kötve, de azt egy feszültségosztó elrendezésbe kellene elhelyezni megfelelő felhúzó vagy lehúzó ellenállással.

Ha fordítva működik, elég csak a fényérzékelőt, és az előfeszítő ellenállást megcserélni...

Legalább is én így csinálnám...
(#) GPeti1977 válasza Jonni hozzászólására (») Máj 6, 2021 / 1
 
"Minimum-nál 0,01V maximumnál 2,80V"
Azaz 0, 575 között változik, ezt kell 255 és 0 közé konvertálni.
map(value, fromLow, fromHigh, toLow, toHigh)
int bright=reading/4;
helyett:
  1. int bright=map(reading, 0, 575, 255, 0);
(#) Jonni válasza Régi motoros hozzászólására (») Máj 6, 2021 /
 
light sensornak ilyet használok. Be van kötve a - és + 5V táp és A3-ra a kimenet. Abba nem vagyok biztos, hogy az ellenállásnak itt mi szerepe van.
(#) Jonni válasza GPeti1977 hozzászólására (») Máj 6, 2021 /
 
Köszi. Így már jó. Csak még egy kérdés. Mit kell átírjak ha a minimumon változtatni akarok
(#) GPeti1977 válasza Jonni hozzászólására (») Máj 6, 2021 /
 
Nem tudom. Tulajdonképpen az ellenállás és a fotoellenállás alkot egy feszültségosztót amit az arduino analóg lába mér. Az is lehet a baj hogy a fényerő változás nem lineáris az értékkel amit kapsz.
(#) Régi motoros válasza Jonni hozzászólására (») Máj 6, 2021 /
 
Ha az ellenállás tápon van, felhúzó, ha testen van, akkor lehúzó ellenállásnak hívják.
Gyakorlatilag a fényszenzorral sorba kötve a táp és test között, egy feszültségosztót képez.
A közös ponton attól függően változik a feszültség, ahogy a fényérzékelő változtatja az ellenállását a beeső fény hatására...
(#) Jonni válasza GPeti1977 hozzászólására (») Máj 6, 2021 /
 
Köszi. Azt hiszem ez is megoldódott.
(#) chopper800 hozzászólása Máj 6, 2021 /
 
Szerbusztok.
Szeretném megkérdezni hogy az arduinoval vezérelt LCD (16x2) vezérlésénél mindenképp a könyvtárban megadott digitális lábakra kell kötni? (D12 , D11 , D5 , D4 , D3 , D2) Vagy ezt én megváltoztathatom pl.: D5 , D6 ,D7, D8, D9, D10 (vagy amelyik digitális lábra éppen szeretném)?
Üdv.
(#) szalamandra válasza chopper800 hozzászólására (») Máj 6, 2021 / 1
 
Megváltoztathatod, csak ahol van a hivatkozás a lábakra ott át kell írni.
(#) chopper800 válasza szalamandra hozzászólására (») Máj 6, 2021 /
 
Akkor gondolom az sem számít hogy PWM vagy sima digitális láb.
Köszönöm a választ.
Üdv.
(#) sargarigo válasza chopper800 hozzászólására (») Máj 6, 2021 / 1
 
Minden láb több funkciós! Ha nem kell az adott funkció, akkor használhatod digitálisan! Kb.
(#) mateatek válasza chopper800 hozzászólására (») Máj 6, 2021 / 1
 
Csak annyival egészíteném ki az előttem szólót (írót), hogy az analóg lábakat is használhatod digitálisként erre (és másra is), kivéve az A6 és A7 lábakat, amik csak ADC-ként funkcionálnak (328P csippnél).
Az analóg lábakra hivatkozhatsz digitális lábként is. Például: A0 = D14
(#) chopper800 hozzászólása Máj 6, 2021 /
 
Köszönöm a válaszokat, infókat.
Üdv.
(#) eyess válasza chopper800 hozzászólására (») Máj 6, 2021 / 1
 
Ha a kapcsolási rajz , illetve a tervezés úgy kívánja meg , hogy jobb lesz az elrendezés tőle , akkor miért ne.Csak akkor meg kell jegyezni , hogy át lett írva.
A hozzászólás módosítva: Máj 6, 2021
(#) Balagemann2031 válasza sargarigo hozzászólására (») Máj 7, 2021 /
 
Sziasztok!
Csak annyi volt a bajom hogy az ESP bizonyos kimeneteire kötött tranzisztoros meghajtású relék, táp ráadásánál egy pillanatra behúztak, nem volt gondom lebegéssel. Áttettem olyan kimenetekre amik bootolásnál nem aktiválodnak maguktól és így megoldódott. Köszönöm mindenkinek a tanácsokat! Üdv! Balázs
A hozzászólás módosítva: Máj 7, 2021
(#) Josi777 válasza pipi hozzászólására (») Máj 9, 2021 /
 
Jogos az észrevétel, hiszen nem tudjuk, hogy, milyen áramkör van rácsatlakoztatva. TTL-nél biztosan magas lesz, CMOS-nál meg lehet hogy magas lesz.
(#) Ráx Aladár hozzászólása Máj 13, 2021 /
 
Hali! Az arduino-t Bedugtam az egyik usb csatlakozóba, és hiába megyek az eszközkezelőbe, nem írja ki hogy melyik porton van, csak annyit hogy "FT232R USB UART".

Az arduino IDE programban pedig a port kiválasztása szekció nem is működik, halványan van kiírva, szóval arra még rákattintani sem tudok. Arduino nano-m van, arra is vannak beállítva a program beállításai. Próbáltam már letörölni, és újra letölteni a programot de egyszer se működött.

Van bárkinek ötlete mi lehet a gond?
(#) mnyugger válasza Ráx Aladár hozzászólására (») Máj 13, 2021 / 1
 
Itt egy sorral felettem:

Idézet:
„A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)”
(#) Ráx Aladár válasza mnyugger hozzászólására (») Máj 13, 2021 / 1
 
Köszi, időközben megnéztem a boardomat és rájöttem hogy tényleg a driver itt a hiba.
(#) Ráx Aladár hozzászólása Máj 13, 2021 /
 
Igen, letöltöttem a hozzá megfelelő illesztőprogramot, már látja a gépem az eszközt és fel is ismeri!

Megpróbáltam feltölteni a villogó tesztprogramot, de ezt a hibaüzenetet adja ki:
  1. Arduino: 1.8.14 (Windows Store 1.8.45.0) (Windows 10), Alaplap:"Arduino Nano, ATmega328P"
  2.  
  3. A vázlat 924 bájt (3%)-ot használ a program tárhelyből. A maximum 30720 bájt.
  4.  
  5. A globális változók 9 bájt (0%)-ot használnak a dinamikus memóriából, 2039 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.
  6.  
  7. avrdude: stk500_recv(): programmer is not responding
  8.  
  9. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x13
  10.  
  11. avrdude: stk500_recv(): programmer is not responding
  12.  
  13. avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x13
  14.  
  15. avrdude: stk500_recv(): programmer is not responding
  16.  
  17. avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x13
  18.  
  19. avrdude: stk500_recv(): programmer is not responding
  20.  
  21. avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x13
  22.  
  23. avrdude: stk500_recv(): programmer is not responding
  24.  
  25. avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x13
  26.  
  27. avrdude: stk500_recv(): programmer is not responding
  28.  
  29. avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x13
  30.  
  31. avrdude: stk500_recv(): programmer is not responding
  32.  
  33. avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x13
  34.  
  35. avrdude: stk500_recv(): programmer is not responding
  36.  
  37. avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x13
  38.  
  39. avrdude: stk500_recv(): programmer is not responding
  40.  
  41. avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x13
  42.  
  43. avrdude: stk500_recv(): programmer is not responding
  44.  
  45. avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x13
  46.  
  47. Problem uploading to board.  See https://support.arduino.cc/hc/en-us/sections/360003198300 for suggestions.
  48.  
  49.  
  50.  
  51. Ennek a jelentésnek több információja lehetne
  52. a "Bővebb kimenet mutatása fordításkor"
  53. opció engedélyezésével a Fájl -> Beállítások-ban.
(#) mnyugger válasza Ráx Aladár hozzászólására (») Máj 13, 2021 /
 
stk500 típusú programozót használsz?
A port jól van beállítva?
(#) Ráx Aladár hozzászólása Máj 13, 2021 /
 
A COM 3 van beállítva az eszközkezelőben és az arduino IDE-ben is.
(#) morgo válasza Ráx Aladár hozzászólására (») Máj 13, 2021 /
 
Processzornál állítsd old bootloaderre!
(#) szikorapéter hozzászólása Máj 18, 2021 /
 
Sziasztok.
Van egy programom ami SPWM jelet állít elő az arduino 2 kimenetén, egymással ellenfázisban.
Olyan kérdésem volna hogy ha átírom hogy A0 bemeneten a szokásos potméteres szabályozással 2hz-200hz közt tudjam változtatni az SPWM frekvenciáját, akkor az nem lenne már túl sok számítás az arduino részére?
A két kimenet a 9-es és 10-es PWM lábon jön le.

A kódot lentebb beillesztem.

  1. #include <avr/io.h>
  2. #include <avr/interrupt.h>
  3.  
  4. // Look up tables with 200 entries each, normalised to have max value of 1600 which is the period of the PWM loaded into register ICR1.
  5. int lookUp1[] = {
  6. 50 ,100 ,151 ,201 ,250 ,300 ,349 ,398 ,446 ,494 ,
  7. 542 ,589 ,635 ,681 ,726 ,771 ,814 ,857 ,899 ,940 ,
  8. 981 ,1020 ,1058 ,1095 ,1131 ,1166 ,1200 ,1233 ,1264 ,1294 ,
  9. 1323 ,1351 ,1377 ,1402 ,1426 ,1448 ,1468 ,1488 ,1505 ,1522 ,
  10. 1536 ,1550 ,1561 ,1572 ,1580 ,1587 ,1593 ,1597 ,1599 ,1600 ,
  11. 1599 ,1597 ,1593 ,1587 ,1580 ,1572 ,1561 ,1550 ,1536 ,1522 ,
  12. 1505 ,1488 ,1468 ,1448 ,1426 ,1402 ,1377 ,1351 ,1323 ,1294 ,
  13. 1264 ,1233 ,1200 ,1166 ,1131 ,1095 ,1058 ,1020 ,981 ,940 ,
  14. 899 ,857 ,814 ,771 ,726 ,681 ,635 ,589 ,542 ,494 ,
  15. 446 ,398 ,349 ,300 ,250 ,201 ,151 ,100 ,50 ,0 ,
  16. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  17. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  18. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  19. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  20. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  21. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  22. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  23. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  24. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  25. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0};
  26.  
  27. int lookUp2[] = {
  28. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  29. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  30. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  31. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  32. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  33. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  34. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  35. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  36. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  37. 0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,
  38. 50 ,100 ,151 ,201 ,250 ,300 ,349 ,398 ,446 ,494 ,
  39. 542 ,589 ,635 ,681 ,726 ,771 ,814 ,857 ,899 ,940 ,
  40. 981 ,1020 ,1058 ,1095 ,1131 ,1166 ,1200 ,1233 ,1264 ,1294 ,
  41. 1323 ,1351 ,1377 ,1402 ,1426 ,1448 ,1468 ,1488 ,1505 ,1522 ,
  42. 1536 ,1550 ,1561 ,1572 ,1580 ,1587 ,1593 ,1597 ,1599 ,1600 ,
  43. 1599 ,1597 ,1593 ,1587 ,1580 ,1572 ,1561 ,1550 ,1536 ,1522 ,
  44. 1505 ,1488 ,1468 ,1448 ,1426 ,1402 ,1377 ,1351 ,1323 ,1294 ,
  45. 1264 ,1233 ,1200 ,1166 ,1131 ,1095 ,1058 ,1020 ,981 ,940 ,
  46. 899 ,857 ,814 ,771 ,726 ,681 ,635 ,589 ,542 ,494 ,
  47. 446 ,398 ,349 ,300 ,250 ,201 ,151 ,100 ,50 ,0};
  48.  
  49.  
  50. void setup(){
  51.     // Register initilisation, see datasheet for more detail.
  52.     TCCR1A = 0b10100010;
  53.        /*10 clear on match, set at BOTTOM for compA.
  54.          10 clear on match, set at BOTTOM for compB.
  55.          00
  56.          10 WGM1 1:0 for waveform 15.
  57.        */
  58.     TCCR1B = 0b00011001;
  59.        /*000
  60.          11 WGM1 3:2 for waveform 15.
  61.          001 no prescale on the counter.
  62.        */
  63.     TIMSK1 = 0b00000001;
  64.        /*0000000
  65.          1 TOV1 Flag interrupt enable.
  66.        */
  67.     ICR1   = 1600;     // Period for 16MHz crystal, for a switching frequency of 100KHz for 200 subdevisions per 50Hz sin wave cycle.
  68.     sei();             // Enable global interrupts.
  69.     DDRB = 0b00000110; // Set PB1 and PB2 as outputs.
  70.     pinMode(13,OUTPUT);
  71. }
  72.  
  73. void loop(){; /*Do nothing . . . . forever!*/}
  74.  
  75. ISR(TIMER1_OVF_vect){
  76.     static int num;
  77.     // change duty-cycle every period.
  78.     OCR1A = lookUp1[num];
  79.     OCR1B = lookUp2[num];
  80.    
  81.     if(++num >= 200){ // Pre-increment num then check it's below 200.
  82.        num = 0;       // Reset num.
  83.      }
  84. }
(#) superuser válasza szikorapéter hozzászólására (») Máj 19, 2021 /
 
Határeset...
Szerintem már pont nem egészséges. Ezzel együtt ha nincsen más interruptod, akár még működhet is.
Ha jól látom 100kHz-re van beállítva a timer interrupt, aminek a 160 szorosa az órajel. Mindez 50 Hz kimenet eléréséhez. Ha négyszerezed a frekvenciát, akkor az interrupt vs órajel arány csak 1:40 lesz. Ha jól emlékszem ez az architektura egy órajelre egy utasítást hajt végre. Ezzel együtt lesz még pár plusz utasítás is.
Nézd meg assembly listingben, hogy hány utasítást foglal a timer kód.
(#) icserny válasza superuser hozzászólására (») Máj 19, 2021 /
 
De a 100 kHz csak a kommentben szerepel, az ICR1 regisztert viszont 1600-zal tölti fel a program. Akkor ez nem 10 kHz inkább?
(#) mateatek válasza icserny hozzászólására (») Máj 19, 2021 /
 
1599-es értékkel lenne pont 10 kHz.
(#) szikorapéter válasza superuser hozzászólására (») Máj 19, 2021 /
 
Szia, egyenlőre ott tartok (matekból nem vagyok túl jó) hogy nem tudtam eltolni a működési frekvenciát se alacsonyabbra se magasabbra potméterrel. Elkészült a bemenet, olvassa de nem sikerült belefűznöm szerintem rendesen a programba.
Következő: »»   692 / 838
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