Arduino kezdő

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
Schatten
Újonc
Újonc
Hozzászólások: 3
Csatlakozott: 2017. március 2. csütörtök, 19:45
Tartózkodási hely: Tapolca
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: Schatten » 2017. március 21. kedd, 23:32

kapu48, köszönöm mégegyszer , a te észrevételed , és az én , figyelmetlenségeim javításával megoldódott. :)

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 967
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: SanyiSay » 2017. április 10. hétfő, 18:19

Kicsit túlparáztam az AVR Arduino programozást, megy simán.
Ahogy Kapu mondaná megint feltaláltam a csövön a lyukat. :)
Mondjuk az ESP-AVR i2C kommunikáció még hátra van.

Egy kérdésem lenne.
Van pár ArduinoMiniPro lapom, amin néhai bascomosként elállítottam a biztosíték biteket, és STK500 al töltöttem rá ezt azt. Azt láttam, hogy van a gyári Arduino fordítón bootloader égetési menüpont. Ha összekötöm STK500 al, beállítom az Arduino lapot, akkor ez feltölt és beállít mindent (de szép lenne), vagy van egyéb teendő is?
Alighanem ezzel a művelettel fogok végleg búcsút inteni, a Bascomosok egyre fogyatkozó táborának. :(

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9698
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: Robert » 2017. április 10. hétfő, 18:38

Tools - board : melyik bootloadert kéred rá. (Uno vagy diecimila. Pro mini: diecimila)
Tools - programmer: STK500
Tools - COM: a STK500 COM portja
Tools - burn bootloader: bootloader égetése. Fuse, Flash is megtörténik.
Kész :)
Soroson át Arduino alól programozhatod. (Tx. Rx, Dtr)


Vagy STK500 marad, COM: STK500-é, programmer: STK500, Board: uno v. diecimila (16 MHz quartz).
Upload via programmer: STK500 égetoi be a kész programot (bootloader nélkül). (kb. Bascom programozási mód, csak a fusebitekkel nem vacakolsz:) )


Sajnos a Bascom támogatás jóval elmarad az Arduinótól:(.
Amikor még visszanyúlok Bascomhoz: 0% soros hiba (14.74..MHz Quartz), más AVR chip mint Mega8/168/328/1280/2560. Valamiért kisebb kódméretigény, xMega chip támogatás
De a támogatás, library Arduino alatt _sokszorosa_ a Bascom alattinak....
http://www.tavir.hu - a gazda :)

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 967
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: SanyiSay » 2017. április 10. hétfő, 18:45

Köszönöm a gyors és jó híreket. :)

Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 967
Csatlakozott: 2009. február 28. szombat, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: SanyiSay » 2017. április 10. hétfő, 19:49

Nekem az Arduino igazi örömprogramozást hozott. Lassan már azt sem tudom milyen procin fut a kódom nem hogy Quartz ot kelljen keresgélnem. Ezzel együtt nem érzem hogy korlátok közé lennék szorítva. Sőt. Sokkal szabadabban ötletelek. A HW az csinálta aki ehhez nálam jobban ért, SW szintén nálam nagyobb tudásúak munkája, csak ollózgatnom kell mindenből. Nekem már csak azt kell kitalálnom mit szeretnék. Annó mikor még tanziszorból fabrikáltunk astabilt meg 74xx kapukból volt minden, hirtelen jöttek a processzorok, azon gondolkodtam hogy a hobbista fejlesztésnek befellegzett. Ami igaz is lett egy részről, viszont cserébe sokkal több mindent kaptam mint egy led villogtatás sikere, és kb ugyanannyi idő ment el mint most a ház okosításra. :)

Andralin
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. április 11. hétfő, 15:29

Re: Arduino kezdő

HozzászólásSzerző: Andralin » 2017. április 11. kedd, 16:42

Sziasztok!

Lehet, hogy nagyon láma lesz a kérdésem, de rendeltem innen (tehát nem hamisítvány) egy DigiSpark Tiny85-öt és gondom van vele.
A kérdésem az, hogy a megszakítások hibás programozásával tönkre lehet teljesen tenni ezt az eszközt, legalábbis annyira, hogy a bootloader se fusson rajta?

A kezdeti lépéseken már túl vagyok, pár napja vidáman fejlesztgettem rajta.
De ma jött egy olyan elborult ötletem, hogy egy DO pin gyorsabb ki/be kapcsolgatását timer alapú megszakítással oldom meg.

A neten találtam egy célnak megfelelő példaprogramot ATTiny85-re, ami meghatározott időnként meghívja a megszakítást. Először egy vadiúj programként teszteltem, amiben csak a beépített LED-et kapcsolgatja ki/be és szuperül működött is.

Ezután beillesztettem a megszakításos programrészletet a saját, fejlesztés alatti kódomba és letöltöttem.
A panelt behelyezve az áramkörbe, amiben már napok óta tesztelem, bekapcsolás után elkezdett futni, de már másodpercen belül lefagyott a kontroller. Táp ki/be kapcsolás után már el sem indult. :evil:
Ezekután visszadugva PC USB portjára, már fel sem ismeri a Windows, azt írja "USB Device Not Recognized". :( :( :(
Próbáltam már azóta számtalanszor, de mindig ezt írja ki, ez már teljesen KO. :?

Szóval létezhet olyan, hogy a megszakításos kódrészlet nyírta ki szegényt? Történhet ilyesmi? Vagy csak véletlen egybeesés, valami most fáradt el benne vagy rossz helyen értem hozzá statikusan feltöltödve, stb.?

Vajon ha veszek egy újat, akkor merjem rátölteni a kódot és tovább kísérletezni, nem fogom az újat is kinyírni?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9698
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: Robert » 2017. április 11. kedd, 20:26

Igen. Klasszikus bootloader ugyanis nincsen rajta, hanem a program _elején_ 2k a "bootloadernek" fenntartott rész...
És minden újraprogramozáskor ez is újraíródik.
Gyakorlatilag a főprogram indulásakor az idő elején egy kommunikációs rész indul el - ami bootloader jelleget mutat (funkcionálisan)...

És a megszakításkezelés/INT táblából 1 van, nem válik külön, hogy bootloaderé vagy főprogramé...:(
http://www.tavir.hu - a gazda :)

Andralin
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. április 11. hétfő, 15:29

Re: Arduino kezdő

HozzászólásSzerző: Andralin » 2017. április 11. kedd, 20:35

Robert
Akkor megszakítást nem is célszerű használni rajta? 8O
Vagy lehet, csak óvatosan kellene bekonfigurálni?
Abban tudnál segíteni, hogy mire kell figyelni, hogy ne tegyek vele tönkre mégegy eszközt? :roll:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9698
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: Robert » 2017. április 12. szerda, 3:39

Eléggé korlátozott a digispark holmi. Mondhatni inkább az érdekesség kategóriája (én is oktatásokon veszem elő csak)
- emulált USB az erőforrások 80%-át lefoglalja, a maradék 20% a tied.
- INT alapú az USB kommunikáció - semmilyen INT-et nem használhatsz! (USB timeout-ra fut a SW emuláció miatt)

Javasolt használati mód: külső programozóval, USB támogatás nélkül (vagy a bootloaderrész nélkül)
http://www.tavir.hu - a gazda :)

frob
Újonc
Újonc
Hozzászólások: 6
Csatlakozott: 2016. március 21. hétfő, 20:48

Re: Arduino kezdő

HozzászólásSzerző: frob » 2017. április 14. péntek, 9:58

Sziasztok!

Egy tök egyszerű dologgal szenvedek...
inStr sorosportról érkező adat.
splitStr pedig a már szétdarabolt cucc amit majd váltózóba kerülne

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

inStr.reserve(100);
splitStr.reserve(4);
int split =0;



Tehát van hely is.
Ha nem for-ban, hanem azon kívül teszem bele a váltózóba az adatot
akkor minden kerek

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

   splitStr[0]= inStr[0];
        splitStr[1]= inStr[1];
        splitStr[2]='/0';
        Serial.println(splitStr);




Viszont for -ba rakva mind ez nem jön össze, miért?

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

    for(int i=0; i<inStr.length();i++)
      {
        if (inStr[i]==';')
        {
        splitStr[0]= inStr[split];
        splitStr[1]= inStr[i-1];
        splitStr[2]='/0';
        split=i+1;
        Serial.println(splitStr);
         }
      }





1.8.2 fordítóval csinálom...
Előre is köszi a segítséget!
R.

frob
Újonc
Újonc
Hozzászólások: 6
Csatlakozott: 2016. március 21. hétfő, 20:48

Re: Arduino kezdő

HozzászólásSzerző: frob » 2017. április 14. péntek, 10:31

Úgy néz ki meglett a a megoldás.
Bár továbbá sem értem, hogy az egyik helyen miért megy a string feltöltés a másik helyen meg miért nem, de működik.
Még pedig úgy hogy a stringbe += vel megy bele a két karakter a másik stringből és így ott van aminek ott kell lennie...
Persze ha valaki megmondja hogy kellene működni a másiknak , az azért érdekelne!
R.

Andralin
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. április 11. hétfő, 15:29

Re: Arduino kezdő

HozzászólásSzerző: Andralin » 2017. április 22. szombat, 6:56

Robert írta:Eléggé korlátozott a digispark holmi. Mondhatni inkább az érdekesség kategóriája (én is oktatásokon veszem elő csak)
- emulált USB az erőforrások 80%-át lefoglalja, a maradék 20% a tied.
- INT alapú az USB kommunikáció - semmilyen INT-et nem használhatsz! (USB timeout-ra fut a SW emuláció miatt)

Javasolt használati mód: külső programozóval, USB támogatás nélkül (vagy a bootloaderrész nélkül)


Köszi a magyarázatot, így minden egyértelmű!
Végül beszereztem egy új példányt és megoldottam a feladatot INT nélkül.

De azért ezt durvának tartom, hogy a Digispark oldalán a tutorialok között sehol nem láttam a nagybetűs figyelmeztetést, hogy ne használdj INT-et te szerencsétlen, mert különben megszívod... :twisted:

Na mindegy, ezt leszámítva nagyon szuper kis eszköz ez picike helyre, kisebb feladatra, kevés I/O esetére.
Pár egyszerű logikai összefüggést kellett megvalósítani némi időzítéssel megspékelve, erre tökéletes volt ez a Tiny cucc. :wink:

Vkrisz
Újonc
Újonc
Hozzászólások: 1
Csatlakozott: 2017. július 1. szombat, 14:03

Re: Arduino kezdő

HozzászólásSzerző: Vkrisz » 2017. július 1. szombat, 14:15

Sziasztok!

Segítséget kérnék egy olyan megoldásában, hogy adott egy nyomógomb, magas jelszint esetén kigyullad egy led(1-es), egy másik(2-es) pedig nem. Alacsony jel mellett az 1-es led elalszik, eddig oké a dolog, a 2 lednek fel kéne gyulladni pár másodperce majd elaludni. Ezzel lenne gondom, hogy ha egy else ágba teszem egy delay-el, mivel állandóan alacsony a bemenetem kapok egy villogó ledet...
Előre is köszi!

vargham
Bitmanipulátor
Hozzászólások: 141
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: Arduino kezdő

HozzászólásSzerző: vargham » 2017. július 1. szombat, 15:29

> ha egy else ágba teszem egy delay-el
Delay tilos, mert VÁRAKOZTATJA a processzort, miközben más eseményekre is kellene reagálni. Használj helyette időzítést, és akkor működni fog.

Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3174
Csatlakozott: 2008. augusztus 29. péntek, 6:00
Tartózkodási hely: Újkígyós

Re: Arduino kezdő

HozzászólásSzerző: kapu48 » 2017. július 1. szombat, 21:03

Biztos erre gondolt a kolega: Blink Without Delay.
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 3 vendég