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   46 / 850
(#) erdeidominik1999 hozzászólása Szept 6, 2014 /
 
Sziasztok! Hogyan tudok stringből int-re konvertálni, mert hibát ír ki rá. Hogyan lehetne ezt megoldani?
(#) Kovidivi válasza erdeidominik1999 hozzászólására (») Szept 6, 2014 /
 
Szia. Szövegböl számot elég nehéz elöãllítani. Maximum a betü ASCII kódját kapnád. Kicsit írd körül a problémát, mit is akarsz konvertálni. Stringben több betü van, az számként nézve több szám egymás után egy tömbben. Mi legyen ezzel a sok számmal? Hogyan csinálnál több számból egyet? Esetleg ha számot tárolsz a string tömbben, akkor ne stringként, hanem mondjuk int ként tárold már eleve.
(#) icserny válasza erdeidominik1999 hozzászólására (») Szept 6, 2014 /
 
A string karaktereit ellenőrizni kell, hogy számjegyek-e. A konvertáláshoz az atoi() függvény használható. Bővebben: Link
(#) szikorapéter hozzászólása Szept 6, 2014 /
 
Üdv. Olyan kérdésem volna hogy van itt egy ilyen módosított programom és valamiért nem fut végig mind a 11. lábig a ledsor csak a 7.-ig. Valaki eltudná nekem magyarázni hogy miért is van ez? Arduino UNO-t használok a mega 328p-vel.
  1. void setup(){
  2.       pinMode(0, OUTPUT);
  3.       pinMode(1, OUTPUT);
  4.       pinMode(2, OUTPUT);
  5.       pinMode(3, OUTPUT);
  6.       pinMode(4, OUTPUT);
  7.       pinMode(5, OUTPUT);
  8.       pinMode(6, OUTPUT);
  9.       pinMode(7, OUTPUT);
  10.       pinMode(8, OUTPUT);
  11.       pinMode(9, OUTPUT);
  12.       pinMode(10, OUTPUT);
  13.       pinMode(11, OUTPUT);
  14.     }
  15.      
  16.     void loop() {
  17.        digitalWrite(0, HIGH);
  18.        delay(100);
  19.        digitalWrite(0, LOW);
  20.        delay(50);
  21.      
  22.        digitalWrite(1, HIGH);
  23.        delay(100);
  24.        digitalWrite(1, LOW);
  25.        delay(50);
  26.      
  27.        digitalWrite(2, HIGH);
  28.        delay(100);
  29.        digitalWrite(2, LOW);
  30.        delay(50);
  31.      
  32.        digitalWrite(3, HIGH);
  33.        delay(100);
  34.        digitalWrite(3, LOW);
  35.        delay(50);
  36.      
  37.        digitalWrite(4, HIGH);
  38.        delay(100);
  39.        digitalWrite(4, LOW);
  40.        delay(50);
  41.      
  42.        digitalWrite(5, HIGH);
  43.        delay(100);
  44.        digitalWrite(5, LOW);
  45.        delay(50);
  46.      
  47.        digitalWrite(6, HIGH);
  48.        delay(100);
  49.        digitalWrite(6, LOW);
  50.        delay(50);
  51.      
  52.        digitalWrite(7, HIGH);
  53.        delay(100);
  54.        digitalWrite(7, LOW);
  55.        delay(50);
  56.        
  57.        digitalWrite(8, HIGH);
  58.        delay(100);
  59.        digitalWrite(8, LOW);
  60.        delay(50);
  61.        
  62.        digitalWrite(9, HIGH);
  63.        delay(100);
  64.        digitalWrite(9, LOW);
  65.        delay(50);
  66.        
  67.        digitalWrite(10, HIGH);
  68.        delay(100);
  69.        digitalWrite(10, LOW);
  70.        delay(50);
  71.        
  72.        digitalWrite(11, HIGH);
  73.        delay(100);
  74.        digitalWrite(11, LOW);
  75.        delay(50);
  76.      
  77.        digitalWrite(10, HIGH);
  78.        delay(100);
  79.        digitalWrite(10, LOW);
  80.        delay(50);
  81.        
  82.        digitalWrite(9, HIGH);
  83.        delay(100);
  84.        digitalWrite(9, LOW);
  85.        delay(50);
  86.        
  87.        digitalWrite(8, HIGH);
  88.        delay(100);
  89.        digitalWrite(8, LOW);
  90.        delay(50);
  91.        
  92.        digitalWrite(7, HIGH);
  93.        delay(100);
  94.        digitalWrite(7, LOW);
  95.        delay(50);
  96.      
  97.        digitalWrite(6, HIGH);
  98.        delay(100);
  99.        digitalWrite(6, LOW);
  100.        delay(50);
  101.      
  102.        digitalWrite(5, HIGH);
  103.        delay(100);
  104.        digitalWrite(5, LOW);
  105.        delay(50);
  106.      
  107.        digitalWrite(4, HIGH);
  108.        delay(100);
  109.        digitalWrite(4, LOW);
  110.        delay(50);
  111.      
  112.        digitalWrite(3, HIGH);
  113.        delay(100);
  114.        digitalWrite(3, LOW);
  115.        delay(50);
  116.      
  117.        digitalWrite(2, HIGH);
  118.        delay(100);
  119.        digitalWrite(2, LOW);
  120.        delay(50);
  121.        
  122.        digitalWrite(1, HIGH);
  123.        delay(100);
  124.        digitalWrite(1, LOW);
  125.        delay(50);
  126.     }


A válaszokat előre is köszönöm.
(#) erdeidominik1999 válasza Kovidivi hozzászólására (») Szept 6, 2014 /
 
Szia! Azt szertném megcsinálni, hogy adott 4 db független int-el létrehozott számom, mind a négy 1 számjegyű, ezután ezt szeretném stringgel egy számmá alakítani. Majd a végén azt szerném, hogy a string által összerakott szám (4 számjegy) egy 5. int-el létrehozott szám legyen.
(#) varttina válasza erdeidominik1999 hozzászólására (») Szept 6, 2014 /
 
Szia!
Szerintem felesleges string-é alakítani, majd vissza számmá. Ha a négy számjegyed négy int-ben (pl. i1, i2, i3, i4) van eltárolva, akkor az ötödik int értéke i5=(1000*i1)+(100*i2)+(10*i3)+i4 módon számolható.
(#) erdeidominik1999 válasza varttina hozzászólására (») Szept 6, 2014 /
 
Köszönöm szépen, ez nagyon jó ötlet, hogy én erre miért nem gondoltam?
(#) arduinoforever válasza szikorapéter hozzászólására (») Szept 6, 2014 / 1
 
Szia!
Próbáld így:

  1. void setup(){
  2.   for(byte i=0; i<12; i++){
  3.     pinMode(i,OUTPUT);
  4.   }
  5.   }
  6.  
  7.  void loop() {
  8.    for(byte i=0; i<12; i++){
  9.      digitalWrite(i, HIGH);
  10.      delay(100);
  11.      digitalWrite(i, LOW);
  12.      delay(50);
  13.    }
  14.    for(byte i=10; i>0; i--){
  15.      digitalWrite(i, HIGH);
  16.      delay(100);
  17.      digitalWrite(i, LOW);
  18.      delay(50);
  19.    }
  20.  }


Így a kód is csak fele akkora és könnyedén bővítheted vagy csökkentheted a kimenetek számát!
A hozzászólás módosítva: Szept 6, 2014
(#) newen hozzászólása Szept 7, 2014 /
 
sziasztok. processing programozásnál duplaablakos (multiple windows) rendszernél, hogyan lehet egyik ablakról a másikra hivatkozni.
Egy ablakos rendszernél egy másik 2d formára való hivatkozás nem probléma
lásd
  1. int value=1;
  2.  
  3. void setup(){
  4.   size(200,200);
  5. }
  6.  
  7. void draw(){
  8.   fill(0);
  9.   rect(10,80,10,10);
  10.  
  11.   fill(value);
  12.   ellipse(10,10,10,10);
  13. }
  14.  
  15. void mousePressed(){
  16.   if((mouseX>=10) && (mouseX<=20) && (mouseY>=80) && (mouseY<=90)){
  17.   if (value==0) {
  18.     value=255;
  19.   } else {  
  20.    value=0;
  21. }
  22. }
  23. }
  24.  
  25. de két ablaknál mousepressednél már nem tudom hogyan kell szétválasztani az elsődleges és a másodlagos ablakot
  26. lásd
  27.  import javax.swing.JFrame;
  28.  
  29.     PFrame f;
  30.     secondApplet s;
  31.  
  32.     void setup() {
  33.      size(320, 240);
  34.      PFrame f = new PFrame();
  35.     }
  36.  
  37.     void draw() {
  38.       background(255,0,0);
  39.        fill(5);
  40.        rect(100, 40, 20, 20);
  41.        s.background(0, 0, 255);
  42.        s.fill(0);
  43.        s.ellipse(40,40,40,40);
  44.        s.redraw();
  45.     }
  46.  
  47.     public class PFrame extends JFrame {
  48.         public PFrame() {
  49.             setBounds(100,100,400,300);
  50.             s = new secondApplet();
  51.             add(s);
  52.             s.init();
  53.             show();
  54.         }
  55.     }
  56.  
  57.     public class secondApplet extends PApplet {
  58.         public void setup() {
  59.            // size(400, 300);
  60.            // noLoop();
  61.         }
  62.         public void draw() {
  63.         }
  64.     }
A hozzászólás módosítva: Szept 7, 2014
(#) szikorapéter válasza arduinoforever hozzászólására (») Szept 7, 2014 / 1
 
Köszönöm. Tényleg sokkal rövidebb a program mégis ugyan azt tudja. Van mit még tanulnom a témával kapcsolatban.
(#) misi93 hozzászólása Szept 11, 2014 /
 
Sziasztok. A minap vettem egy arduino nano-t. El szeretnék kezdni programozgatni . Csak a probléma az, hogy nem ismeri fel a windows, csak az egyéb eszközökben van. Illesztőprogram nincs telepítve arra panaszkodik. Illesztőprogramot nem találtam hozzá, mit lehetne tenni tudtok segíteni?
A válaszokat Köszönöm.

Szerk.: ha összedugom géppel akkor a "pow" led pirosan világít és az "L" led villog zölden.
A hozzászólás módosítva: Szept 11, 2014
(#) solti_imre válasza misi93 hozzászólására (») Szept 11, 2014 /
 
Ezen a linken megtalálod az installálás leírását
(#) misi93 válasza solti_imre hozzászólására (») Szept 11, 2014 /
 
Köszönöm szépen! Végülis sikerült jobban utána néztem, és amit vettem az egy klón. Más benne az usb soros átalakító, ezért nem működött, a hozzá való drivert letöltöttem és tökéletesen működik. ( sikerült is gyorsan összedobnom egy fbi villogót )
A hozzászólás módosítva: Szept 11, 2014
(#) ISF79 hozzászólása Szept 11, 2014 /
 
Sziasztok!

Van arra lehetőség, hogy egyszerre olvassak be két potmétert (A0, A3) és az értéküket kiírjam?
Bárhogyan próbálom, nálam egyszerre, rendszertelenül változik mindkét poti értéke.
Próbáltam void() -on belül beolvasni mindkettőt, külön funkciót is csináltam nekik, nem jön össze.

  1. const int poti1 = A0;  
  2. const int poti2 = A3;    
  3.  
  4. void setup() {
  5.   pinMode(poti1, INPUT);
  6.   pinMode(poti2, INPUT);
  7.   Serial.begin(9600);
  8. }
  9.  
  10. void loop() {
  11.   int ertek1 = analogRead(poti1);            
  12.   int ertek2 = analogRead(poti2);            
  13.   Serial.print("1: " );                    
  14.   Serial.print(ertek1);
  15.   delay(10);
  16.   Serial.print(" " );  
  17.   Serial.print("2: " );                    
  18.   Serial.println(ertek2);        
  19.   delay(300);                    
  20. }
A hozzászólás módosítva: Szept 11, 2014
(#) reloop válasza ISF79 hozzászólására (») Szept 11, 2014 /
 
18. sorban a print legyen: ertek2.
(#) ISF79 válasza reloop hozzászólására (») Szept 11, 2014 /
 
Javítottam, köszi.

Az csak egy itteni elírás volt, nem az a probléma sajnos.
(#) reloop válasza ISF79 hozzászólására (») Szept 11, 2014 /
 
Hogyan, illetve mire kötötted a potikat?
(#) ISF79 válasza reloop hozzászólására (») Szept 11, 2014 /
 
Poti1: gnd, 5v, A0
Poti2: gnd, 5v, A3

Ehh, egyik poti hibás volt...
Kicseréltem, működik a kód rendesen.

Nem sértődöm meg, ha moderátor törli ezt a pár kommentem
A hozzászólás módosítva: Szept 11, 2014
(#) erdeidominik1999 hozzászólása Szept 12, 2014 /
 
Sziasztok! Találtam a neten az alábbi programot, ezzel elvileg dsc riasztó klavíatúráját lehetne működtetni, de nekem nem ilyen típusú dsc-m van, szerintem nem egyeznek a kódok, mert nem működik rendesen, pl.: a gombokat egyáltalán nem veszi. Kérdésem: Hogyan lehetne egy olyan programot összedobni, amivel pl ha benyomom az 1-es gombot soros monitorba kiírja a kódját, így tudnám módosítania a kódot. De igazság szerint a ledek működnek, de azt sem értem teljesen, hogy hogyan, mert sorba mennek egymás után, hogyan lehetne, hogy csak egy konkrét gyulladjon ki?
Itt találtam a programot:
Bővebben: Link

Előre is nagyon köszi!
A hozzászólás módosítva: Szept 12, 2014
(#) Kovidivi hozzászólása Szept 13, 2014 /
 
Sziasztok!
Találtam egy nagyon érdekes izolátor IC-t Ebay-en. 4 feszültséget kellene leválasztanom, vagy egy SPI kommunikációs csatornát. Mit gondoltok erről az IC-ről? Ebay link, PDF adatlap. Nekem szimpatikusabb lenne, ha inkább a 4 mérendő feszültséget választanám le, csak nem tudom, hogy mennyire lenne pontos? Ezt valószínűleg csak méréssel lehetne kideríteni.
A kérdésem, hogy ez az IC használható SPI kommunikáció leválasztására is? Vagy érdemesebb lenne optokapukat használni?
Köszönöm!
(#) Kovidivi válasza (Felhasználó 15355) hozzászólására (») Szept 13, 2014 /
 
Szia!
16MHz-nél, 128-as előosztóval kapok 125KHz-et, igaz, az eléggé a határon van.
Akkor keresek opto csatolós leválasztást. Legjobb lenne, ha valami spéci IC-t találnék.
Köszönöm a segítséget!
(#) icserny válasza Kovidivi hozzászólására (») Szept 13, 2014 /
 
Idézet:
„Legjobb lenne, ha valami spéci IC-t találnék.”

ADUM1411 (Analog Devices) vagy ISO7241C (Texas Instruments).
(#) Kovidivi válasza icserny hozzászólására (») Szept 13, 2014 /
 
Szia!
Köszi szépen! Kicsit drágának találom az IC-ket.
PC817-et találtam, 50db 2.53$, ezek "High Speed" optók.
Ezt és ezt próbálom majd ki, nagy sebesség nem kell. 125KHz is bőven elegendő szerintem, 1-3byte-ot küldenék csak.
(#) Kapcsolj hozzászólása Szept 14, 2014 /
 
Van egy elméleti kérdésem.
Ha van egy Arduino UNO-m, és 8 4051-es IC-m (multiplexer), akkor 64 kapcsoló állását be tudom olvasni? Fizikailag nem kevés hozzá a láb az arduinon?
És ezt gyakorlatilag megéri csinálni? Mennyi idő kb. végigszaladni 64 kapcsolón? Végcélom egy MIDI billentyűzet.
(#) csabeszq válasza Kapcsolj hozzászólására (») Szept 15, 2014 /
 
Simán megcsinálhatod. Gondolj bele, hogy az Arduino 16 MHz órajellel fut, ha ügyes vagy 100 ciklusonként simán beolvasol egy értéket, akkor 16Mhz/64/100 = 2500 szor tudod másodpercenként végigolvasni.

De mondjuk nem így szokták csinálni, hanem shift regiszterrel.

http://www.sinneb.net/?p=421

Ez jóval kevesebb erőforrást igényel, mert egyszerre 8 billentyűt olvasol be.
(#) kovacs gabor daniel hozzászólása Szept 15, 2014 /
 
Sziasztok! Már közel fél éve használok egy Arduino UNO-t. Találtam néhány alkalmazást arra, hogy az arduino által felprogramozott atmega328-at függetlenűl is használhatom néhány alkatrész igénybe vételével. Ez nagyon megtetszedt, mivel így csak egy egyszerű avr-t kell vegyek és helyettesíthetem vele az arduinomat . Az lenne a kérdésem, hogy ha egy bootloader nélküli atmega328-at teszek bele, akkor azt fel tudom programozni az arduino felhasználói felülettel vagy feltétlen szükséges rá egy bootloader? A bootloader égetésével, szerepével nem teljesen vagyok tisztában... Ha egy bootloaderrel ellátott atmega328-at veszek, (ami jóval drágább) akkor evel egyszerűen helyettesíthetem az arduino-ban találhato avr-t?
(#) mikrokapcsolo válasza kovacs gabor daniel hozzászólására (») Szept 15, 2014 /
 
Elég egy sima avr is. Van a youtube-on egy videó, arduino as isp címen, ott megmutatja, hogyan kell a bootloadert beleégetni, valamint a saját programot futtatni vele.
(#) kovacs gabor daniel válasza mikrokapcsolo hozzászólására (») Szept 15, 2014 /
 
Köszi a gyors választ, megtaláltam a videót, így a problémáim megoldásra találtak . Még azt szeretném kérdezni, hogy egy ilyen atmega328-at hogyan lehet belső oszcillátorral használni? Egyszerűbb feladatokra (pl. feszültségmérés) használható így is, vagy a quartz és a kondik feltétlenűl szükségesek?
(#) mikrokapcsolo válasza kovacs gabor daniel hozzászólására (») Szept 15, 2014 /
 
Ha az aduino bootloaderét égeted bele, akkor a külsőt használja. Ha belsőt szeretnél használni, akkor ki kell silabizálnod annak a beállításait.
(#) Kera_Will válasza Kapcsolj hozzászólására (») Szept 16, 2014 /
 
2db cd4067 1-16/16-1 (de)multiplexerrel akár maximálisan 512 db kontaktust is le tudsz kezelni 10 db porton keresztül.
Ebből 4 - 4 db címez 1 - 1 db pedig ki/bemenetként az Arduinón.

Így akár 2db 4051el is tudsz 128 kapcsolót lekérdezni 8 db porton keresztül.
3 3 db port a címzéshez és 1 1 port a ki/bemenetként.

Mátrixot csinálsz és a mátrix kereszteződéseiben 1 1 db diódát szembe is raksz amiket a kontaktusok kapcsolnak be felváltva, de akár egyszerre is lenyomhatók.Bármelyik helyzet érzékelhető.
Következő: »»   46 / 850
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