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   110 / 856
(#) lajos1969 válasza lajos1969 hozzászólására (») Máj 8, 2015 /
 
Egy kicsit azért reménykedtem, hogy itt lesz valaki akinek "csípőből" menni fog!!
(#) icserny válasza lajos1969 hozzászólására (») Máj 8, 2015 /
 
Idézet:
„Egy kicsit azért reménykedtem, hogy itt lesz valaki akinek "csípőből" menni fog!”
Ha nem is itt, akkor az Interneten... Vannak, akik cikket is írtak egy hasonló robotról, érdeme tanulmányozni (természetesen az Arduino programozás elsajátítása mellett).

További hasznos linkek:
- Arduino kezdőknek
- Robotika kezdőknek
- 60 nap alatt Arduino tanfolyam
- Robotika cikkek a HE fórumán
A hozzászólás módosítva: Máj 8, 2015
(#) lajos1969 válasza icserny hozzászólására (») Máj 8, 2015 /
 
Még egyszer köszönöm a segítséget! Tanulmányozom a cikkeket!
(#) Fizikus válasza lajos1969 hozzászólására (») Máj 9, 2015 /
 
Ezzel a resszel lesz a gond:
  1. int readPing() {
  2.   int cm = 0;
  3.   while (cm < 2) {
  4.     int uS = sonar.ping();
  5.     cm = uS/US_ROUNDTRIP_CM;
  6.   }
  7.   return cm;
  8. }

Az elejen a cm ertekenek 0-t ad meg. Utana mer amig a cm erteke nem lesz 2-nel nagyobb.
Azzal van a gond, ha a robot elott nincs akadaly, mert ekkor 0 erteket ad valaszul, ami kisebb 2-nel ezert ujra merni kezd... Ha eleteszel valamit, akkor mar valoszinuleg 2cm-nel nagyobb lesz a tavolsag, ezert kilep a while ciklusbol es megy tovabb.
A hozzászólás módosítva: Máj 9, 2015
(#) lajos1969 válasza Fizikus hozzászólására (») Máj 9, 2015 /
 
Nagyon köszönöm! Akkor hogy lenne jó ez a rész? Mit írjak ár mire?
(#) Fizikus válasza lajos1969 hozzászólására (») Máj 9, 2015 /
 
Nem teszteltem, de probald ki ezt:

  1. int readPing() {
  2.   int cm = 0;
  3.     int uS = sonar.ping();
  4.     cm = uS/US_ROUNDTRIP_CM;
  5.   if (cm == 0) cm = 400;
  6.   return cm;
  7. }
(#) lajos1969 válasza Fizikus hozzászólására (») Máj 9, 2015 /
 
Köszi!
Kipróbáltam a probléma még fennáll!!
A hozzászólás módosítva: Máj 9, 2015
(#) lajos1969 hozzászólása Máj 9, 2015 /
 
Még egy videó!!
(#) Fizikus válasza lajos1969 hozzászólására (») Máj 9, 2015 / 1
 
Meg ezt kiprobalhatod: A programban az alabbi fuggvenyekbe tegyel <= jelet a < helyett.
  1. void changePath() {
  2.   if (pos <= 90) { veerLeft(); }
  3.   if (pos > 90) { veerRight(); }
  4. }
  5.  
  6. void setCourse() {
  7.   if (pos <= 90) { turnRight(); }
  8.   if (pos > 90) { turnLeft(); }
  9. }


Ha ezutan se jo, akkor nincs tobb otletem.
A hozzászólás módosítva: Máj 9, 2015
(#) lajos1969 válasza Fizikus hozzászólására (») Máj 9, 2015 /
 
Nagyon köszönöm!
Ezzel a változtatással már elég szépen megy, nem is áll meg s csak forog a szervó mint az elején a videón! Még olyanokat csinál, hogyha nincs előtte semmi akkor is gondol egyet s elfordul, olyan mintha abba az irányba amit forgás közben messzebbnek lát??!!
Vagy valami zavart szed össze talán??
Még egyszer köszönöm szépen!!!
(#) Fizikus válasza lajos1969 hozzászólására (») Máj 10, 2015 /
 
Az ultrahangos tavmeronel elofordul hogy nem a kozvetlen visszhangot, hanem szort visszhangot erzekeli. De zavart is osszeszedhet az Arduino. Eztek nagy reszet ki tudod kuszobolni, ha tobb meres eredmenyet atlagolod (pl 3 meres).
Csak akkor fogod teljesen atlatni a robot mukodeset ha teljesen te irod a programjat hasonloan mint itt (cask a Sharp szenzoros tavmeres fuggvenyt kell kicserlened az ultrahangos tavmero fuggvenyre, es a motorok bekotesenek megfeleloen azt a reszt atirni):
akadalykikerulo robot
akadalykikerulo robot 2
(#) lajos1969 válasza Fizikus hozzászólására (») Máj 10, 2015 /
 
Köszönöm az infókat!!
Ez sajna nekem nem igen fog még menni, köszi az eddigieket, egyenlőre marad így ahogy van majd ha megtanulom akkor megpróbálom azokat amit írtál!!
(#) szikorapéter hozzászólása Máj 10, 2015 /
 
ÜDv. Volna egy ilyen programom,viszont egyszerűen mindig beleköt valamibel fordítás közben az arduino programja. Mi lehet a probléma?
  1. 1 // Simple AM Radio Signal Generator :: Markus Gritsch
  2. 3 //
  3. 4 // /|\ +5V ANT
  4. 5 // | \ | /
  5. 6 // | −−−−−−−−−−−−−−−− \|/
  6. 7 // | | R1 | Arduino 16 MHz | C2 |
  7. 8 // | | 47k | | || | about
  8. 9 // audio C1 | | | TIMER_PIN >−−−−−||−−−−−+ 40Vpp
  9. 10 // input || | | | || |
  10. 11 // o−−−−−||−−−−−+−−−−−−−> INPUT_PIN | 1nF |
  11. 12 // +|| | | | )
  12. 13 // 1µF | | R2 | ATmega328P | ) L1
  13. 14 // | | 47k −−−−−−−−−−−−−−−− fres = ) 47uH
  14. 15 // fg < 7 Hz | | 734 kHz )
  15. 16 // | |
  16. 17 // | |
  17. 18 // −−− GND −−− GND
  18. 19 //
  19. 20 // fg = 1 / ( 2 * pi * ( R1 || R2 ) * C1 ) < 7 Hz
  20. 21 // fres = 1 / ( 2 * pi * sqrt( L1 * C2 ) ) = 734 kHz
  21. 22
  22. 23 #define INPUT_PIN 0 // ADC input pin
  23. 24 #define TIMER_PIN 3 // PWM output pin, OC2B (PD3)
  24. 25 #define DEBUG_PIN 2 // to measure the sampling frequency
  25. 26 #define LED_PIN 13 // displays input overdrive
  26. 27
  27. 28 #define SHIFT_BY 3 // 2 ... 7 input attenuator
  28. 29 #define TIMER_TOP 20 // determines the carrier frequency
  29. 30 #define A_MAX TIMER_TOP / 4
  30. 31
  31. 32 void setup() {
  32. 33 pinMode( DEBUG_PIN, OUTPUT );
  33. 34 pinMode( TIMER_PIN, OUTPUT );
  34. 35 pinMode( LED_PIN, OUTPUT );
  35. 36
  36. 37 // set ADC prescaler to 16 to decrease conversion time (0b100)
  37. 38 ADCSRA = ( ADCSRA | _BV( ADPS2 ) ) & ~( _BV( ADPS1 ) | _BV( ADPS0 ) );
  38. 39
  39. 40 // non−inverting; fast PWM with TOP; no prescaling
  40. 41 TCCR2A = 0b10100011; // COM2A1 COM2A0 COM2B1 COM2B0 − − WGM21 WGM20
  41. 42 TCCR2B = 0b00001001; // FOC2A FOC2B − − WGM22 CS22 CS21 CS20
  42. 43
  43. 44 // 16E6 / ( OCR2A + 1 ) = 762 kHz @ TIMER_TOP = 20
  44. 45 OCR2A = TIMER_TOP; // = 727 kHz @ TIMER_TOP = 21
  45. 46 OCR2B = TIMER_TOP / 2; // maximum carrier amplitude at 50% duty cycle
  46. 47 }
  47. 48
  48. 49 void loop() {
  49. 50 // about 34 kHz sampling frequency
  50. 51 digitalWrite( DEBUG_PIN, HIGH );
  51. 52 int8_t value = ( analogRead( INPUT_PIN ) >> SHIFT_BY )
  52. 53 ( 1 << ( 9 − SHIFT_BY ) );
  53. 54 digitalWrite( DEBUG_PIN, LOW );
  54. 55
  55. 56 // clipping
  56. 57 if ( value < −A_MAX ) {
  57. 58 value = −A_MAX;
  58. 59 digitalWrite( LED_PIN, HIGH );
  59. 60 } else if ( value > A_MAX ) {
  60. 61 value = A_MAX;
  61. 62 digitalWrite( LED_PIN, HIGH );
  62. 63 } else {
  63. 64 digitalWrite( LED_PIN, LOW );
  64. 65 }
  65. 66
  66. 67 OCR2B = A_MAX + value;
  67. 68 }
  68. end
(#) Fizikus válasza szikorapéter hozzászólására (») Máj 10, 2015 /
 
A vegere nem kell az end, es meg az osszes hosszu kivonas jelet (−) csereljed ki rendes kivonasra (-). Pl.: −A_MAX helyett -A_MAX kell. Az 52-ik es az 53-ik sor az tulajdonkeppen egyetlen sor, rakhatod egyetlen sorba is.
A hozzászólás módosítva: Máj 10, 2015
(#) szikorapéter válasza Fizikus hozzászólására (») Máj 10, 2015 /
 
Kijavítottam a hibát amit írtál,és jött a következő,amikoris:

23 #define INPUT_PIN 0 // ADC input pin

Sornál nem tetszik neki a # jelzés az elején.
(#) Fizikus válasza szikorapéter hozzászólására (») Máj 10, 2015 /
 
Nalam siman lefordult!
Ugye a #define elott nincs ott a 23-as sorszam a programodba? Mert ha veletlenul ott lenne, akkor az osszes sor elejerol torold le a sorszamokat!
(#) szikorapéter válasza Fizikus hozzászólására (») Máj 10, 2015 / 1
 
Tehát a programban a sorok előtt ne legyenek számok. Megpróbálom.
(#) Fizikus válasza szikorapéter hozzászólására (») Máj 10, 2015 /
 
Igen, sehol se legyenek sorszamok. Nezzed meg pl. ennek az oldalnak az aljan levo peldaprogramot:
Bővebben: Link
(#) varttina hozzászólása Máj 10, 2015 /
 
Sziasztok!
Nokia 3310-es telefonból bontott LCD-t akarok Arduino Nano-val működésre bírni. Az egyik kérdésem, hogy kell e az 5V-os Arduino és a 3,3V-os LCD közé szintillesztő? A legtöbb ábrán, amit láttam ugyanis nincs ilyen. A másik kérdésem pedig, hogy feltétlenül kell-e vezérlés a "Chip enable" és a "Reset" lábra, vagy pedig elegendő, ha GND-re valamint VCC-re húzom?
(#) szikorapéter válasza Fizikus hozzászólására (») Máj 10, 2015 /
 
Köszönöm a program kiválóan működik.
(#) icserny válasza varttina hozzászólására (») Máj 10, 2015 /
 
Egy köztes megoldás: soros ellenállások használata és a tápellátás 3,3 V-ra van kötve. Bővebben: Link
(#) Fizikus válasza varttina hozzászólására (») Máj 10, 2015 /
 
E szerint, ha hosszabb tavon is szeretned a kijelzot hasznalni, akkor mindenkeppen ajanlatos 3.3V-rol jaratni:
Bővebben: Link
(#) varttina válasza Fizikus hozzászólására (») Máj 10, 2015 /
 
Köszönöm!
Akkor minden adatvonalra szintillesztő lesz beépítve. a három vezetékes vezérlést pedig majd kipróbálom.
Gondolom 4050-es IC helyett megteszi a két-két ellenállásból készült feszültség osztó is.
A hozzászólás módosítva: Máj 10, 2015
(#) kapu48 válasza varttina hozzászólására (») Máj 10, 2015 /
 
Ez nem biztos! Lehet, hogy zajos lesz a kijelződ!
Inkább válaszd az IC-s módszert!

Ez ís: Ronda csíkos!
A hozzászólás módosítva: Máj 10, 2015
(#) varttina válasza kapu48 hozzászólására (») Máj 10, 2015 /
 
Mivel éppen nem találtam itthon 4050-es IC-t megépítettem az ellenállásos változatot. Így is kristálytiszta a kép.
(#) airwalker hozzászólása Máj 10, 2015 /
 
Üdv mindenkinek!
Építgetek egy Gainclonet, amit Arduino vezérel. Megépítettem ezt az áramkört, Mega lapra. Többé kevésbé működik, a távirányítós részével annyi gondom akad, hogy az alkalmazni kívánt táv kétfajta kódot küld : pl 104C7 vagy 4C7. Minden gombnyomásra a vált, hol az 5 jegyű hol a 3 jegyű, és egy "gombnyomás" erejéig sem csak egy kódot küld, ezzel ide oda ugrálva a menübe. Ez a kisebb gond, ha nem tudom megoldani másik távot használok. A másik nehézség, hogy a kimeneten semmi hang nincs, próbáltam bemenő jelet adni neki egy bemenetére, sikertelenül. Még halk búgás sincs, mint a többi ilyen eszköznél feltekert hangerőn. Egy alkalommal véletlenül fordított polaritással tápláltam meg az áramkört. Az Arduino továbbra is teszi a dolgát, de mintha a TDA7439 eddigi "üzemmelege" eltűnt volna. Okozhatta ez a felcserélés az IC végét?

gainclone.ino
    
(#) proba válasza airwalker hozzászólására (») Máj 11, 2015 /
 
A Fordított tápot semmi nem szereti, bár inkább zárlattal szokták meghálálni.Igazából olyan kevés külső alkatrész van, ha az alap suhogás nincs, tápok megvannak akkor valószínűleg rossz.
A távirányítót úgy használnám, mindegy melyik kódot küldi, a vezérlés idő alapú lenne.Kinégyszögesíteni, mintha egy sima nyomógomb lenne, utána a szünetek, hosszú , rövid gombnyomás már jól megkülönböztethető .
(#) Panhard hozzászólása Máj 11, 2015 /
 
Sziasztok!
Egy olyan kérdésem lenne, hogy Arduinoval (ATMEGA328P) lehet-e 2db SD kártyát kezelni? Az addig ok, hogy a MOSI és SCK jeleket mindkét kártya megkapja, a Chip Select kimenet pedig kártyánként más az Arduino oldalról, aminek a port számait meg kell adni a programban. De mi a helyzet a MISO jellel? Ez az SD kártya kimenete. Ezeket össze lehet kötni? Nem húzza le vagy fel az egyik a másikat?
A hozzászólás módosítva: Máj 11, 2015
(#) kapu48 válasza Panhard hozzászólására (») Máj 11, 2015 /
 
Csak amelyik kártya Chip Select bemenete aktív azzal kommunikálhatsz. Ezért nem zavarják egymást!
Más kérdés, hogy az arduinó IDE tud e több kártyát kezelni, vagy átengedi e, a felhasználónak a választást?
(#) Kera_Will válasza Panhard hozzászólására (») Máj 11, 2015 /
 
Oda is kell rakni akkor bemeneti adat szelektor kapukat MISO jelre. Amik egyszerre "mozognak" a chipselectel ...
Aztán a fatot és egyébb allokációkat cahce tartalmat miként kezeli az sd és a uC azt programmal kell valószínűleg jobban kézben tartani ... Időzítések ...stb.
Következő: »»   110 / 856
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