Ez inkább csak gyakorlási cél volt, de egyébként a hangjelzés sokszor jobb mint a fény. Vannak akik állandóan nézegetik az órát ha pl. időre mennek valahova, mások meg beállítanak egy schedulert vagy alarmot, én ez utóbbi vagyok. Vagy ha nincs rálátás a kijelzőre, vagy ha nem folyamatos a kijelzés, mire észrevesszük és ránézünk, már vége is. Szóval sok esetben jobb a hang, egyszerűbb a hw, és ha én meg tudtam írni, akkor egyszerű a programozás is.
Most egy másik problémát is ki akarok próbálni rajta, az időállítást. Nincs rtc, minden resetkor 7 órával indul. Nem akarom soros porton állítani, mert egy órán nem kell soros portnak lógnia. Meg különben is egy óra semmit nem ér ha nem pontos, vagyis naponta be kell állítani (netes atomórához), az meg nem módszer, hogy pc-t kell ráakasztani a beállítás elvégzéséhez.
Egyetlen nyomógombbal szeretném megoldani a nyomogatás időzítésével. Ez gyakorlás lesz a kódközlés egy nyomógombbal gondolatomhoz. Egyrészt a lehető legkevesebb nyomogatást szeretném, és programozásban is valami egyszerűbb utat találni.
Mennyire lényeges a folyamatos és tiszta adatkapcsolat? (Milyen átviteli sebesség lenne idális?)
430 MHz környékén irányított antennával ezt akár kilométerekre meg lehet oldani, ha jelentős takarás (pl. hegy, házsor stb.) nincsen. Ha van, akkor vagy tükrözöd vagy elindulsz lefelé a frekvenciával és felfelé a teljesítménnyel. Ez egyik sem túl elegáns megoldás mostanában. Végszükség esetére átjátszó valahol.
Rádióamatőr körökben internetszerű adatforgalmat csináltunk 1k2 baud környékén 144 MHz tájékán. De lényeges volt pár feltétel megléte, pl. az, hogy viszonylag tiszta rálátás legyen a kettőre (itt a viszonylag tiszta alatt azt kellett érteni, hogy A és B között pl. hegy ne legyen, és lehetőleg nagy házak sem). Újlipótváros Pesterzsébet viszonylatában az 1,44 MB-os floppy adatmennyisége másfél óra alatt át is ért. Ez működhet (erre van kitalálva), de engedélyköteles (egyébként minden az a PRM kivételével bizonyos teljesítmény fölött).
Megírtam a csipogós óra programot, a tapasztalati értékek 50 ms high és 50 ms low a csippanások (tehát 10 Hz), a csippanások között nincs szünet, két csippanáscsoport között 200 ms.
érdeklődnék, hogy van-e itt olyan, akinek van ideje, kedve, affinitása egy kis cucc összerakásához, természetesen nem ingyen.
Lehetőleg Pest környékén, hogy zökkenőmentesen menjen a dolog.
Röviden:
2db RS-232 porton kellene vezérelni 2 eszközt AT parancsokkal. Figyelni, hogy mikor mi érkezik az egyik porton, és az annak megfelelő parancsot kiadni a másikon.
Nekem a kezdeti lelkesedés (karácsony környéki nyugalmasabb idő) óta nem nagyon volt időm foglalkozni vele.
Éppen saját operációs rendszer használatára térünk rá Atmel 8 bites mikrokontrolleren, amihez a felhasználói interfész egy másik, beágyazott Linuxos (32bit ARM) eszközön fut.
Ez most időben és figyelemben ki is meríti a munkát és a hobbit egyszerre. :-)
Kipróbáltam a "klón" nano-t ebay-ről, és sima ügy volt. Egy kicsit kényelmetlen, hogy a CH340-es drivert telepíteni kell, de amúgy sima ügy, két példa is simán futott, ahogy kell.
Az alapfelvetés kiváló, az „IDE” az Arduinoénál sokkal jobb, a koncepció professzionálisabb, az eszközök, khm... minimum egy klasszissal jobbak (a Rpi 2-nél is, bár nem érdemes a kettőt egy lapon emlegetni, tekintve, hogy ez utóbbi inkább mikroszámítógép még mindig).
Szintén fontos a gyors sikerélmény, gyors prototipizálás.
Itt jön az első hoppá, nevezetesen a tök kezdő felhasználó számára nem a „dugd ezt ide, azt oda, erre figyelj, ezt töltsd le és menni fog” babusgatást adja, hanem csak a keretrendszert pokoli erős hardverekkel. Innentől jelentősebb fokú önállóság kell. Az már más kérdés, hogy az Arduino eleje, közepe és vége is a prototipizálásról szól, az mbed ehhez képest -- legalábbis elvben, mert még nem próbáltam élesben -- teljeskörű gyártástechnológiát kínál. Ez pedig már nem a klasszikus értelemben vett DIY.
[...] teljes értékű szerkesztővel, verziókezelővel.
A teljes értékű szerkesztő nekem a Notepad++. Biztos van jobb, rugalmasabb, személyre szabhatóbb. Ez attól fényévekre van. Igaz, az Arduino IDE-t magasan veri.
Verziókezelés: az adott projekten belül a közreműködők ügyködéséig van meg, az fűzhető ide-oda, kivehetők belőle részek, illetve egyesíthetők, de az, hogy én egy adott kód fejlesztésénél azt mondom, hogy no, ez itt egy mérföldkő, és innen új verziószámot akarok, az nem működik. Ebbe a problémába belefutottam és hiába a korlátozásmentes undo/redo, az mentés és bezárás után megy a kukába (ami mondjuk érthető, mert döbbenetes adatmennyiségről lenne szó).
Jár hozzá rengeteg gyári (ARM) rendszerkönyvtár, valamint a közösség tagjai is megoszthatják egymással a fejlesztéseiket (könyvtárak shieldekhez, stb).
Namost. Eddigi tapasztalataim alapján az eszközkönyvtárak (http://developer.mbed.org/components/) többé-kevésbé a jó nagy halom katyvasz leírással illethetők. Egy csomó könyvtárhoz nem tartozik minta kód, amely a használatot bemutatná. A dokumentáció a legtöbb helyen vagy nincs vagy hiányos, végül nem egy olyan könyvtárba belefutottam, ami gyárilag hibás volt (elbaltázott változókezelés, szintaktikai hiba stb.). Minden eszköznek van egy külön „könyvtára”, az viszont jellemzően sehol sincs dokumentálva, hogy bizonyos alap + kiegészítő kombinációk esetén például a lábkiosztással mit kell kezdeni. Mert ahány fejlesztőeszköz (board), annyi féle lábkiosztás és annyi féle elnevezés (hivatkozás).
Ugyanakkor az elvitathatatlan előny, hogy ami viszont jó, az tényleg jól van megcsinálva, és ha változtatnak rajta, az prompt megjelenik (még figyelmeztet is a compiler, hogy ideje frissíteni).
A fordítás is online történik, a kész bin töltődik le a gépedre.
Igen, bár nekem 4-5 kattintás, mire a kártyára érnek. Az Arduino e tekintetben kicsit egyszerűbb.
Így többé-kevésbé egy hónap után azt tudom mondani, hogy cseppet sem kisebb szívás, mint az Arduino, sőt, néhány ponton kifejezetten nehézkesebb (lásd pl. C++ alap parancsok dokumentációjának teljes hiánya a mbed.org-on – vagy csak én nem találtam meg). Egy kezdőt ide soha nem engednék be, hacsak nincs felkészülve arra, hogy az első perctől, vagyis a "Hello, World!"-től kezdve mélyvíz. Minden tekintetben.
Azért van differencia még valamiben. Oké, hogy van támogatás és vannak felhasználók, de... Az Arduino-t kb. 3-4 millió ember használja, az mbed most ünnepelte a százezredik fejlesztőjét. Ami azért jó egy nagyságrend különbség.
Ennek a mondatnak nincs haszna, mindenki tudja, hogy a neten mindent meg lehet találni.
De egy fórumban is szívesebben segítenek, ha már elolvastad a leírást, megpróbáltad alkalmazni, elakadtál, és csak utána kérdezel. Olyankor már legalább tudod, hogy mi az, amit kérdezel, és nagyobb eséllyel érted meg a választ is. ;-)
Ezt te gondolod így mások meg máshogy. Én is fórumozok 19 éve, és soha senkinek nem mondtam, hogy nézze meg a leírásban. Vagy adok neki url-t ha tömören le van írva valahol, vagy elmondom a tudásomból kiszűrve érthetően, vagy ha csak annyit mondanék, hogy derítse ki maga és utána kérdezzen, akkor nem mondok semmit.
Ha megnézed a pro mini lábkiosztását, akkor látod, hogy hol vannak ezek a lábak.
Ezek után már csak az ISP lábkiosztását kell megnézned, és összekötni a megfelelőt a megfelelővel.
A soros kapcsolatról volt szó, azt tisztáztuk, és volt mégegy kérdésem, hogy mindettől függetlenül a bootloadert meghagyta-e. Igen meghagyta, ebből arra gondolok, hogy lehet nekem is jó lesz úgy, de ha nem, akkor majd ki kell derítenem a pro mini bootloader nélküli programozását.
> Aztán meg a pro minin nincs se 6-os se 10-es kétsoros tüskesor, a programozóknek meg ilyen csatlakozója van.
Ez is benne van a leírásban.
A kínai tényleg nem fog foglalkozni ilyesmivel. :-)
De egy fórumban is szívesebben segítenek, ha már elolvastad a leírást, megpróbáltad alkalmazni, elakadtál, és csak utána kérdezel. Olyankor már legalább tudod, hogy mi az, amit kérdezel, és nagyobb eséllyel érted meg a választ is. ;-)
Az ISP-ben van: VCC, GND, MOSI, MISO, SCK, RESET. (A 10 pólusúban néggyel több GND van.)
Ha megnézed a pro mini lábkiosztását, akkor látod, hogy hol vannak ezek a lábak.
Ezek után már csak az ISP lábkiosztását kell megnézned, és összekötni a megfelelőt a megfelelővel.
Korábban kérdeztem a sebességet, most kipróbáltam:
long prev=millis(); for(long i=1;i<100000;i++) { digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) digitalWrite(13, LOW); // turn the LED off by making the voltage LOW } long aktualtime=millis()-prev; Serial.println(aktualtime);
1062-t ír ki, ami 94.1 kHz, a műszer szerint 97.7 kHz. Két bitkiírás, egy számláló növelés és egy hasonlítás összesen ~ 10 mikrosec, nagyon durva közelítéssel 2-3 mikrosec/utasítás, ami kb. 40 órajel a 16 MHz-es chipnek.
Az a néhány drótos Arduino ISP megoldás szimpi, csak nekem leginkább a pro mini lesz a végleges board, azzal vajon megy-e? Annyit írt, hogy a reset lábhoz hozzá kell férni, de az a pro minin van.
Ebayen néztem avr-isp, de pont a mega328-at kihagyták a kompatibilis felsorolásból, ATMEGA3250 és ATMEGA329 között kellene lennie. Viszont a mega2560-at tudja.Vajon miért maradt ki a 328? Aztán van usbtiny-isp, de nincsenek fölsorolva a chipek, viszont az egyiknél írja, hogy kompatibilis az arduino IDE-vel. Van jtagice, van AVR ISP MKII compatible USB clone programmer, ami az AVR Studioval kompatibilis, van STK500, ez is mindennel kompatibilis, de az arduinot nem említi, és még vannak drágábbak is. Aztán meg a pro minin nincs se 6-os se 10-es kétsoros tüskesor, a programozóknek meg ilyen csatlakozója van.
Szóval megint egy olyan téma, hogy 10 órákat lehetne eltölteni kereséssel, olvasással. Mivel a kínai árusnak nem annyira fontos, hogy részletesen tájékoztasson, ezért olyan fórumozó ember tapasztalatára lehet támaszkodni, aki azt az adott terméket próbálta és jó.
Le tudja valaki írni, hogy a pro mini meg egy programozó hogy csatlakozik, az arduino IDE-ben mit kell állítani, hogy ezt a programozót használja és bootloader nélkül csak a sketchet írja be?
Technikai értelemben nyilván. Jobb lett volna azt írnom, hogy a "soros portos kommunikáció (pl. feltöltés) vagy a terminálablak megnyitása olyan hatású, mintha resetet nyomnál".
Normális körülmények között ennek nem nagyon van jelentősége, sokszor még (mondjuk) haladó felhasználók számára sem.