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   60 / 854
(#) holex válasza erdeidominik1999 hozzászólására (») Nov 11, 2014 /
 
A 20 meg a 30 semmiképp nem karakter, hanem vagy int, vagy string, szóval egy karakterrel elég nehéz lesz összehasonlítani.
A hozzászólás módosítva: Nov 11, 2014
(#) erdeidominik1999 válasza holex hozzászólására (») Nov 11, 2014 /
 
Próbáljam meg a serial.read()-et egy string változóba rakni és azt switch()-elni?
(#) holex válasza erdeidominik1999 hozzászólására (») Nov 11, 2014 /
 
Valahogy úgy, de azt remélem tudod, hogy a serial.read() is egy karaktert olvas.
(#) erdeidominik1999 válasza holex hozzászólására (») Nov 11, 2014 /
 
Azt írja ki, hogy nem lehet konvertálni a char-t char*-ba, akkor mi a megoldás?
A hozzászólás módosítva: Nov 11, 2014
(#) atus1981 válasza Kovidivi hozzászólására (») Nov 11, 2014 /
 
Nekem ez a millis dolog magas, még sokat kell olvasnom-tanulnom, hogy megértsem mit is írtok.
Köszi a válaszokat.
(#) andykaaa válasza atus1981 hozzászólására (») Nov 11, 2014 /
 
Hellotok,
Semmivel sem ordongosebb mint az if, es else if
valahogy igy, en is csak most nem reg jottem ra
  1. unsigned long start_hold;
  2. unsigned long start_hold1;
  3. int HOLD = 5000;                  // 5 secundum
  4. int HOLD1 = 1000 *60;             //  1perc
  5. void setup() { }
  6. void loop() {
  7.   /// a foprogram helye
  8.       if ((millis() - start_hold1) >= HOLD1) {  
  9.       ///// valamit csinal ha eltelt  1 perc
  10.       }
  11.       start_hold1 = millis(); // es aztan ujraindul
  12.      
  13.  
  14.       if ((millis() - start_hold) >= HOLD) {  
  15.       ///// valamit csinal ha eltelt  5 secundum
  16.       }
  17.       start_hold1 = millis();
  18.       }


lehet hogy a kapcsoszarojeleket
Idézet:
„start_hold1 = millis();”
utan kell tenni.
A hozzászólás módosítva: Nov 11, 2014
(#) atus1981 válasza andykaaa hozzászólására (») Nov 11, 2014 /
 
Ha jól értelmezem, akkor ez nem lenne jó nekem, mert nem szabadna elindulni a szivattyúnak a gázkazán leállása után 3 percen belül.
(#) andykaaa válasza atus1981 hozzászólására (») Nov 11, 2014 /
 
Biztos van rá megoldás, tegyél ki egy egyszerűsített változatot steck-rol. Majd akad egy megoldás.
Amivel én nem vagyok tisztában az a tulcsordulas
A hozzászólás módosítva: Nov 11, 2014
(#) tcsonka válasza erdeidominik1999 hozzászólására (») Nov 12, 2014 /
 
Próbáld meg számmá alakítani a térerő értékét.

terero=a_te_valtozod.substring(5).toInt()
(#) Kovidivi válasza erdeidominik1999 hozzászólására (») Nov 12, 2014 /
 
Hello. Az nem lenne jo, hogy: int i=tomb(5)*100+tomb(6)*10+tomb(7); ? A normál zárójel helyett kapcsosat írj! Én ùgy vettem, hogy 3 számjegyet kapsz vissza mindig. Pl. +CSQ:263 -nál 2x100+6*10+3=263. Ha csak két számjegyed van, kövesd a logikát.Le kell ellenörizni még azt is, ha csak pl +CSQ:4 -et kapsz, hogy ne 400nak vegye, hanem 4nek.
(#) erdeidominik1999 válasza tcsonka hozzászólására (») Nov 12, 2014 /
 
Köszi! Az ötlet jó, de a serial read-et hogyan alakítom string-gé?
(#) tcsonka válasza erdeidominik1999 hozzászólására (») Nov 12, 2014 /
 
Én így oldottam meg:
  1. char inchar;
  2. String receive_text;
  3.  
  4. if(GSMSerial.available()){
  5.     inchar = GSMSerial.read();        // GSM modultól beolvasott karakter
  6.     Serial.print(inchar);
  7.     if( inchar  == 13 )Receive_text();
  8.     receive_text += String(inchar);  //stringé alakítás és összefűzés
  9.     }


A két megjegyzéssel ellátott sor a lényeg
A hozzászólás módosítva: Nov 12, 2014
(#) erdeidominik1999 válasza tcsonka hozzászólására (») Nov 12, 2014 /
 
Valószínű én vagyok nagyon béna, de nem értem mi az a Receive_text() ? És a stringben lévő érték a végén a receive_text-ben van, ugye?
(#) tcsonka válasza erdeidominik1999 hozzászólására (») Nov 12, 2014 /
 
A receive _text tartalmazza a GSM modultól vett adatot összefűzve.
A Receive_text() a saját programomban egy másik programrészletre mutat.
Ha entert érzékel a GSM modultól vett adatban akkor befejezi a szöveg összefűzését és a Receive_text() programrészletnél folytatja a feldolgozást ahol a receive_text változó értékét értékeli ki.
A hozzászólás módosítva: Nov 12, 2014
(#) erdeidominik1999 válasza tcsonka hozzászólására (») Nov 12, 2014 /
 
Köszi, megértettem, de összeraktam a (terero=a_te_valtozod.substring(5).toInt())-val, működik is, de csak ha számokat küldök rá, de ha 5 vagy akár kevesebb betű van előtte, akkor az érték 0 lesz.
(#) tcsonka válasza erdeidominik1999 hozzászólására (») Nov 12, 2014 /
 
A következő linken a substring működéséről olvashatsz:

Link

A paramétereiben megadott számmal állíthatod be, hogy a string hányadik karakterétől kezdve próbálja meg számmá alakítani a toInt() fügvény. Ha nem lehet az értéket számmá alakítani (mert pédául betűket tartalmaz) akkor az eredméy nulla lesz.
A hozzászólás módosítva: Nov 12, 2014
(#) jeges hozzászólása Nov 12, 2014 /
 
Hőmérséklet különbség számitás deffiniciot keresek?

homero1-homero2 == kulonbseg

fenti vázlat nem igazán jó müködik gyakorlatban .....
(#) atus1981 válasza andykaaa hozzászólására (») Nov 12, 2014 /
 
Idézet:
„unsigned long varakozas;
int HOLD = 1000 * 60;
void setup() { }
void loop() {
if (szt = 1 && futpufmegy = 0 && puffer < 45) {
digitalWrite(gazkaz, HIGH);
}

if (futpufmegy = 0 || szt = 0 || puffer > 45) {
digitalWrite(gazkaz, LOW);
}

if ((puffer > 45 && szt = 1) && ((millis() - varakozas) >= HOLD)) {
digitalWrite(futpuff, HIGH);
}

if (puffer < 44 || szt = 0) {
digitalWrite(futpuff, LOW);

}
}

Ezzel meg sose kapcsol be a puffer szivattyú...
(#) mrobi válasza jeges hozzászólására (») Nov 12, 2014 /
 
Miért? Mi a baj vele?
(#) airwalker hozzászólása Nov 12, 2014 /
 
Estét!
Engem a fórumon mindig csak egy-két hozzászólás erejéig láttok, utána visszavonulok emészteni, elemezgetni a tőletek kapott infókat. Most is ezt fogom tenni. Ugye a PT2313/TDA7313 processzorral felépített vezérlőt szeretném megépíteni. Legelsőként, a kimeneti, bemeneti illetve a ref lábakon lévő kondikról, ezek elkók kellenek, hogy legyenek vagy megteszi a kerámia is? Másodszor, találtam libraryt, amiket be is tettem az arduino programozójába. Ez tartalmaz egy .h és egy .cpp fájlt valamint egy megírt vagy csak elkezdett sketchet. A programmal leellenőrizve a sketch hibátlan, már tölthetném is fel, de túl könnyűnek tűnik, ráadásul én így nem is tettem hozzá a tudásomból, holott egy ajándékhoz illik magamból is adni egy darabot (szerintem). A parancsokat (hangerő szintje, bass/treb szintje, kiválasztott bemenet, balansz) talán nekem kell egyenként beírogatni, oly módon, hogy ha valamelyik plusz/minusz irányba változik módosítás előtt ellenőrizze a jelenlegi beállítást és ahhoz igazítsa? Ez kimondva elég komplikáltan hangzik, biztosan az is. Magyarul a hangerőhöz, stb. tartozó bináris kódokat írjam le benne egyenként, számozzam be és így rendeljem parancshoz?

Találtam egy hasonló elven működő gainclonet, de annak a programjában sem találok túlzottan sok monoton bináris számokat tartalmazó sorokat.gainclone
(#) andykaaa válasza atus1981 hozzászólására (») Nov 12, 2014 /
 
Nincsenek definialva a logikai valtozok "boolean".
es talan hianyzik az "else { }".
(#) holex válasza atus1981 hozzászólására (») Nov 12, 2014 /
 
Az egyenlőségvizsgálat jele a ==, a = csak sima értékadás.
A hozzászólás módosítva: Nov 12, 2014
(#) jeges válasza mrobi hozzászólására (») Nov 12, 2014 /
 
differencial érzékelés igy müködik sajnos csak ami nem ok!

homero1 > homero2 it müködik az észlelés letárol kulombseg szerint!

homero1 < homero2 it viszont nem én sem értem miért?
(#) holex válasza jeges hozzászólására (») Nov 12, 2014 /
 
Az előző hsz-edben még kivonás volt, nem < jel. Nem tudnád esetleg berakni a kódrészletet?Úgy könnyebb lenne segíteni.
(#) homedve hozzászólása Nov 13, 2014 /
 
Helló,
előre bocsátanám, hogy nagyon láma vagyok, de próbálkozni azért szabad (ez nálam hitvallás). Leginkább ide illik az én problémám is. Van egy UNO R3 klónom, amivel szeretnék egy friss, boltból hozott ATMega328P-PU vezérlőt olyan állapotra hozni, hogy sketch-eket tudjak rátölteni, és az UNO nélkül futtatni azt egy cél hardware-ben.

Pontról pontra követtem az ezen az oldalon levő leírást http://arduino.cc/en/Tutorial/ArduinoToBreadboard, 1. ArduinoISP feltöltve az UNO-ra, 2. ATMega328 on breadboard kiválasztva az alappanelnál, 3. Arduino as ISP kiválasztva a programozónál, majd kezdem a bootloader beégetését, de mindig a következő hibával elszáll a folyamat:

  1. avrdude: stk500_program_enable(): protocol error, expect=0x14, resp=0x50
  2. avrdude: initialization failed, rc=-1
  3.          Double check connections and try again, or use -F to override this check.
  4. avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51


Ja az fontos lehet, hogy 8MHz belső kristályos verziót próbálom összehozni (sajna csak 100 nF kondik vannak elérhető közelben, ezért a 16MHz kristályt nem tudom rákötni)

Ha esetleg lenne ötlete valakinek mit csinálok rosszul, azt nagyon megköszönném, mert kezdek egyre jobban elkeseredni...
(#) rmis válasza atus1981 hozzászólására (») Nov 13, 2014 /
 
Szia!

  1. int HOLD = 1000 * 60;


Nézz utána az INT típus tartományának. (google a barátod...)
Ha nem jössz rá, hogy miért írok, akkor kérdezz bátran
Egyébként értékmegadásnál 1000*60 helyett használj nyugodtan 60000-et.
(#) mrobi válasza jeges hozzászólására (») Nov 13, 2014 /
 
Használj előjeles számokat. Ha pedig a különbség abszolút értéke kell, akkor vizsgáld meg egy IF-el, hogy melyik a nagyobb, és abból vonod ki a másikat.
(#) erdeidominik1999 hozzászólása Nov 14, 2014 /
 
Sziasztok! Lenne egy kérdésem, de már egyszer feltettem, valaki válaszolt is rá, de akárhogyan próbálkozom vele, nem működik. Arról lenne szó, hogy ugyebár lcd-n csak 8 karaktert lehet definiálni. De azt írták nekem, hogy ha frissítem a saját karaktereimet (ezt én úgy értelmeztem, hogy újradefiniálom) akkor több mint 8-at is lehet kiiratni. De ha definiálok egyet, azt kiiratom, majd mégegyet definiálok ugyan arra a helyre, akkor az előzőekben kiírt is megváltozik a másodjára definiáltra, és forditva is hasonlóan. Mit csinálok rosszul?
(#) benjami válasza erdeidominik1999 hozzászólására (») Nov 14, 2014 /
 
Igen, ha újradefiniálod a 8 definiálható karakter valamelyikét, akkor a már kiírt karakter kinézete is meg fog változni. Egy időben tehát 8 féle saját karakter lehet a kijelzőn, de hogy az a 8 hogy nézzen ki, azt bármikor meg tudod változtatni.
A hozzászólás módosítva: Nov 14, 2014
(#) erdeidominik1999 válasza benjami hozzászólására (») Nov 14, 2014 /
 
De ha egyidőben max 8-at rakok ki, majd letörlöm a kijelzőt és újradefiniálom, akkor másik 8 at tudok kiiratni, ugye?
Következő: »»   60 / 854
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