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   193 / 853
(#) kapu48 válasza Tibicsek hozzászólására (») Feb 19, 2016 /
 
A 65. sorban létrehozód a változót! De értéket nem adsz neki?
  1. volatile long int homerseklet;
  2.   if (encoertek >> homerseklet){
  3.     digitalWrite(futes, HIGH);
  4.   }

(#) Tibicsek válasza kapu48 hozzászólására (») Feb 19, 2016 /
 
milyen értéket adjak neki? egy kiolvasott érték ezt olvassa ki a max vagy nem?
A hozzászólás módosítva: Feb 19, 2016
(#) kapu48 válasza Tibicsek hozzászólására (») Feb 19, 2016 /
 
Akkor igy már lenne valami értelme is:
  1. volatile long int Homerseklet = homerseklet.readCelsius();
  2.   if (encoertek >> Homerseklet){
  3.     digitalWrite(futes, HIGH);
  4.   }

(#) Tibicsek válasza kapu48 hozzászólására (») Feb 19, 2016 /
 
expected initializer before '.' token ezt a hibát dobja ki
(#) kapu48 válasza Tibicsek hozzászólására (») Feb 19, 2016 /
 
Nállam pedig le fordult hiba nélkül!
  1. #include <LiquidCrystal.h>
  2. #include <Wire.h>
  3. #include <max6675.h>
  4.  
  5. int encoderPin1 = 2;
  6. int encoderPin2 = 3;
  7. int lastMSB = 0;
  8. int lastLSB = 0;
  9. int maxDO = 5;
  10. int maxCS = 6;
  11. int maxCLK = 7;
  12. int futes = 4;
  13.  
  14. volatile int lastEncoded = 0;
  15. volatile long encoertek = 0;
  16.  
  17. long lastencoderValue = 0;
  18. unsigned long elozoido = 0;
  19. unsigned long most;
  20.  
  21. LiquidCrystal lcd(8, 9, 10, 11, 12, 13);
  22. MAX6675 homerseklet(maxCLK, maxCS, maxDO);
  23.  
  24. uint8_t degree[8] = {140,146,146,140,128,128,128,128};
  25.  
  26. void setup() {
  27.   Serial.begin(9600);
  28.   lcd.begin(16, 2);
  29.   lcd.createChar(0, degree);
  30.  
  31.   pinMode(encoderPin1, INPUT_PULLUP); //felhúzó ellenállás
  32.   pinMode(encoderPin2, INPUT_PULLUP); //felhúzó ellenállás
  33.  
  34.   attachInterrupt(0, updateEncoder, CHANGE);
  35.   attachInterrupt(1, updateEncoder, CHANGE);
  36.   //meghívjuk updateEncoder() amikor több magas/alacsony változás van figyeljük
  37.   //a 2es pin megszakítás 0 a 3-as pedig megszakítás 1
  38. }
  39.  
  40. void loop(){
  41.  
  42.   lcd.clear();
  43.   lcd.setCursor(0,0);
  44.   lcd.print("Beallitott");
  45.   lcd.setCursor(11,0);
  46.   lcd.print(encoertek);
  47.   #if ARDUINO >= 100
  48.   lcd.write((byte)0);
  49.   #else
  50.   lcd.print(0, BYTE);
  51.   #endif
  52.   lcd.print("C ");
  53.  
  54.   lcd.setCursor(0,1);
  55.   lcd.print("Mert");
  56.   lcd.setCursor(6,1);
  57.   lcd.print(homerseklet.readCelsius());
  58.   #if ARDUINO >= 100
  59.   lcd.write((byte)0);
  60.   #else
  61.   lcd.print(0, BYTE);
  62.   #endif
  63.   lcd.print("C ");
  64.   delay(500);
  65.   volatile long int Homerseklet = homerseklet.readCelsius();
  66.   if (encoertek >> Homerseklet){
  67.     digitalWrite(futes, HIGH);
  68.   }
  69. }
  70. void updateEncoder(){
  71.   int MSB = digitalRead(encoderPin1); //MSB bit
  72.   int LSB = digitalRead(encoderPin2); //LSB bit
  73.  
  74.   int encoded = (MSB << 1) |LSB; //2es pin értékét sima 1 számmá alakítjuk
  75.   int sum  = (lastEncoded << 2) | encoded; //hozzáadás az előző encoder értékhez
  76.  
  77.   if(sum == 0b1101 || sum == 0b0100 || sum == 0b0010 || sum == 0b1011) encoertek ++;
  78.   if(sum == 0b1110 || sum == 0b0111 || sum == 0b0001 || sum == 0b1000) encoertek --;
  79.   int maximum = 350;
  80.   int minimum = 0;
  81.   if (encoertek < minimum) {encoertek = minimum;}
  82.   if (encoertek > maximum) {encoertek = maximum;}
  83.   lastEncoded = encoded; //tároljuk az értéket a következő időben
  84. }
(#) Balázs válasza Tibicsek hozzászólására (») Feb 20, 2016 /
 
Itt biztosan shiftelni akarsz, és nem összehasonlítani?

  1. if (encoertek >> Homerseklet)
(#) Tibicsek válasza Balázs hozzászólására (») Feb 20, 2016 /
 
összhasonlítani szeretnék és nekem nem fordítja le sem az 1.6.7es verzióba sem az 1.0.5ösen.
A hozzászólás módosítva: Feb 20, 2016
(#) icserny válasza erik001 hozzászólására (») Feb 20, 2016 /
 
Tisztázni kellene, hogy az általad használni kívánt "LED amplifier" milyen bemenőjelet igényel.
Az egyik úriember pl. nem a LED erősítőt, hanem a benne levő FET-eket vezérli Arduinoval. Bővebben: Link
(#) kapu48 válasza Tibicsek hozzászólására (») Feb 20, 2016 /
 
Figyelj oda, a kis és Nagy betükre! Mert nem mindegy!
(És ne pirossal szedjed a Nagy betüt!)

A fügvénykönyvtáradat kis betűvel példányosítottad: homerseklet
MAX6675 homerseklet(maxCLK, maxCS, maxDO);

A változót amibe beolvasod az értéket Nagybetűvel: Homerseklet
volatile long int Homerseklet;

Ebbe olvasodbe az értéket:
Homerseklet = homerseklet.readCelsius();

Uttána ezt az értéket hasonlítod össze: if (encoertek >> Homerseklet)

Igy nem fog neked . -ot követelni!
(#) Tibicsek válasza kapu48 hozzászólására (») Feb 20, 2016 /
 
Mostmár megvan Köszönöm! a fordításkor nemtalál hibát, de az istenért sem akarja a 4es lábat Magas szintre húzni, mert ugye aztakarom elérni, hogyha az encoertek nagyobb, mint homerseklet akkor emelje a 4-e lábat magas szintre ésha a feltétel nem teljesül akkor maradjon alacsony szinten szerinted miért nem csinálja azt amit szeretnék?
(#) kapu48 válasza Tibicsek hozzászólására (») Feb 20, 2016 /
 
Ilyenkor jön a hibakeresés!

Kiegészíted a programodat pár print rutinnal, és figyeled a monitórt!
PL. igy:
  1. volatile long int Homerseklet = homerseklet.readCelsius();
  2.  
  3.  Serial.print("encoertek= "); Serial.println(encoertek);
  4.  Serial.print("Homerseklet= "); Serial.println(Homerseklet);
  5.  
  6.    if (encoertek >> Homerseklet){
  7.     digitalWrite(futes, HIGH);
  8.   }
(#) szitko válasza Tibicsek hozzászólására (») Feb 20, 2016 /
 
Idézet:
„szerinted miért nem csinálja azt amit szeretnék?”

Mert nem figyeltél oda arra, amit Balázs írt.

  1. if (encoertek >> Homerseklet) helyett if (encoertek > Homerseklet)

De a jelen programod szerint, ha a fenti feltétel egyszer teljesül a 4-es láb mindig magasan marad, még akkor is ha már nem igaz a feltétel.
Csinálj "else" ágat a feltételnek:
  1. if (encoertek > Homerseklet){
  2.     digitalWrite(futes, HIGH);
  3.   }
  4.   else
  5.   {
  6.     digitalWrite(futes, LOW);
  7.   }
(#) Tibicsek válasza Tibicsek hozzászólására (») Feb 20, 2016 /
 
Meglett a hiba és az áramkör már müködik is! nemtettem kimenetté a 4es lábat
(#) RoliNyh hozzászólása Feb 20, 2016 /
 
Helló!

Lenne egy olyan gyors kérdésem használt már valaki ilyen kijelzőt:

Adruino display...

A leírásában nem találom, lehet ezt működtetni SPI vezetéken (a kijelző részét)?
Vagy csak párhuzamos módban működik?
És akkor pontosan hány vezeték szükséges hozzá minimálisan?

Igazából egy Atmega 328P -vel akarom meghajtani...

Atmega328P
(#) erik001 válasza icserny hozzászólására (») Feb 20, 2016 /
 
Hát egy olyat szeretnék építeni hogy telefonról bluetooth-on keresztül tudjak színt keverni.
De tegnap a próbálkozásokba arduino kicsit füstölt úgy hogy kuka
Most már csak olyannal kísérletezek amit itt leírnak.
Google csomó minden kiad van csomó variáció csak hogy működik e vagy nem azt már senki se írja le.
De ezt a fajtát amit linkelté ezzel tudom vezérelni az rgb led szalagot ?
Mert simán a arduino kimenetén 1 ledet tudok próbálni na de 1 ledszalagot már nem mert a teljesítménye nagy. Azért akarok ilyet alkalmazni
Windows telefonra programot meg megírt arduino programot nem tudsz ?
Vagy benne segíteni ?
(#) bbalazs_ válasza RoliNyh hozzászólására (») Feb 20, 2016 /
 
Csak parhuzamosan. Latszik a feliratokbol. A nyolc adatvonalon kivul kell neki meg kb 5 vezerlojel is.
Van egyebkent majdnem ugyanilyen kinezetu, de SPI-os is. Banggoodon beirod, hogy tft spi Arduino es hozza a talalatokat.
(#) RoliNyh válasza bbalazs_ hozzászólására (») Feb 20, 2016 /
 
Van az ebayen is, csak az vagy kissebb, vagy drágább...

Köss...
(#) icserny válasza erik001 hozzászólására (») Feb 20, 2016 /
 
Nem csináltam még ilyet, de a LED Amplifiert mellőzve egyszerűen 3 db N-csatornás, logikai szinttel vezérelhető FETel próbálkoznék: Bővebben: Link

Azt pedig célszerű feszültségmérővel ellenőrizni, hogy a 12 V-os tápegység valójában mennyit ad ki, s hogy nem túl sok-e az Arduino Vin bemenetéhez.

Windows telefonra nem tudok mit mondani, nekem Androidos van.
A hozzászólás módosítva: Feb 20, 2016
(#) erik001 válasza icserny hozzászólására (») Feb 21, 2016 /
 
Semmi gond. Nekem csak annyi a lényeg hogy a led szalagot illeszteni tudjam a arduino-val.
Többit már meg oldom csak ez a veszélyes rossz összekötés és füst
Programozás ha nem jó akkor azt lehet javítani .
(#) sunside válasza erik001 hozzászólására (») Feb 21, 2016 /
 
A korábbi rajzot nézve a 12 volt összekötése at 5 volttal nem épp szerencsés kombináció.
Az Arduino egyik bemenetén se lehet szerintem 5 volt feletti feszültség.
(#) erik001 válasza sunside hozzászólására (») Feb 21, 2016 /
 
Nekem is furcsa volt de mivel még annyira nem vágom hogy mi hogy az arduinonál azért próbálgattam amit a neten találtam kapcsolásokat.
De meg is lett az eredménye hogy elfüstölt az arduino.
Ez a megoldás jó lehet biztos ? Nem lesz füst ?
(#) sunside válasza erik001 hozzászólására (») Feb 21, 2016 /
 
Ez, ha figyelmesen kötöd össze, nem lesz *füstgenerátor*.
A 12 volttal bánj óvatosan, csak a megadott Vin lábra mehet az arduino panelre!
(#) dokidoki válasza sunside hozzászólására (») Feb 21, 2016 /
 
Én is igyekeztem ebben nem oly rég, és a mini pro 3.3Voltos változata a RAW bemeneten nem tolerálta a 11.5Voltot. Kicsi stabilizátor egyből kilehelte a lelkét. De a 328 is cserére szorult.
(#) bbalazs_ válasza erik001 hozzászólására (») Feb 21, 2016 /
 
Hallgass te csak icsernyre. Minel messzebb van az Ardutol a 12V, annal jobb.
Miutan nemigen vagy tisztaban a veszelyekkel, sokkal jobb, ha levalasztod a 12V-ot.
Egy ilyen FET olcso, megvedi a dragabb vezerlodet. Ugyanakkor szuksegtelenne teszi a LED erositot. A cikkbol megprobaltam megerteni a dolog lenyeget - a srac emliti is, hogy tudja, furcsanak tunhet a megoldasa - de elsore nem sikerult.
Kezdokent a helyedben - feleg a hatad mogott mar egy rossz tapasztalattal - a levalasztast hasznalnam.
(#) erik001 válasza bbalazs_ hozzászólására (») Feb 21, 2016 /
 
Mielőtt icsirny irt volna már előtte elfüstöltem úgy hogy nem ő hibája.
Senkit se hibáztatok. Benne van hogy nem jön össze.
Mivel nem értettem hogy mi hogy van neten keresgéltem hogy lehet összehozni és csomó megoldás van csak hogy az biztos hogy jó e azt már senki se írja meg.
Én meg próbálkoztam vele.
Minden féle segítséget elfogadok hozzá.
Főleg kapcsolási rajz lenne jó.
(#) morzsa15 hozzászólása Feb 21, 2016 /
 
Sziasztok!

Arduinoval szeretnék mérni áramerősséget speciális ic-k nélkül. Valahogy ellenállásokkal vagy valami tekercsel meg lehetne oldani? Nézelődtem de semmi hasznosat nem találtam.

Segítségeteket előre is köszönöm.
Üdv Peti!
(#) Bakman válasza morzsa15 hozzászólására (») Feb 21, 2016 /
 
Ez így elég tág kérdés. Egyen vagy váltóáram? A mérőeszköz galvanikusan érintkezhet a mérendő körrel? Mekkora áramról van szó? Egyáltalán minek az áramát akarod mérni?
A hozzászólás módosítva: Feb 21, 2016
(#) morzsa15 válasza Bakman hozzászólására (») Feb 21, 2016 /
 
Egyenáram lenne. Igen érintkezhet vele. Maximum 5 amper. Tápegységnek a kimenetét szeretném mérni a feszültség mérő része meg van már csak az áram erősség kellene.
(#) Bakman válasza morzsa15 hozzászólására (») Feb 21, 2016 /
 
Javaslom ennek a használatát: Bővebben: Link. A kimenetén közvetlen az áram erősségével arányos feszültségszint jelenik meg, ami közvetlen feldolgozható a kontrollerrel, ráadásul elég kicsi ellenállása van, nem fogja zavarni a kimenetet.
(#) morzsa15 válasza Bakman hozzászólására (») Feb 21, 2016 /
 
Ilyen nélkül szerettem volna megoldani, de akkor nem lehet?
Következő: »»   193 / 853
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