Arduino programozás segítség

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Válasz küldése
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3358
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Arduino programozás segítség

Hozzászólás Szerző: kapu48 »

Kód: Egész kijelölése

   uint8_t inNum = 0;
  // Read serial input:
  while (Serial.available() > 0) {
    int inChar = Serial.read();
    if (isDigit(inChar)) {
      // convert the incoming byte to a char and add it to the string:
      inString += (char)inChar;
    }
    // if you get a newline, print the string, then the string's value:
    if (inChar == '\n') {
      Serial.print("Value:");
      inNum = inString.toInt();	//<<< Itt a kapott szám
      Serial.println(inNum);
      Serial.print("String: ");
      Serial.println(inString);
      // clear the string for new input:
      inString = "";
    }
  }
Attila79
Újonc
Újonc
Hozzászólások: 9
Csatlakozott: 2020. október 19. hétfő, 19:16

Re: Arduino programozás segítség

Hozzászólás Szerző: Attila79 »

Köszönöm a választ :) Még ma megnézem mi is ez.
Tegnap még találtam a youtube-on a Serial.read() helyett, egy olyat, hogy Serial.parseInt() ami elvileg értéket olvas ki, és valóban :D
brs
Újonc
Újonc
Hozzászólások: 2
Csatlakozott: 2020. november 24. kedd, 17:14

Re: Arduino programozás segítség

Hozzászólás Szerző: brs »

Sziasztok!
Arduino programozásában kérem a segítségetek! (PIC assemblerben vagyok járatos, ez a környezet nagyon idegen nekem..) Egy GY-BMP280 sensort szerettem volna kipróbálni, hogy egyáltalán jó -e? A probléma: letöltöttem a Adafruit bmp280test vázlatot (cimet beirom 0x77), megnyitom a soros kommunikációt:semmi. lefordítom az i2cdetect vázlatot>soros porton látszik az eszköz címe (0x77), rendben. újból lefordítom a bmp280test vázlatos>soros porton most pedig fut?! (az igaz hogy nincs rendben, mert a kiirt adatok nem változnak!!!) mi lehet az oka? nem értem az egészet... ezt többször is kipróbáltam , és ez a helyzet. Az Arduino IDE 1.8.13, most telepítettem újra, Windows7, Arduino Leonardo, IIC buszos megoldás a youtube-rol..
üdv, reménykedem a segítségetekben :)...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

Hozzászólás Szerző: Robert »

Arduino keretrendszerből régebbit tegyél fel. Pl. 1.6.4, 1.6.6 vagy 1.6.8 vagy 1.8.6 (1.8.13 bugos ill a régebbi librarykkal nem megy együtt!)

A BME szenzor igaz nem 3.3v-os, hanem 5V-os?

Kábel kontakthiba?
http://www.tavir.hu - a gazda :)
brs
Újonc
Újonc
Hozzászólások: 2
Csatlakozott: 2020. november 24. kedd, 17:14

Re: Arduino programozás segítség

Hozzászólás Szerző: brs »

Nem is gondoltam hogy kapok reakciót, köszönöm :) !!
BMP-280 a sensor, szintillesztővel. két szenzort vettem. PIC assemblerben teszteltem, SPI buszon, (PICKIT3 debugger) be tudom olvasni a adatokat (az ID 0x58-nak olvasom, így feltételezem hogy a többi adat is rendben van) a kompenzáció során viszont 26,8C körüli értékeket olvasok.(!!??) pedig ez egy nagyon pontos sensor lenne... Azt akartam ellenőrizni, hogy jók e egyáltalán a sensorok, ezért váltottam át az arduino-ra. eddig ez egy nagy csalódás számomra.. a válaszod is elkeserít, hogy ez így működik, sokkal kiforrotabnak gondoltam az egészet. Jó ötletnek tünt, hogy a mások által kipróbált programot használjak, hogy kizárjam a saját tévedésem... ( bár hiányosak az ismereteim ebben a témában) Olyan mintha ezt még most fejlesztené valaki a világ másik végén :) Nagyon sok videót megnéztem, sok weboldalt átbogarásztam.. Azt gondoltam, hogy a legújabb verzió a legjobb :) ki fogom próbálni javaslatodat (bár egy keretprogramnak illet volna erre figyelmeztetni...)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

Hozzászólás Szerző: Robert »

A bekötést nézd meg, mert a 3.3V-os verzió SPI és I2C módban is mehet. Szintllesztés FET-es legyen, ellenállásosztós nem jó (I2C odavissza megy).
A címkiválasztás OK.
A keretrendszerben a libraryk keletkezési ideje és a keretrendszeré közel azonos legyen. A szoftverupgrade nem monden esetben zökkenőmentes! Én kb 1 éves elmaradásban szoktam lenni - addigra a bugok ismertté válnak. ne én legyek a BétaTeszter.
Amúgy kiforrott, sokmindent tud. De a legújabb verziókkal más esetekben is csak a gond van...

Stabil library:
- adafruit
- sparkfun

Ezek 99.9%-ban teljesen jók, nem igazán futottam hibára velük. Az Adafruit oldalán levő leírásokat, mintákat veszem alapul - korrektek nagyon.
http://www.tavir.hu - a gazda :)
majlac
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2020. november 30. hétfő, 11:22

Re: Arduino programozás segítség

Hozzászólás Szerző: majlac »

Sziasztok!
Ki tudna segiteni arduino Atmega328-cal megévő forráskód fordításában ELF állománnyá?
Egy neten megjelent Spectrum Analizátorhoz. Link: http://vwlowen.co.uk/arduino/spectrum-a ... alyser.htm
A panelt már megépítettem. A Beégetéssel azt hiszem boldogulni fogok.
Atmel Studio 6-tal próbátam lefordítani.
Tisztelettel: majlac
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

Hozzászólás Szerző: Robert »

Nem AVR-Studio kell neki, hanem Arduino 1.0.5 (a kép szerint) : ~8 éves szoftver!
+ a Cypress modul library
+ Adafruit Nokia 5110

Égetés meg a lefordított HEX + fusebiteket...

Ötlet innen:
http://vwlowen.co.uk/arduino/spectrum-a ... /page2.htm

Tipp: ha már WiFi-t kell nézni:
ESP8266 modul, és abban minden benne van. és ehhez OLED kijelző:
Pl:
https://www.instructables.com/ESP8266-WiFi-Analyzer/
http://www.tavir.hu - a gazda :)
sirbedevir
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. május 26. péntek, 12:02

Re: Arduino programozás segítség

Hozzászólás Szerző: sirbedevir »

Sziasztok!
Kicsit elakadtam, légyszi segítsetek:
Egy olyan fémkereső alkalmazást építek, ahol a setup végén egy while(1); -ben végtelen ciklus fut, innen emeli ki az analog komparátor megszakítás a programvezérlést az analog komparátor megszakítás függvényében, ahonnan némi tevékenykedést követően a vezérlés visszajut a while(1) végtelen ciklusba, ahol várakozik a következő analog komparátor megszakításra. (Az alkalmazás lényege, hogy fáziszaj nélkül, mindig ugyanakkora késleltetéssel induljon az analog komparátor függvény, amiben nagyon pontos időzítés zajlik, ezért várakozik while(1)-ben.)
Gyönyörűen működik is az alkalmazás. Viszont most szeretnék egy MCP4728-as i2c -s DAC ot is vezérelni. Arra hamar rájöttem, hogy az analog komparátor megszakítás függvényéből nem lehet soros kommunikációt folytatni... Láttok erre ebben struktúrában lehetőséget? Köszi!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

Hozzászólás Szerző: Robert »

Ha az I2Cvel operálsz, akkor az analóg komparátor elmászik. Mindkettő megszakítást használ, ugyanakkor a megszakítások prioritás alapján sorbaállnak.. És ha a futó alatt beesik másik - akkor megjegyzésre kerül és a előző lefutása után fut le.Megszakítás _nem_ megszakítható.

B terv: szoftveres I2C - az nem foglal INT-et. DE mi van ha az i2Cben elmászol, mert az INT épp azt szakította meg?
http://www.tavir.hu - a gazda :)
sirbedevir
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. május 26. péntek, 12:02

Re: Arduino programozás segítség

Hozzászólás Szerző: sirbedevir »

Köszi!
Elvileg nem akadnának össze, mert az analog komparator megszakítás 80000usec ként következik be, az mcp4728-nak az egy ciklusban egyszeri időzitett adatküldés csak 1000usec hosszú, azaz a komparátor isr-jében bőven elfér. Így esetleg megoldható? Most ahogy kiadom az isr-ben a DAC-ra írás utasítását, azonnal lefagy. Esetleg a wire.h -t kozmetikázva lehetséges lenne hogy ne fagyjon le?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino programozás segítség

Hozzászólás Szerző: Robert »

A while(1) helyére tedd be az I2C-s rutint:
https://playground.arduino.cc/Main/SoftwareI2CLibrary/

Az I2C-vel lekérdezed a külső ADC értékét... de mit kezdesz vele? Az nem derül ki...
A DAC-ra kiírás meg milyen értéket küld ki? Számolsz? egyéb?

A leírásod alapján egy probléma kb 5...10%-a került kifejtésre. Lehet programszervezéssel, HW módosítással a bűvészkedés elkerülhető lenne... Csak ismerni kéne a teljes hátteret....
http://www.tavir.hu - a gazda :)
sirbedevir
Újonc
Újonc
Hozzászólások: 8
Csatlakozott: 2017. május 26. péntek, 12:02

Re: Arduino programozás segítség

Hozzászólás Szerző: sirbedevir »

Köszi a segítséget! Arra jutottam, hogy csatasorba állítok egy második kontrolert, amelyikkel a méréseket és a DAC állítást kényelmesen elvégzem. Persze elegánsabb lett volna ha az adó és a vevő áramkört egy kontrolerrel sikerül vezérelni, de az adóáramkör analog komparátoros működése túlságosan behatárolja a további lehetőségeket.
Válasz küldése