Processing - Mire jó?

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

bocsánat hogy megkérdezem (csak mint a kutya aki a csontot elöbb
körbeszaglássza) de..

Ennek a nyelvnek mi az értelme ?
mert ugy nézem van olyan bonyolult mint a C
akkor meg minek? a c kontrollerközelibb
(mivel ahoz van atmel support)
a Basic erőssége pedig ugye az érthetőség...
Robi neked ezért fizetnek? :D

Sokkal jobb volna együtt kitanulni mondjuk az ARM9 dolgait.
Egyre több kis linuxos okoskütyüt látni...(az itthoni NAS omban is
ilyen ARM9 csücsül van benne ftp torrent web mysql szerver meg amit
még akartok)az ARMokat a 8bit (ATmega pl)kontrollerekkel való ötvözése
már már egy új iparág kibontakozását vélt felfedezni szerintem.

és hát azért mi itt leszünk 10 év múlva is remélem..
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Amire használják:

Programozási tudás _nélkül_ lehet mikrokontrolleres rendszereket programozni jellemzően egyszerű bementi jelre egyszerű kimeneti választ adni.
Ahol használják ezt a mai napig:
- művészeti projektek,
- kutatói adatgyűjtés.

A nyelv előnye, hogy PC környezetben és kontrolleres környezetben is jól vizsgázik. Processing a nyelv neve.

Ami a Bascom és a Processing különbsége:
Bascom :
- 4k kódméret
- 4k felett fizetős
- HW ismeret javasolt
- Windows környezet
- programozó HW kell hozzá (égető)
- demopanel nincs teljesen körbejárt


Processing:
- korlátlan kódméret M168/M8 illetve M128-ra van kihegyezve
- ingyenes
- kb. 0 HW ismerettel neki lehet esni
- Windows/Linux/MacOS támogatás
- nem kell HW hozzá (égető) gyári STK500 bootloaderrel van szerelve
- demopanel kiforrott (sok kiegészítő van, ún. Shieldboarddal)



Amiért megtetszett:
- el lehet vele indulni 10-12 évesen a programozási úton
- a HW nem kell lecserélni, ha Processing->Bascom/C/ASM váltás lesz
- a kiegészítők és a alappanel jól kitalált rendszert alkot
- nagyon sok függvénykönyvtár van hozzá készen (kb. a Bascomhoz képest 4-8x)
- C nyelv szintaktika, kötöttsége benne van, és a logikájára is rááll az ember agya. A HW belsejét elrejti (mint a bascom), de jól és gyorsan lehet vele haladni...


Az ARM7/ARM9 az még messze van... :P

Ami itt látsz kódot, azért nem a kezdeti szint.
Soros ASCII kódtábla:

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

// ASCII Table 
// by Nicholas Zambetti <http://www.zambetti.com> 

void setup() 
{ 
  Serial.begin(9600); 
  
  // prints title with ending line break 
  Serial.println("ASCII Table ~ Character Map"); 
 
  // wait for the long string to be sent 
  delay(100); 
} 
 
int number = 33; // first visible character '!' is #33 
 
void loop() 
{ 
  Serial.print(number, BYTE);    // prints value unaltered, first will be '!' 
  
  Serial.print(", dec: "); 
  Serial.print(number);          // prints value as string in decimal (base 10) 
  // Serial.print(number, DEC);  // this also works 
  
  Serial.print(", hex: "); 
  Serial.print(number, HEX);     // prints value as string in hexadecimal (base 16) 
  
  Serial.print(", oct: "); 
  Serial.print(number, OCT);     // prints value as string in octal (base 8) 
  
  Serial.print(", bin: "); 
  Serial.println(number, BIN);   // prints value as string in binary (base 2) 
                                 // also prints ending line break 
 
  // if printed last visible character '~' #126 ... 
  if(number == 126) { 
    // loop forever 
    while(true) { 
      continue; 
    } 
  } 
 
  number++; // to the next character 
  
  delay(100); // allow some time for the Serial data to be sent 
} 

Ethernet (Wiznet):

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

/*
 * Web Server
 *
 * A simple web server that shows the value of the analog input pins.
 */

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };

Server server(80);

void setup()
{
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  Client client = server.available();
  if (client) {
    // an http request ends with a blank line
    boolean current_line_is_blank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // if we've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so we can send a reply
        if (c == '\n' && current_line_is_blank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          
          // output the value of each analog input pin
          for (int i = 0; i < 6; i++) {
            client.print("analog input ");
            client.print(i);
            client.print(" is ");
            client.print(analogRead(i));
            client.println("<br />");
          }
          break;
        }
        if (c == '\n') {
          // we're starting a new line
          current_line_is_blank = true;
        } else if (c != '\r') {
          // we've gotten a character on the current line
          current_line_is_blank = false;
        }
      }
    }
    client.stop();
  }
}
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

ez nem győzött meg
az ember a hardwaret ugyis valami célirányra akarja
használni azaz 99% esélye van hogy tudjon valamit
a HW ről
különben meg bascomban is van jó demopanel
(ha megveszed a shieldboardot az nem ugyanaz mintha
megvennéd a bármi mást amiért pénzt áldozol?
Avatar
keresztg
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2008. szeptember 9. kedd, 6:00

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

Ami a nyelvet illeti, valóban emlékeztet a C-re, viszont elrejt egy csomó kellemetlen C-s dolgot (malloc/free/stb.). Szerintem inkább a Java-ra hasonlít.
Egyébként az egész Arduinos környezetnek megvan az az előnye, hogy símán írhatsz benne kontrollerközeli C-t is, mivel a GCC AVR-es targetjét használja.
herc1234 írta:ez nem győzött meg
az ember a hardwaret ugyis valami célirányra akarja
használni azaz 99% esélye van hogy tudjon valamit
a HW ről
különben meg bascomban is van jó demopanel
(ha megveszed a shieldboardot az nem ugyanaz mintha
megvennéd a bármi mást amiért pénzt áldozol?
Az egész Arduino-s kezdeményezésnek más a gyökere, mint a klasszikusan tudatos (pl. "akarok egy intelligens szobatermosztátot, ehhez kell nekem egy mikrokontroller, X darab hőmérő elem, stb.") célirányosság. Valahogy úgy képzeld el, hogy van egy kortárs művészlélek, aki épp gondolkodik a legújabb installációján (na jó, hívjuk műalkotásnak), és az aktuális trend keretében interaktív művet akar létrehozni. Mondjuk azt akarja, hogyha elmennek a mű előtt, akkor automatikusan elkezdjen kivilágásodni az egész. Persze ha nincs benne halovány műszaki affinitás sem, akkor keres magának egy mérnököt... Ha viszont van... Na ezeknek alkották meg az arduino "platformot", ami alapból egy szabványos mikroprocesszor modul, jól meghatározott csatlakozási lehetőségekkel, és az ezt felhasználó shield boardok halmaza. Ezt a delikvens megrendeli, készreszerelve megkapja, neki már csak néhány drótot kell kihúznia, meg esetleg egy érzékelőt+egy kupac LEDet a drót végére forrasztani. A szoftver oldalon, meg viszonylag egyszerűen, néhány sor segítségével elérheti a kívánt hatást (a példánál maradva, infrás mozgásérzékelő, ami az egyik digital lábat bizgeti, annak változására, meg PWM-mel meghajtja a LEDeket), és azt egy darab USB kábel segítségével fel is töltheti az eszközére. Szó se róla, ezt BASIC-ben is megírhatja, viszont a platform kialakításánál szempont volt, hogy minden szabadon hozzáférhető legyen.

Az, hogy az egészre később rárepültek a magamfajta lusta mérnökök, akik nem szeretnének a nyák tervezéssel foglalkozni, hanem inkább kódolnának, az csak a ráadás. ;) Viszont ennek keretében elkezdett elfajulni az egész felhasználási kör is (lásd pl. az ethernet shieldet).

Egyébként itthon nincs még ennek nagy felhasználói közössége. Eddig csak a KitchenBudapest-ről tudok, akik használták valaha.
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

nem érted ami irok

például:
darkbasic gamecreator VB az elején
sőt még sok sok editor amiben egy sort sem kell
leírni ahoz hogy futatható megoldást kapj
tanulnod (mégha a világ legokosabb emberét is tekintjük)
akkor is meg kell az editor vagy éppen aktuális programnyelvet
aztán mikor megtanultad derül ki (hogy azzal a nyelvel
editoral VBvel akármivel ) nem tudod elérni a célod
mert a cuccnak megvannak a korlátjai ezért szerintem
ezek a nyelvek teljesen feleslegesek
(dehát ez az én világnézetem :D )

teszem azt:építek egy demoboardot (fantázianeve objectboard)
megirom akár a bascom nyelv fordítását objectumokban VB ben
és adok neki egy usb drivert amit ugyancsak csatolok a
VB objectjeihez és ehez még dobok rá valami pofát mintha valami áramkör szimulátor volna ....mi értleme lenne ennek?
ezt is meg kéne tanulni kezelni
Avatar
keresztg
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2008. szeptember 9. kedd, 6:00

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

herc1234 írta:nem tudod elérni a célod
mert a cuccnak megvannak a korlátjai ezért szerintem
ezek a nyelvek teljesen feleslegesek
(dehát ez az én világnézetem :D )
Izlések és pofonok, valamint egyéb közhelyek... ;)
(Nekem két nagyságrenddel könnyebb egy C szintaktikához közeli nyelvben kódolni, mint BASICben... És mivel esetemben hobbi projektről van szó, ezért a számomra legkönnyebb fejlesztési irányba haladok. Viszont ha a főnököm azt mondaná, hogy holnaptól BASICben kell kódolnom, akkor különösebben nem rázna meg a dolog, csak eleinte lassabban haladnék, mint pl. Javaban.)
herc1234 írta:teszem azt:építek egy demoboardot (fantázianeve objectboard)
megirom akár a bascom nyelv fordítását objectumokban VB ben
és adok neki egy usb drivert amit ugyancsak csatolok a
VB objectjeihez és ehez még dobok rá valami pofát mintha valami áramkör szimulátor volna ....mi értleme lenne ennek?
ezt is meg kéne tanulni kezelni
Nos. Ha az ötleteddel jókor, jó helyen vagy, és jó célközönséget találsz, akkor fenn is maradhat a kezdeményezésed. Főleg, ha még dokumentációd is van hozzá, hogy más meg tudja tanulni a rendszeredet.
:D

Egyébként szerinted nem elég a létjogosultsághoz, hogy:
1. multiplatformos a fejlesztő környezete,
2. egy buznyákba se kerül
3. viszonylag egyszerűen tovább lehet menni a tiszta C-s fejlesztés fele?

Egyébként tévedés ne essék, senki sem akarja itt pikk-pakk kitúrni a jól bevált Bascomos környezetet. Ez egyszerűen csak egy másik nézete a világegyetemnek. ;)
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

nem hát persze ez már tök OFF illetve szubjektív beszélgetés
(ami persze szerintem tök jó )

multiplatform lásd 3d studio (az is csak a silicon graf képeken megy normálisan
lásd eagle na annak a linux verziója a közelébe nem ér a windowshoz

a mai free trial akármi világban meg a sok összevisza verzióval
kapcsolatban azt hiszem ma már inkább kérem a pénzes verziót
és követelem a supportot hozzá(ingyé max otthon csapkodhatsz)

C azt ne is firtassuk szinte mindenféle c könyvet bevásároltam már
a #-tól kezdve a symbian oprendszeres c -ig és valahogy én akkor is
jobban haladok akár a VB vagy akár a bascomban(bár manapság
az meg csak assembly ezért a mcselecre elég mérges is vagyok
(ezzel az erővel akár asm be is írhatnám a progikat))

mert ezek ember közelibb nyelvek (szerintem)
(bár a VB mostanában kezd elfajulni)

ne mi alakuljunk a géphez hiszen mi teremtettük őt nem ő minket?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

KeresztG fogalmazta meg jól:

A művészlelkek, aki eredményt akarnak - hamarost - akár korlátok árán is. És gyorsan. (ha nem (c), akkor az ismertetőjét átvenném a Processing könyv elejére... Annyira frappánsan fogalmazta meg :) )

Végy egy fényt. Mondjuk a zöldet.
Mit mond Neked, a Mérnöknek:
- elektromágneses rezgés, amely valahol a 568 nm hullámhosszán rezeg. Ha ez a zöld a kibocsátott zöld. De lehet a komplementer zöld is, amely minden hullámhosszt tartalmaz, kivéve a zöld komplementer színpárját (lilás). És a fényenergia, intenzitás, megvilágítás, lumen, fényáram, candella - megannyi szakmai kifejezés...

Orvosnak:
- A vizuális információ feldolgozása a szemben kezdődik. A szem hátsó részén található a retina, ahol a fény idegi jellé alakul, és a feldolgozás első lépései is megtörténnek. A fényt a fotoreceptorok (csapok és pálcikák) alakítják át idegi jellé, melyet a gyűjtősejtek kezdenek feldolgozni. Utolsó fázisként a ganglionsejtek gyűjtik össze az információt, melyet a vakfolton keresztül juttatnak ki a szemből a talamusz felé.....

Művésznek:
- A tavasz, az ébredés, az újjászületés színe. A természet, a madárhangok, a virágok megannyi színe, árnyalata, csilláma...
Az őszibúza színe, a megújulás, az újjászületés. A megnyugvás...

Az ékszerésznek:
- A smaragd mély színe, mellyel megigéz és a kövek a gyűrűben....

Az bankárnak...
- Ja a zöldhasú. A dollár.....

A focirajongónak
- Hajrá Fradi!......

A pókerjátékosnak
- megint egy zöld ász....

Az üzletembernek
- Ja mező. Beruházás - akkor zöldmezős beruházás és támogatás....

A tiniknél
- Némá, ez még zöld :P! (Szerk:éretlen...)

A drogos
- adj egy zöldet. (szleg: canabis/fű)

Az iszlám hívőnek
- a szent szín.....

A nemzetnek
- sok más nemzet mellett a magyar zászló és magyar címer színeinek egyike, a zászlóban a reményt, a címerben a földet szimbolizálja


Szóval hogy mi kikor kinek mit jelent - erősen etérő...

A Bascom és a Processing jól megfér egymás mellett. Mindnek meg van a helye a nyelvek között... A Processinget nem véletlen hogy pl. a Moholy Egyetemen tanítják... nem C-t, ASM-t, Bascomot, Visual nyelveket.... Művészeknek vagy ~palántáknak. PCre, mikrokontrollerre hírtelen valami ötlethez kell egy kis vizualizáció.


Ami maga a processing:
Phisical Computing: "A physical computing magyarázata a Wikipedia, a szabad enciklopédia alapján:

Physical computing, nem más mint egy speciális meghatározása az érzékelő-rendszerek egy csoportjának. A definíció alapján a rendszer tartalmazza a szoftvert és a hardvert is - mely érzékeli az őt körbevevő analóg világot és az érzékelésekre választ is ad... Ez a definíció eléggé tág meghatározás, így ide tartozik szinte minden - az okos forgalomirányító rendszerektől kezdve a riasztórendszereken át az ipari folyamatirányító rendszerekig nagyon sok minden. (És mégsem fedi le teljesen az összes lehetőséget ez a meghatározás.)

Más oldalról megközelítve a kérdést, a physical computing egy kreatív keretrendszer, mely segítségével könnyen elsajátítható és megismerhető az ember kapcsolata a digitális világgal.

A gyakorlatban az elv leírja a képzőművészetet, design-t és a "csináld magad" hobbiprojekteket is, melyben szenzorokkal érzékeljük a környezetet és ezt a kapott analóg vagy digitális jelet egy mikrokontroller és a rajta futó szoftver segítségével átalakítjuk. A kontroller programja által adott válasz során például elektromechanikus szerkezeteket mozdíthatunk (mint motor vagy szervo), fénykibocsátást, hangot vagy egyéb interakciót tapasztalhatunk.

Ezen folyamatok közös jellemzője, hogy a hatásokat a környezeti (analóg) világ érzékelése váltja ki.

Physical computing technikája széles körben alkalmazásra kerül, a mindennapi életben is sok helyen találkozhatunk vele."
Bővebben: Processing - Előszó
Avatar
keresztg
Újonc
Újonc
Hozzászólások: 14
Csatlakozott: 2008. szeptember 9. kedd, 6:00

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

Robert írta:KeresztG fogalmazta meg jól:

A művészlelkek, aki eredményt akarnak - hamarost - akár korlátok árán is. És gyorsan. (ha nem (c), akkor az ismertetőjét átvenném a Processing könyv elejére... Annyira frappánsan fogalmazta meg :) )
Nyugodtan vedd át. :D Ez is public domain volt. ;)
Robert írta:A Processinget nem véletlen hogy pl. a Moholy Egyetemen tanítják...
Nahát, ezt nem is tudtam, bár bátyám régebben járt oda (akkor még MIF volt...)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

Választható tárgy.

Processinget első félévben PC-re tanítják (animáció és társai), második félévben a PC-külvilág (ARDUINO) játszik, a végén pedig arduino önállóan....
Avatar
boczhunor
Bitmanipulátor
Hozzászólások: 110
Csatlakozott: 2009. augusztus 5. szerda, 6:00

Én is megtanulok Processingben programozni.

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

Helló!
Most jlenleg Arduino-ban mikrokontrolleren és PC-n ANSI C-ben programozok. most pl. robotépítésnél a PC felöli program hatalmas lett. Csak a TV Tuner deklarálása és használata C-ben 5000 sor körül lett. Megkellett hívni a BIOS-t... Tehát jó sokat kellett írni. De megérte. Azért ANSI C-ben képelemző... A program: http://www.magyarokamarson.hu/portal/e1 ... imageId=83
Csak szerintem most mindenki magában megkérdi,hogy mindek kitartani egy olyan nyelvnél amihez ennyi ezer sort kell írni. Mondjuk van egy olyan érzés is,hogy te alkottad és nincs minden előtted készen, de aztán ez az érzés unalmassá válik. És én is így vagyok vele. Rájöttem,hgoy olyan nyelvet kellene megtanulni amiben mégis legyenek készen a dolgok és ne mindent én írjak meg. Annyi idő alatt amig csak a robot programját írtam ha a Processinget használtam volna kész lett volna az egész robot. És épp ezért arra gondoltam,hogy tényleg ideje lenne könnyíteni a dolgomon. És mivel nagy Arduino-s vagyok ezért úgy gondoltam a legideálisabb lenne megtanulni a Processinget. Egyszerű példa, pl. míg én ANSI C-ben ezernyi sorokat írtam a színdetektorhoz eddig Processingben pár sor: http://jamesalliban.wordpress.com/2008/ ... rocessing/
Azért írtam ide a topikba ,hogy mindenki aki most akar megtanulni egy programozási nyelvet azért figyelje meg az idejét is,hogy mennyi ideje van és úgy válasszon nyelvet. Szerintem a Processing egy másik előnye az is,hogy kompakt és gyorsan eredményeket lehet elérni.

Egyébként van itt valaki a fórumon aki Processingbe programozik?
Üdv. Hunor!
Avatar
herc1234
Bitfaragó
Hozzászólások: 459
Csatlakozott: 2007. február 9. péntek, 7:00

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

Én PC oldalon a C# .NET párosítást erőltettem magamra.
Avatar
boczhunor
Bitmanipulátor
Hozzászólások: 110
Csatlakozott: 2009. augusztus 5. szerda, 6:00

Helló.

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

Hát a C# sokkal kényelmesebb. Az ANSI C-t úgy képzeld el,hgoy nem ismeri a webkamerát, USB portot, TV tunert, grafikus módot... Tehát tipikus 1970-es nyelv UNIX-hoz. Mindent te kell neki megírj. De tök kis jó nyelv. Nagyon sokat tanultam,hogy eljussak erre a szintre és most nehéz lesz váltani, de midnen esetre megkell tennem mivel időm sincs sok és már azért vágyok én is a kényelmesebb munkára, hogy ne kelljen a kereket újra feltalálni... :lol:
Egyébként továbbra is várom a válaszokat,hogy van-e valaki aki Processing-ben programozik, hiszen a nyáron fogom megtanulni és azért jó lenne valaki aki segítene ha elakadok... Angol nyelv nem megy épp olyan jól, tehát kéne valaki aki fordítana. :oops:
Üdv. Hunor!
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

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

A Processing az Java alapú inkább...

Angol nyelvre:
translate.google.com vagy www.webforditas.hu
Igaz a programkód hülyén néz ki lefordítva:)

A Processing a PC oldali Arduino.
Azaz NEM program/alkalmazásfejlesztés a célja! Vizuális megjelenítés, inkább művészeti és egyéb oldalról való megközelítés dominál!
Avatar
pete
DrótVégénSzéndarab
Hozzászólások: 32
Csatlakozott: 2010. április 26. hétfő, 6:00

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

sziasztok,

a topicinditoval szemben a velemenyem az hogy "mi az a bascom" ? :)

Igazabol _csak_ azert kezdtem arduinozni mert van hozza korlat nelkuli fordito, IDE es szabad library-k hasznalhato minosegben. A kod technikailag C/cpp amit sok belso fv-nyel, konstanssal es makroval tesznek emeszthetove. GCC-nek es a GNU tooloknak az AVR targetjet hasznalja, szoval at lehet terni C/CPP-re ha valaki akar, csak legyen eleg penge ahhoz hogy pl. jobb print fv-eket irjon a fejlesztoknel.

A C/CPP letjogosultsagat en talan a tiny-knel latom meg, ott lehet hogy a keretrendszer overhead-je tul sok.
Válasz küldése