Keresés

Részletes keresés

tibi-d Creative Commons License 2020.02.16 0 0 3597

Szia!

Használd ezt:

lcd.print(t3, 1);

Így csak 1 tizedest látsz.

Előzmény: meddu00 (3595)
Törölt nick Creative Commons License 2020.02.15 0 0 3596
Előzmény: vfp (3590)
meddu00 Creative Commons License 2020.02.15 0 0 3595

Sziasztok!

Segitséget szeretnék kérni DS18B20 vel kapcsolatban  !

hogyan lehet a kiolvasott értéket nem százas értékig megjeleniteni?

elég lenne a tizedes értékig.

 

cod:

void loop()
{

/* Szenzor értknek kiolvasa */
sensors.requestTemperatures(); // Szenzor értéknek a kiolvasása
float t1 = sensors.getTempCByIndex(0); // A "t1" változónak értk adás
float t2 = sensors.getTempCByIndex(1);
float t3 = sensors.getTempCByIndex(2);
float t4 = sensors.getTempCByIndex(3);



/* Hömrséklet kiírsa */
lcd.setCursor(6,1); // A kiírás beállítsa, balfelső sarok 0,0
lcd.print(t1); // Hömérsklet kiíratsa
lcd.print("337C");
lcd.setCursor(6,2);
lcd.print(t2);
lcd.print("337C");
lcd.setCursor(13,1);
lcd.print(t3);
lcd.print("337C");
lcd.setCursor(13,2);
lcd.print(t4);
lcd.print("337C");

Vargham Creative Commons License 2020.02.04 0 0 3594

Nem, a branch az nem verzió. Az egy oldalág.

Nagyon jó dokumentációja van a gitnek, érdemes elovlasni.

Commit, vagyis a változások (verziók) kezelése:

https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository

Branch, azaz az ágak kezelése:

https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell

Előzmény: mekkGyver (3593)
mekkGyver Creative Commons License 2020.02.04 0 0 3593

Köszönöm a választ. Amit lehet, próbálok VS guiból megoldani, és amiket írtál (parancsokat) szépen meg is tudom oldani pár kattintással. A fogalmakat lehet, hogy keverem, de ha jól értem a "branch" gyakorlatilag egy verziót jelent. Addig nincs is probléma, amíg választok a branch-ek között, simán tudok ide-oda lépkedni, de ha átírok valamit, hiába csinálok akármit (saját branch, mentés, commit...), az általam módosított fájlokra nem tudok semmilyen "trükkel" verzió összehasonlítást kierőszakolni. Lehet, hogy nem is lehet, de te is említettél valami "conflict"-os dolgot. Az ok, hogy kimásolom, meg összehasonlítom a két konfigfájlt soronként,  de én azt szeretném, hogy ha kijön egy új verzió, akkor valahogy jelezze, hogy az általam mentett "branch" és az új fájl között milyen módosítás történt.

Előzmény: halaloszto (3592)
halaloszto Creative Commons License 2020.01.28 0 0 3592

a git clone xxxx

után van egy working copyd.

esetleg volt egy

 

git checkout develop

vagy hasonló, vagy valamilyen branchen

 

git status

megmondja, milyen fileokban valtoztattal valamit, milyen branchen vagy

 

git add .

git commit -m"ezek az en valtoztatasaim"

elmenti egy commitba a valtoztatasaidat

 

git pull 

rahuzza a tavoli valtozasokat a te cuccodra. ha ugyanabban a fileban te is modositottal, megprobalja osszefesulni. ha ez nem sikerul neki, kozli hogy conflict van, oldd meg, es utanna commitol. ez a commit a conflict fix lesz csak. innentol azert zold oves a dolog, egyelore jobb, ha nincs ra szukseg. 

 

ha lesznek conflictjaid, akkor valassz youtuberol valamilyen gui cuccot, amiben atlathato hogy mi tortenik, aprankent at lehet latni a dolgot.

 

Vajk

Előzmény: mekkGyver (3591)
mekkGyver Creative Commons License 2020.01.28 0 0 3591

Nem annyira programozás, de kéne kis segítség mert valahogy nem igazán jön össze semmi. Végre rávettem magam, hogy áttérjek PlatformIO-ra. VSCode alá raktam. Az már jó, hogy lényegében nem kell küzdeni az ablakokkal és sokkal használhatóbb a szerkesztő, de szeretném akkor már a Git-et is használni. Addig OK, hogy klónozom, betöltöm, lefordul, minden fasza, de ha módosítás után akarok újabb repót felrakni, akkor a módosítások matt nem engedi, amíg vissza nem állítom a fájlt. Hogy kell ezt szakszerűen csinálni. Pl. ha nem akarok mindig új Tasmota konfigot csinálni.

vfp Creative Commons License 2020.01.26 0 0 3590

Sziasztok!

 

Segítséget kérek ESP-12E (LoLin) - Arduino IDE használatában.

 

Egyszerűen nem tudom az ESP minden lábát beazonosítani és írni-olvasni. Valami más mindig van egyes lábakon (D5, D6, D7, D8), ezeknek nem lehet megmondani, hogy csak egyszerű digitális lábként akarom használni?

Az A0 láb csak analog olvasásra használható, vagy ez is lehet digitális ki-be menet?

Az S3, S2 lábbal sem tudok mit kezdeni.

 

Amit szeretnék használni:

I2C bus : ez megy a D1-D2 lábon,  IDE 4, 5 PIN (ez OK)

DS18B20 (One Wire BUS): ez menne a D4 lábra, IDE 2 PIN

DS18B20 (One Wire BUS):

relé modul (egyszerű kimenet):

rotary SW -

          DT -

          CLK -

 

Ebben szeretnék segítséget kérni.

Prof Creative Commons License 2020.01.21 0 0 3589

Attól függ, milyen. Adatlapját meg kell nézni. A legtöbb IR cucc simán elmegy alacsonyabb terheléssel is, de ahhoz, hogy több méterről be tudd szórni, nem biztos, hogy elég.
Adatlap.
Aztán mérések. Sok.

Előzmény: Ess0 (3588)
Ess0 Creative Commons License 2020.01.21 0 0 3588

Sziasztok!
Segítséget kérnék. Elég sok mindent (szerteágazó témában) oldottam már meg Arduval, különböző kártyákat használva.

Most egy egyszerű IR adót kéne csinálnom egy Roomba porszívó indítására.
Megvan az IR Libary, a kapcsolást is összeraktam furatos deszkán, viszont az IR mintha nem kelne életre. 
Kicserélve az infra led-et normálra látom a villogást, de az ir-led használatakor a telefonos kamera (mert így gondolom minden esetben látnom kéne) sem reagál. (Ardu, IR led + előtétellenállás) ha itt indulna, utána kapna egy RTC-t az időzítéshez.
IR adót korábban is próbáltam, volt, hogy összejött, (univerzális) volt, hogy nem, és nem értem, mi a fránya rigolya ezeknél.
Nem szokott gond lenni a kapcsolásokkal amit építek.

LEHET, hogy IR led használatánál kevés a táp, amit az USB ad le, és meg kéne próbálnom külső táppal vezérelni?
NEM tudok tesztelni, panelem több van otthon, meg kéne építsek egy vevőt, amivel megnézem, hogy villognak-e egyáltalán?

A jelenlegi kapcsolásban nincs erősítés, egy 2N222-t próbáltam, valami szösszenet lehetett, mert bekapcsolt a robot, de nem indult el, pedig a CLEAN parancs (136) megy ki a programból.
Minden ötlet segít, kérem, ha valakinek van bármi elképzelése, hogy miért nem megy, (ma megpróbálom egy samsung vagy pana tv-vel) az súgjon!

Köszönöm!
Kell erősítés az IR led elé?

Sz

(Io)(Tit) Creative Commons License 2020.01.21 0 0 3587

Sziasztok,

 

Talalkoztatok mar az alabbi hibauzenettel?
Egy ideje nem hasznaltam az Arduino-t de most ez van. Uno Rev3 a cucc semmi gondja nem volt kb fel eve.

Power led vilagit, 13 pin rendesen villan miutan USB-n feldugom Laptopra (Linux)

Par lehetseges 5letet talaltam google-ba de egyik se mukodott, ilyenek mint:

* reset gomb

* debug mod bekapcs uplodhoz es reset upload elott

* gep ujraindit

* Board Manager-ben package downgrade 1.6.9, 1.8.1 (user home-ba .arduino15 torol)

 

Mi a lehet a gond?, Koszi!

 

### Debug log:

 

Arduino: 1.8.10 (Linux), Board: "Arduino Uno"

Sketch uses 924 bytes (2%) of program storage space. Maximum is 32256 bytes.
Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
/home/$USER/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/bin/avrdude -C/home/$USER/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_448742/Blink.ino.hex:i

avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch

System wide configuration file is "/home/$USER/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17/etc/avrdude.conf"
User configuration file is "/home/$USER/.avrduderc"
User configuration file does not exist or is not a regular file, skipping

Using Port : /dev/ttyACM0
Using Programmer : arduino
Overriding Baud Rate : 115200
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00

avrdude done. Thank you.

Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Vargham Creative Commons License 2020.01.07 0 1 3586

Az elmúlt 7 évben személyesen szívtam végig az "Minden Arduino -> Saját hardver + Arduino környezet -> Saját hardver + Arduino alapú firmware + Atmel Studio debug -> Saját hardver + Atmel AVR, de Arduino nélkül + Atmel Studio debug -> LPC1768 + mbed + Eclipse -> STM32 + mbed -> STM32 + STMCube + HAL" utat.

 

Nem akarok még egyszer kis lábszámú AVR-t debuggolni. Nem, nem. Se Ardunino projektet importálni Atmel Studio alá. Se éveken át javítgatni az Arduino alapból elcseszett dolgait.

 

Architektúra választásnál a szempontjaim:

- Debug lehetőségek.

- Gyártói HAL minősége.

- FW frissítés gyártói támogatása. (Ne nekem kelljen bootloadereket írnom.)

- Sokféle választható periféria.

- Fejlesztői környezet minősége.

- A 8 lábú 8 MHz és a BGA-324 700 MHz is ugyanazon logika mentén épüljön fel, ugyanazokkal az eszközökkel lehessen rájuk fejleszteni, debuggolni, és a lehető legtöbb kód lehessen közös. A legdrágább erőforrás ugyanis a programozó ideje.

 

És ez most már igaz a legkisebb projektjeimre is. Amikor 1 dollár egy ATTiny85, és 1.3 egy 8 lábú STM32G0, akkor az 1000 db / év alatti sorozatoknál simán megéri az utóbbit választani. Mert 300 dollár lesz a különbség, ami 90 ezer forint. Egy beosztott mérnök két napra kerül ennyibe. Ha pedig hobbi, akkor még drágább az idő. Ott 10 darab esetén van 3 dollár különbség. És szívjak szórakozás helyett? :-)

Szeretem, ha homogén a komponens lista. Elég egy gyártó nyűgjeit kiismerni, és fejben tartani. :-)

Prof Creative Commons License 2020.01.05 0 0 3585

Szia,

Nem, ipari fejlesztési környezetben semmiképp. Ott is az van, hogy ha nagyon gyorsan kell valami, az még nem indok arra, hogy szarból építkezzenek. Gondolj bele, mi van, ha az első go/no-go teszt úgy fut le, hogy bukik a projekt, később pedig kiderül (már túl későn), hogy a probléma nem a koncepcióval volt, hanem azzal, hogy valaki, valahol egy arduino könyvtárat szarul csinált meg.

Másfelől. Egy ipari fejlesztőkörnyezet logikája és szabadságfoka nem említhető egy lapon az Arduinoéval. Erről kár vitát nyitni. Az a mérnök, aki évek óta dolgozik fejlesztőként, ismeri a saját eszközeit, és nem fog csak azért egy totál új környezetbe beletanulni, hogy a egy PoC (igen, proof of concept) projektet végigtoljon.
a katalógus adatok nem mindig adnak kellő információt” -- Ez sajnos semmilyen megközelítésben nem áll meg. Elvétve és viszonylag jól dokumentáltan [Errata] jelenik csak meg valami hiba egy-egy normálisan összerakott fejlesztői eszközön. Akár ha kínában készül, akár nem. Az STM mikrokontrollerei egy részénél például hardveresen van elbaltázva az i2c implementáció. Az összes fejlesztőeszköz is érintett, szívnak is vele, akik úgy akarják használni, ahogy nem lehet (máshogy lehet, de szar). 
Az ESP8266 igen rossz példa. A legolcsóbb wifis modul, de amit tud, hááát... Borzalom. Nincs normális fejlesztői környezete (egyáltalán), a gyári támogatás annyira bugos, hogy hetek kellettek ahhoz, hogy egyáltalán éleszteni tudjam (nem perifériaként, önálló mikrokontrollerként). És az Arduinoból nincs átjárás a profi világba. Sehogy.
A nem annyira jó, de működő IoT rapid prototyping platform, az mbed.org. A WiFi fejlesztéshez van három féle modul. Ezt úgy tudod használni, hogy teljes, működő könyvtárrendszere van mindegyiknek, egészen elfogadható dokumentációval (a hardveres oldalról mindenképp). Ezeket a modulokat pedig 1:1-ben tudod a production vázisba implementálni úgy, hogy nagyüzemi gyártásba mehet a cucc. Tehát ha breadbordon működik, akkor csak a körítést kell hozzátervezned a nyákra, a többi csak forrszemek (és elhelyezés) kérdése. Ha van otthon ilyen fejlesztőpaneled (nyilván dugpaneles változat), kb. ugyanolyan hatékonysággal tudsz köré elektronikát rittyenteni, mint Arduinoban. Csak ez működni fog.

https://os.mbed.com/modules/u-blox-odin-w2/

 

Én nem találkoztam még beágyazott fejlesztővel (mérnökkel meg pláne), aki képes volt akár csak érintőlegesen komolyan gondolni az Arduino-t. A legközelebbi, amivel találkoztam, az RPi-volt, amihez moduláris hardveres fejlesztői csomagot fejlesztett egy barátom (BME mérnök, már akkor mikrokontrollerekkel foglalkozott, amikor a nagyközönség még a mikrohullámú sütöt és az internetet is jobbára csak hírből ismerte).
Csak mellékszál, de engem is kerestek meg fejlesztési igénnyel, hogy "ez a hardverszett van, ebből kell ezt csinálni". És volt némi hiszti, amikor azt mondtam, hogy alkalmatlan rá és kb. a háromnegyedét másikra kell cserélni.

Előzmény: LyPapa (3583)
Imre560 Creative Commons License 2020.01.05 0 0 3584

Azért nagyon köszönöm a tájékoztatást :) Én eddig úgy tudtam hogy tudok UNO-val egymástól függetlenül vezérelni akár 4db szervót.

Még nagyon nem tudok semmit és éppen ezért nem is értem hogy miért adódnak össze a sebességek itt? Szeretném ha egy időben tudnék külön parancsokat adni. Tud valaki segíteni? 

 

#include <Servo.h>

Servo servo8;
Servo servo9;
int angle = 0;

void setup() {
servo8.attach(8);
servo9.attach(9);
servo8.write(angle);
servo9.write(angle);

}


void loop()
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 50; angle++) // szervo szog le tol ig
{
servo8.write(angle);
delay(20); // szervo8 sebessége -
}
{
// scan from 0 to 180 degrees
for(angle = 10; angle < 50; angle++) // szervo szog le tol ig

servo9.write(angle);
delay(20);
}

 

// now scan back from 180 to 0 degrees
for(angle =50; angle >10; angle--) // szervo szog fel tol ig
{
servo8.write(angle);
delay(2); // szervo8 sebessége +

}
// now scan back from 180 to 0 degrees
for(angle =90; angle >20; angle--) // szervo szog fel tol ig
{

servo9.write(angle);
delay(0);

}

}

LyPapa Creative Commons License 2020.01.05 0 0 3583

Kicsit elvetitek a sulykot, úgy érzem. Nem kell messzire elkerülni az Arduino-t - állítólag nem vagyok teljesen kezdő fejlesztő - hiszen pont leírtad, hogy mi az az előny, ami miatt értékelhető, akár ipari fejlesztő környezetben is :) Az, hogy pillanatok alatt össze tudsz dobni egy deszkamodellt, és a használni kívánt áramkör sajátosságait ki tudod tesztelni, a komolyabb rendszer működésének kockáztatása nélkül. Erre viszont szükség is van, mert a katalógus adatok nem mindig adnak kellő információt - vagy nem mindig érthető, amit közölni kívánnak. Nos, ekkor igencsak jól jön egy olcsó, működőképes 'csavarhúzó' ! ( A PoC rövidítés a Proof Of Concept lenne ? ) Szerintem megvan a helye minden ilyen eszköznek, és pl. én szívesebben dolgozom a kőbaltás Arduino környezetben pl. egy ESP8266-tal, mint bármi mással, pontosan a kőbaltás jellege miatt. Megy a leggagyibb, 19 éves Notebook-omon ugyanúgy, mint a sokkal korszerűbb darabokon - talán ez sem elhanyagolható szempont. Igaz, a MicroChip általam használt fejlesztő környezete is ment az említett őskövületen :)

Egy apróság: nagyon régen, talán az EOS 300D fórumon találkoztunk először, és örömmel látom, hogy újra találkoztak útjaink :)

 

Üdv:LyPapa

Előzmény: Prof (3582)
Prof Creative Commons License 2020.01.05 0 0 3582

Sziasztok,

Kissé árnyalnám a képet, mert ez cseppet a ló túlsó oldala.

  • Egy mikrokontroller kártya. Eredetileg Atmel AVR 8 bites, ma már sokféle mikrokontrollerrel szerelt hobbi fejlesztőeszköz.

Az Arduino soha nem volt egyetlen hardver eszközre korlátozva. Minden esetben a teljes fejlesztői környezet + hardver + tömeg viszonylatot használták rá. Persze a tömeg a kezdetek kezdetén nem volt meg, de ettől még úgy gondolták, hogy egy oktatási platformra előbb-utóbb gyűlni fognak.

 

Pont az ilyen félreértések elkerülése végett szoktam mondani, hogy az Arduino egy keretrendszer, amit oktatási és hobbista szempontok figyelembe vételével raktak össze. Az, hogy ez mennyire sikerült (részben jól), már más kérdés.

 

> Tulajdonképpen jelentős szerepe van az Arduinonak abban, hogy manapság minden gyártónak van kimondottan olcsó, debuggerrel összeépített fejlesztőpanelje.

 

Igen. De ennek a hátterében nem az volt az elsődleges szempont, hogy n+1 hobbi felhasználót eszközzel (és esetleg hardverrel) szolgáljanak ki, mert e tekintetben elég nehéz lenne versenyezni a kínai gyártók tömegtermékeivel (hobbi körökben ugyebár az ár elég fontos szempont), hanem az, hogy egy működő modell volt. PoC szintű rapid prototyping viszont, a néhol kompromisszumos, mégis többé-kevésbé működő gyári könyvtárakkal brutálisan lecsökkentette egy-egy fejlesztést megelőző nulladik körök fejlesztési költségeit. És nem azért, mert a kártya olcsó volt (a fejlesztésben soha nem a kártya a legdrágább), hanem azért, mert az adott fejlesztési fázisban nélkülözhetetlen tesztek elvégzéséig töredék mérnöki munkaórát kellett beáldozni. Aztán nyilván a második-harmadik go/no-go pont után az egész prototípust kódostul, mindenestül kidobták a kukába és nulláról, a célnak és ipari sztenderdeknek megfelelően újraépítették az egészet. De ezt már úgy, hogy elvileg termék lesz belőle, és nem csak egy PoC. 10-15 PoC eddigi költségéből 9-14-et így meg tudtak spórolni.

 

> Választanék mikrokontrollert, és vásárolnék hozzá debuggert. Egy Atmel ICE jelenleg 15 ezer, egy ST Link pedig kb a fele. A legtöbb komoly, debuggert is támogató IDE mostmár képes Arduino projekteket is kezelni.

 

Igen. Mert te kb. képben vagy. De egy átlagos hobbista (pláne tanuló) nem a normális utat fogja választani (vagyis nem az adott célnak megfelelő hardvert fogja kiválasztani a -- mondjuk -- kb. 100 fejlesztői panelt tartalmazó ST Nucleo sorozatból), hanem a gombhoz keres kabátot, mert mondjuk tetszik neki, hogy mennyire rengeteg mindent tud és milyen rohadt olcsó --mondjuk -- az ESP32. Az, hogy az adott célra van sokkal jobb eszköz is, számára nem szempont. És ha már programozni kell, hát ott a jó öreg „Arduino”, mert ahhoz minden van.

 

Én mostanában két forgatókönyvet ajánlok.
1. Ha valaki hobbizni akar és esze ágában sincs soha, semmilyen formában profiként foglalkozni az üggyel, akkor Arduino / mbed / micro:bit. Arduinoban Nano elsősorban, ha az kevés, akkor Mega2560. Ha az is kevés, akkor inkább valami komolyabb cucc (Nucleo).

2. Ha valaha bárki is tovább akar lépni a hobbista létből, akkor mbed kezdésnek (bár elképesztően szar egy ideje), de még inkább egy jobb/erősebb IDE a választott gyártótól (ez lehet tőlem Atmel, illetve ugye Microchip is, ez a szíve joga). De az Arduino-t olyan messzire kerülje el, ahogy csak tudja (még úgy is, hogy sajnos vírusként portolják a szarabbnál szarabb arduino könyvtárakat minden létező on- és off-line IDE alá.

Előzmény: Vargham (3581)
Vargham Creative Commons License 2020.01.03 0 1 3581

A kezdők kedvéért összefoglalom, hogy mi nem az Arduino. :-)

  • Nem mikrokontroller.
  • Nem programozási nyelv.
  • Nem professzionális fejlesztőeszköz.

Akkor mi az Arduino?

  • Egy mikrokontroller kártya. Eredetileg Atmel AVR 8 bites, ma már sokféle mikrokontrollerrel szerelt hobbi fejlesztőeszköz.
  • Egy nagyon buta IDE. (Integrált fejlesztőeszköz.) A Processing IDE-re épül. Arról is tudnék pár keresetlen szót írni...
  • Egy függvénykönyvtár. C++ nyelven írt, nem következetes, erőforrás pazarló, hülyéket megvédeni akaró, mégsem hülyebiztos. Példa: Egy kimenet írásakor MINDIG leellenőrzi, hogy nincs-e ott PWM, nem analóg bemenet-e, stb. Ez rengeteg idő.
  • Egy önsegítő közösség. Ahol a naiv kezdőtől a profiig mindenki osztja az észt. Válogasd ki belőle a használható tanácsokat. ;-)
  • Egy fejlesztő közösség. Ahol bárki írhat bármilyen elv alapján függvénykönyvtárakat, amiket aztán megoszt. Senki sem ellenőrzi a minőségüket, vagy az interfészük használhatóságát. Te letöltöd, és nem érted, miért nem működik. Rengeteg horror példa van. Például sok I2C eszközkezelő szoftver. A "könyvtár" úgy veszi, hogy rajta kívül senki más nincs a rendszerben. Tehát lefoglalja az I2C buszt, és busy waiting (delay) segítségével időzít... Semmi más nem fog mellette működni.

A különféle mikrokontroller gyártók általában komplett hardver, szoftver, fejlesztőeszköz, debugger megoldásokat dobnak piacra. Ezek jelenleg már olcsóbbak, és jobbak, mint az Arduino. Tíz évvel ezelőtt az Arduino pont a csóró hobbisták miatt hozott egy csomó, profiknak vállalhatatlan kompromisszumot. Aztán akkorára nőtt az egész népszerűsége, hogy a gyártóknak lépniük kellett. Tulajdonképpen jelentős szerepe van az Arduinonak abban, hogy manapság minden gyártónak van kimondottan olcsó, debuggerrel összeépített fejlesztőpanelje.

Példa: Egy eredeti Arduino UNO jelenleg 7-8 ezer forint. Egy ugyanilyen MCU-t használó ATMEGA328P-XMINI 3000 ft, és van rajta beépített debugger chip... Az ingyenes Atmel Studio IDE-vel lehet rá fejleszteni, minden perifériájához van C kód (AVR LibC), és lehet debuggert használni. De ugyanígy 3-4 ezer forint egy debuggerrel egybeépített STM32 Nucleo, ahol 32 MHz és 180 MHz közötti ARM mikrokontrollerből választhatsz. Az IDE és a HAL szintén ingyen van. De elérhető hozzá az Arduino függvénykönyvtár is.

 

Ha szeretnéd az Arduino szoftveres környezetének előnyeit élvezni, mint gyors fejlesztés, sok előre megírt könyvtár, akkor én ezt tenném:

Választanék mikrokontrollert, és vásárolnék hozzá debuggert. Egy Atmel ICE jelenleg 15 ezer, egy ST Link pedig kb a fele. A legtöbb komoly, debuggert is támogató IDE mostmár képes Arduino projekteket is kezelni.

Imre560 Creative Commons License 2020.01.02 0 0 3580

Sziasztok!

 

Vállalkozó szellemű, intelligens Arduino-s személyt keresek aki tartana nekem egy rövid diskurzust. Személyesen vagy telefonon.

6v-8.4v RC szervó működtetésével és programozásával kapcsolatos infók érdekelnek. Hozzáértőnek nem túl bonyolult ám nekem még az, de tudom hogy idő pénz szóval beszéljük meg :) Nagyon köszönöm!

Prof Creative Commons License 2019.12.31 0 0 3579

Arduino esetén az van, hogy ha fut egy adatküldés az eszközről a gép felé, akkor foglalt az USB/soros átalakító. Ha az IDE soros monitora figyel, akkor az IDE nem fogja engedni a küldést, hanem szól. Ha más alkalmazás figyeli (bármilyen soros terminál), akkor pedig hibára fog futni, mert nem azt kapja vissza a feltöltés inicializálásakor, amit kellene.
Ha nincs figyelés (nem veszi semmi az adatokat a számítógép oldalán), akkor simán elindul a feltöltés.

Előzmény: holloo (3577)
LyPapa Creative Commons License 2019.12.30 0 0 3578

Nem. Nincs op. rendszere. Van egy betöltője, ami adott szekvenciára elindul, és a soros porton fogadja a byte-okat, majd letárolja, végül egy Reset, és elindul a letöltött kód. Ehhez túl sok közöd nincs, legfeljebb, ha új boot loader-t akarsz írni :)

 

Üdv.LyPapa

 

 

Előzmény: holloo (3577)
holloo Creative Commons License 2019.12.30 0 0 3577

Értem. Szóval akkor a modul belső op. rendszere az USB portot megosztva használja az futó alkalmazás és az op. rendszer belső dolgai között, mert gondolom, hogy miközben fut az én programom (ami adott esetben használja a soros portot), továbbra is figyel arra, hogy a PC megszólítja-e egy újabb progi letöltése érdekében.

Előzmény: LyPapa (3576)
LyPapa Creative Commons License 2019.12.30 0 0 3576

1. Semmi akadálya, de ki kell választanod az IDE-ben a kontroller típusát és az USB virtuális COM portját (minimum), amin megszólítod a kontrollert

2. Majdnem :) Az IDE szólítja meg a modult, mire az letöltés üzemmódba kerül.

3. Felesleges neked az USB porttal külön bajlódni, a Serial kezelő betöltése és inicializálása után a Serial.print(...) utasítással tudsz a PC-n elindított soros vonalat kezelő rutinnak ASC-ben adatot küldeni. Az IDE debug modulja pl. erre alkalmas, de ha bármely soros terminált használod , mind jó lehet.

 

Üdv:LyPapa

Előzmény: holloo (3575)
holloo Creative Commons License 2019.12.30 0 0 3575

Sziasztok!

 

Olvasgatom a hozzászólásokat, élvezem, hasznosak nekem is. Én még csak most ismerkedem az Arduino-val, bár sok évvel ezelőtt (kb. 20-25) uP-s fejlesztéseket én is csináltam, de ilyen Arduino-szerű rendszerek akkor még nem igazán voltak (max. az i8052AH BASIC környezet), azóta meg másfelé vitt az élet, a témával is felhagytam nagyjából, úgyhogy most egy kicsit elölről kell kezdeni az egészet. Nemrég jártam az egyik bécsi Conrad-ban, és hogy ne jöjjek el szuvenír nélkül, vettem egy Tesco-gazdaságos Arduino Nano-t (helyesebben egy C-Conrol Duino-t). Hogy mire fogom használni, arról még fogalmam sincs, de majd csak kitalálok valami értelmes feladatot a számára (elsősorban ismerkedési szándékkal vettem).

 

Az első alapvető kérdésem a következő lenne:

1. Rádugom a modult a PC-re, és elindítom az IDE-t

2. A modul folyamatosan figyeli az USB portját, hogy le akarok-e tölteni neki valami kódot?

3, Ezt azért kérdezem, mert ha a kód, amit rá akarok tölteni a modulra, szintén használná az USB portot (pl. a bemenő analóg portok értékeinek visszaküldése a PC-re), akkor az megoldható?

Prof Creative Commons License 2019.12.30 0 0 3574

Az Arduino szintjén nem. Ott 99% humán. Jelentős rendszerekben van olyan szintű tesztautomatizálás, ami külső elemmel csinálja ugyanezt, de ott a külső elem is egy beágyazott rendszer (vagy egyedi vagy gyári), de az ellenőrzés alapelve nagy vonalakban ugyanez. Az IDE csak a szintaktikát ellenőrzi, illetve bizonyos fokú előre megírt protokoll alapján optimalizálja a gépi kódot. De ebből kb. semmit sem látsz (és a célnak megfelelően jól van ez így).

Mivel hobbiról van szó, a "házi kód policy" kb. az, amit magadnak kitalálsz. Elképesztően ritka, hogy valaki többedmagával dolgozzon Arduino platformon.

Amit leírtam lépésről lépésre, pont a unit teszt. Mert ez alá nincs értelme menni (sérül a funkcionalitás), feljebb pedig már nagyobb egység van. Alapvetően baromi hülyén van megcsinálva, de ez van, ha a gyári keretrendszert használod, akkor máshogy nem lehet. Illetve lehet, csak az máshogy szopás.

Előzmény: csabaprog (3573)
csabaprog Creative Commons License 2019.12.30 0 0 3573

Sziasztok, nem is gondoltam, hogy akkor nalatok is vannak deploy elotti szintaktikai stilus, szemantikai automata ellenorzesek es human codereview  a hazi code policy val ? Jol ertettem ?

Unit es funkcionalis etc tesztrendszerek amikben mock frameworkok biztositjak az izolalsagot es a modularitast ?

Tenyleg rosszul gondoltam, en totalisan el vagyok tevedve ...

 

Prof Creative Commons License 2019.12.30 0 0 3572

Szia,

Nem látom ennek értelmét így. Egy szál 328p-vel megoldható ez a feladat, az idő 99,9%-ában úgyis csak a változásfigyelés pörög. Ha nincs túlhúzva, az i2c és az spi is megy egymással gond nélkül, ha valaki nem akar egyidőben mindent megoldani. De itt a másodperc töredéke alatt futnak le a teljes adatküldések, így nincs jelentősége, ad abszurdum, másodperces frissítést is lehetne csinálni (nem lehet, mert a kijelző lassú).
Ha képes lenne rá (keretrendszer hiányosság) én elküldeném deep sleep-be, oszt jónapot. Az einknek úgysem kell felügyelet.

Amit én csinálnék:

-- RTC kezelés. Minden adatot ki, manipulálás mindenféle formában, eredmények soros vonalon ki. Addig, amíg úgy nem fut, ahogy nekünk a legjobb.

-- eink kezelés. Ismert formátumú adatok kiküldése először kötött formátumban, utána változó adatként (léptetés, switch/case stb.), a végső feladat, hogy az rtc-ből kijövő formátum (nem a konkrét adat) menjen ki rá úgy, ahogy azt elképzeltük.
-- eink második menet: frissítési gyakoriság változtatása állapotgéppel (gombnyomásra, fényerőre, eltelt időre, stb.). 

-- kódoptimalizálás olyaténképpen, hogy az adott modul egy függvényben legyen, ha szükséges, paraméterhívással. Így is teszt.

-- aztán mehet az összegyúrás. A loop csak figyel, mint a korábbi példában is, állapotgépként, a többit csinálják a függvények.

 

Amíg egy modulteszt nem 100%-os az összes szóba jöhető állapotra, addig kell ütni, amíg nem lesz az. Utána lehet esetleg optimalizálni (de nem muszáj). A "majd megoldjuk a teljesben" NEM megoldás.

És verziótörténet végig, nyilván.

 

Ami az Arduino-t illeti. Pontosan, nem több, nem kevesebb. Csak ugye mindenki azzal kezd, hogy holdmodult, okosházat és motorszabályozó elektronikát akar építeni belőle. Pedig ezekre így pont teljesen alkalmatlan.

 

Üdv,

 

Prof

Előzmény: LyPapa (3571)
LyPapa Creative Commons License 2019.12.30 0 0 3571

Az Arduino azért felkapott, mert arra, amire kitalálták, parádés. Másra a lehető legrosszabb.

 

Ahogy én látom, az Arduino egy kiváló terep : kicsit tüskés, így a  nagy mellény gyorsan sérülhet :)  Azt gondolom, hogy arra teljesen jó, hogy egy-egy részfeladatra deszakmodellt pillanatok alatt össze tudj dobni, a deszkamodell  igazolja vagy elvesse a gondolatod megvalósíthatóságát. Pont a rögzítetlen játékszabályok és a perifériák sokfélesége adja az Arduino kiválóságát és egyben csapnivaló tulajdonság halmazát is. A sokféleség mellé igencsak elférne, hogy nem egyszerre sokfélét, hanem  jellemzően  külön-külön kötögetjük , illetve ha a rákötött perifériák pl. egy 'érzékelő, több relé' értelemben vett közel homogén együttest alkotnak, akkor semmi baj sincs (az esetek jelentős részében). Akkor kezd a derült ég sötétedni, ha több, real-time kezelést igénylő eszköz van egy procira kötve - erre csak nagyon korlátozottan alkalmas.

Visszatérve az eredeti problémára, az utóbbi mondat szerint:

 

- egy Arduinora kötött RTC  (A porc.) , I2C-vel egy másikkal  (B proc.) összekötve, amelyen rajta lóg a kijelző

- Az 'A' feladata az RTC kezelése, és időnkénti szinkron átküldése a 'B' felé (pl. 2 percenként).  Az indításkor természetesen a pontos időt is átküldi.

- A 'B' feladata az aktuális idő nyilvántartása, és adott időnkénti kijelzőre írása. Az I2C buszon érkező csomagok fogadása, értelmezése.

 

Így kettétörtük az eddigi bonyolulttá vált feladatot, és két, egyszerűen kezelhető, az Arduino tervezési filozófiájának megfelelő taskot hoztunk létre.  Ha ez korrekten megy, meg lehet próbálni konszolidálni, azaz, egy rendszerbe ültetni mindent, kivéve a második Arduino-t.

 

Üdv:LyPapa

Prof Creative Commons License 2019.12.30 0 0 3570

Szia Csaba,

 

A web totál más, mint a beágyazott fejlesztés és jobbára más, mint a szoftverfejlesztés (win/iOS/Android). Az, hogy x éve weblapokat raksz össze, egyáltalán nem jelenti azt, hogy alapvető, pláne mély algoritmizálási rutinod lenne, az pedig itt, ha nem is alapelvárás, de nagyon-nagyon nagy segítség. Alapvetően más gondolkodás kell „ide”, mint „oda”. Nem rosszabb az egyik a másiknál, csak más. A fejlesztőeszközök is, a szükséges tudás is.

 

Az Arduino azért felkapott, mert arra, amire kitalálták, parádés. Másra a lehető legrosszabb.

Előzmény: csabaprog (3569)
csabaprog Creative Commons License 2019.12.30 0 0 3569

Koszi a kimerito velemenyezest,

nyilvan nincs rendes ralatasom a temara, de amennyire felkapott az Arduino en mast vartam.

Ja, vissza kell allni a futo verziora, en is erre jutottam, csak hat mivel refaktorral jutottam odaig, tul sok minden lett a kalapban, hogy mi lehet a gond egy uj teruleten.

Amugy meg webfejleszto vagyok 15 eve, volt minden asp, java most js 

front-end back- end, egyikben sem vagyok pro, mert mindig kellett mindenhez erteni vagy eppen valtozott a technologia.

 

Udv,

Csaba

Előzmény: Prof (3568)
Prof Creative Commons License 2019.12.30 0 0 3568

Halihó,

 

Kiegészítésül:

 

A legtöbb MCU, ami tényleg MCU és nem mikroszámítógép (RPi) alapvetően barebone. Aztán hogy hány és milyen réteget pakolsz rá, az már tényleg (elsősorban) fejlesztői környezet kérdése. Az Arduino az egyik legelbaszottabb ilyen, az utóbbi időben hajlamos vagyok az egyébként eléggé profinak tűnő mbed.org-ot is ide sorolni, mert azon túl, hogy az alapot (RTOS) heti-kétheti rendszerességgel frissítik (rendszerint azért, hogy valamilyen hardveres bizbaszt integráljanak kvázi OS szinten), sok minden nem történik és nagyon kevés gyártó kivételével mindenki pont telibe szarja, hogy a saját eszközeihez megcsinálja-e rendesen a könyvtárakat vagy sem (aztán hogy azok karban vannak-e tartva vagy sem, már egy egészen más történet).
Alapvetően minden azon dől el, hogy az adott cuccot milyen fejlesztői környezetben kezded el piszkálni (már felvéte, hogy az adott környezet azt a konkrét fejlesztői eszközt támogatja-e vagy sem).

Ebben a tárgykörben az Arduino a legalja sok szempontból. Mindent készen, de szarul kapsz, gyakorlatilag az egy szál forráskódot írod meg, ami az összes többi könyvtár (mondjuk HAL, de ez sem egészen igaz) paraméterezésével együtt. Borzalom.

Előzmény: LyPapa (3567)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!