{"id":46153,"date":"2022-06-21T12:12:04","date_gmt":"2022-06-21T09:12:04","guid":{"rendered":"https:\/\/kutaybilen.com.tr\/?p=46153"},"modified":"2022-06-21T12:12:04","modified_gmt":"2022-06-21T09:12:04","slug":"arduino-nedir-nasil-programlanir","status":"publish","type":"post","link":"https:\/\/kutaybilen.com.tr\/?p=46153","title":{"rendered":"Arduino Nedir, Nas\u0131l Programlan\u0131r?"},"content":{"rendered":"<p><strong>Arduino<\/strong>, elektronikle u\u011fra\u015fmaya yeni ba\u015flayan be\u015ferler ortas\u0131nda son vakitlerde epey tan\u0131nan hale geldi ve bunun son derece yeterli bir nedeni var. <\/p>\n<p>Bu yaz\u0131m\u0131zda ne oldu\u011funu bilmeyip merak edenleriniz i\u00e7in Arduino\u2019nun ne oldu\u011funu, neden tercih edildi\u011fini ve ad\u0131m ad\u0131m nas\u0131l programland\u0131\u011f\u0131n\u0131 basit\u00e7e anlatmaya \u00e7al\u0131\u015ft\u0131k. <\/p>\n<p><b>Arduino nedir? <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/43d8d0aa95c6a06623f2196e3d4f8fab082efc8a.jpeg\"\/><\/p>\n<p>\u00d6zetle anlatmak gerekirse<strong> Arduino<\/strong>; tamirciler, belirli hobilerle u\u011fra\u015fan be\u015ferler ve dizaync\u0131lar taraf\u0131ndan ger\u00e7ek d\u00fcnya ile etkile\u015fime giren ayg\u0131tlar tasarlamak ve \u00fcretmek i\u00e7in kullan\u0131lan a\u00e7\u0131k bir donan\u0131m geli\u015ftirme kart\u0131d\u0131r. <\/p>\n<p>Elektronik projeler olu\u015fturmak i\u00e7in kullan\u0131lan<strong> a\u00e7\u0131k kaynakl\u0131 bir platform<\/strong> olan Arduino; hem fizik\u00ee olarak programlanabilen ve mikrodenetleyici olarak da bilinen bir devre kart\u0131ndan, hem de bir yaz\u0131l\u0131m mod\u00fcl\u00fcnden yahut bilgisayar\u0131n\u0131zda \u00e7al\u0131\u015fan, bilgisayar kodunu fizik\u00ee karta yazmak ve y\u00fcklemek i\u00e7in kullan\u0131lan <strong>IDE<\/strong>\u2019den (Entegre Geli\u015ftirme Ortam\u0131) olu\u015fur. <\/p>\n<p><b>Neden Arduino? <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/001588b9959ccc8bfadfe063deb950aba94f8143.jpeg\"\/><\/p>\n<p>Arduino\u2019nun, daha evvelki proglramlanabilir devre kartlar\u0131ndan farkl\u0131 olarak karta yeni bir kod y\u00fcklemek i\u00e7in <strong>programc\u0131 <\/strong>olarak da bilinen ba\u015fka bir donan\u0131m kesimine <strong>ihtiyac\u0131 yoktur<\/strong>; bunun yerine yaln\u0131zca bir <strong>USB kablosu<\/strong> da i\u015finizi g\u00f6recektir. Buna ek olarak Arduino, <strong>mikrodenetleyicinin<\/strong> fonksiyonlar\u0131n\u0131 daha eri\u015filebilir bir pakete ay\u0131ran standart bir form fakt\u00f6r\u00fc sa\u011flarken; kolayla\u015ft\u0131r\u0131lm\u0131\u015f bir<strong> C++<\/strong> s\u00fcr\u00fcm\u00fc kullanan <strong>Arduino IDE<\/strong> ile programlamay\u0131 \u00f6\u011frenmeniz kolayla\u015ft\u0131r\u0131r. <\/p>\n<p><b>Arduino nelerden olu\u015fur? <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/4d472c8ca31dca5bdd9e541067eea5aae5e9b196.jpeg\"\/><\/p>\n<p>Tek bir devre kart\u0131 \u00fczerinde bir dizi farkl\u0131 kesim ve aray\u00fcz i\u00e7eren Arduino\u2019lar\u0131n tasar\u0131m\u0131 y\u0131llar i\u00e7inde de\u011fi\u015fmi\u015f olsa da, rastgele bir Arduino\u2019da bulman\u0131z muhtemel olan birtak\u0131m temel mod\u00fcller vard\u0131r. <\/p>\n<ul>\n<li>Pinler <\/li>\n<li>G\u00fc\u00e7 konekt\u00f6r\u00fc <\/li>\n<li>Mikrodenetleyici <\/li>\n<li>Seri konekt\u00f6r <\/li>\n<li>Di\u011fer k\u00fc\u00e7\u00fck bile\u015fenler <\/li>\n<\/ul>\n<p><b>Pinler <\/b><\/p>\n<p>Arduino ile kullanmak isteyebilece\u011finiz \u00e7e\u015fitli bile\u015fenlere ba\u011flanmak i\u00e7in kullan\u0131lan<strong> iki \u00e7e\u015fit pin<\/strong> vard\u0131r: <\/p>\n<ul>\n<li>Dijital pin <\/li>\n<li>Analog pin <\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/733da3c07133fc6eaba125b0e323bfa832eea30c.jpeg\"\/><\/p>\n<p><b>Dijital pin <\/b><\/p>\n<p>A\u00e7\u0131k ya da kapal\u0131 fark etmeksizin tek bir durumu alg\u0131lay\u0131p i\u015fleyebilen pinler. Bir\u00e7ok Arduino\u2019da<strong> 14 di\u015fital I\/O<\/strong> <strong>pin<\/strong>i bulunur. <\/p>\n<p><b>Analog Pin <\/b><\/p>\n<p>Bir dizi bedeli alg\u0131layan, daha hassas denetim i\u00e7in kullan\u0131\u015fl\u0131 olan pinler. Genelde bir Arduino\u2019da<strong> alt\u0131 adet analog pin<\/strong> bulunur. Ayr\u0131yeten, bu iki pin belli bir sisteme nazaran dizilmi\u015ftir ki bunlara uyacak bi\u00e7imde tasarlanm\u0131\u015f bir <strong>eklenti kart\u0131<\/strong> alacak olursan\u0131z, bu kart bir\u00e7ok Arduino uyumlu ayg\u0131ta kolay kolay s\u0131\u011facakt\u0131r. <\/p>\n<p><b>G\u00fc\u00e7 konekt\u00f6r\u00fc <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/352add5a3a372d7efe04d5ba85b755910a675cca.jpeg\"\/><\/p>\n<p><strong>G\u00fc\u00e7 konekt\u00f6r\u00fc<\/strong>; hem ayg\u0131t\u0131n kendisine hem de g\u00fc\u00e7 muhta\u00e7l\u0131klar\u0131n\u0131n epeyce d\u00fc\u015f\u00fck olmas\u0131 kar\u015f\u0131l\u0131\u011f\u0131nda LED ve \u00e7e\u015fitli sens\u00f6rler \u00fczere <strong>ba\u011fl\u0131 bile\u015fenlere<\/strong> g\u00fc\u00e7 sa\u011flar. G\u00fc\u00e7 konekt\u00f6r\u00fc, bir <strong>AC adapt\u00f6r\u00fcne<\/strong> yahut k\u00fc\u00e7\u00fck bir <strong>bataryaya<\/strong> ba\u011flanabilir. <\/p>\n<p><b>Mikrodenetleyici <\/b><\/p>\n<p><strong>Mikrodenetleyici<\/strong>, Arduino&#8217;nun komutlar\u0131 yerine getirebilmesi ve \u00e7e\u015fitli girdilere dayal\u0131 kararlar alabilmesi i\u00e7in programlaman\u0131za m\u00fcsaade veren <strong>birincil \u00e7iptir<\/strong>. Bu \u00e7ip, ne t\u0131p bir Arduino sat\u0131n ald\u0131\u011f\u0131n\u0131za ba\u011fl\u0131 olarak de\u011fi\u015fir; lakin bunlar \u00e7oklukla bir <strong>ATmega8, ATmega168, ATmega328, ATmega1280 yahut ATmega2560<\/strong> \u00fczere <strong>Atmel<\/strong> denetleyicileridir. Bu yongalar ortas\u0131ndaki farklar \u00e7ok incedir, fakat yeni ba\u015flayanlar\u0131n fark edece\u011fi en b\u00fcy\u00fck fark, farkl\u0131 \u00f6l\u00e7\u00fclerde yerle\u015fik bellektir. <\/p>\n<p><b>Seri konekt\u00f6r <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/d2d9fa03e8acff385be5c19193fcf53f942840e8.jpeg\"\/><\/p>\n<p>\u00c7o\u011fu yeni kartta standart bir <strong>USB portu<\/strong> arac\u0131l\u0131\u011f\u0131yla uygulanan <strong>seri konekt\u00f6r<\/strong>; bilgisayar\u0131n\u0131zdan kartla ba\u011flant\u0131 kurman\u0131za ve ayg\u0131ta yeni programlar y\u00fcklemenize imkan tan\u0131r. Arduino\u2019lar bir\u00e7ok vakit farkl\u0131 bir g\u00fc\u00e7 konta\u011f\u0131na olan gereksinimi ortadan kald\u0131rarak USB portu \u00fczerinden de \u00e7al\u0131\u015ft\u0131r\u0131labilir. <\/p>\n<p><b>Di\u011fer k\u00fc\u00e7\u00fck bile\u015fenler <\/b><\/p>\n<p><strong>Osilat\u00f6r<\/strong> ve\/veya bir<strong> voltaj reg\u00fclat\u00f6r\u00fc<\/strong> \u00fczere, karta de\u011ferli katk\u0131lar sa\u011flayan<strong> \u00e7itli bile\u015fenler<\/strong> de mevcuttur; lakin ekseriyetle bunlarla direkt etkile\u015fim kurmas\u0131n\u0131z. Orada olduklar\u0131n\u0131 bilin k\u00e2fi. <\/p>\n<p><b>Bir Arduino nas\u0131l programlan\u0131r? <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/53537413fa89f06504126563083a57f97a20fb9c.jpeg\"\/><\/p>\n<p>\u00d6zellikle yeni ba\u015flayan bir\u00e7ok Arduino merakl\u0131s\u0131; Arduino i\u00e7in<strong> resmi entegre geli\u015ftirme ortam\u0131n\u0131<\/strong>, yani <strong>IDE<\/strong> kullanmay\u0131 tercih eder. Arduino IDE, <strong>Java<\/strong> ile yaz\u0131lm\u0131\u015f ve <strong>Windows, Mac <\/strong>ve <strong>Linux<\/strong> \u00fczere \u00e7e\u015fitli platformlarda \u00e7al\u0131\u015fan a\u00e7\u0131k kaynakl\u0131 bir yaz\u0131l\u0131md\u0131r. IDE, <strong>s\u00f6zdizimi vurgulamay\u0131<\/strong> ve<strong> kodlamay\u0131<\/strong> kolayla\u015ft\u0131racak \u00f6b\u00fcr \u00f6zelliklerle \u00f6zel bir ortamda kod yazman\u0131za ve akabinde kolay bir tek t\u0131kla kodunuzu ayg\u0131ta basit\u00e7e y\u00fcklemenize imkan tan\u0131r. <\/p>\n<p>Arduino kodu genellikle<strong> Processing <\/strong>programlama lisan\u0131na dayanan <strong>Wiring<\/strong> ile yaz\u0131l\u0131r. <\/p>\n<p><b>Ad\u0131m ad\u0131m Arduino programlama: <\/b><\/p>\n<ul>\n<li>Ad\u0131m #1: Ufak bir ara\u015ft\u0131rma yap\u0131n <\/li>\n<li>Ad\u0131m #2: Arduino programlay\u0131c\u0131s\u0131n\u0131 y\u00fckleyin <\/li>\n<li>Ad\u0131m #3: Arduino\u2019nuzu bilgisayar\u0131n\u0131z\u0131n USB portuna ba\u011flay\u0131n <\/li>\n<li>Ad\u0131m #4: Kart tipini ve seri portu ayarlay\u0131n <\/li>\n<li>Ad\u0131m #5: Mikrodenetleyiciyi test edin <\/li>\n<li>Ad\u0131m #6: Yeni kodu Arduino\u2019ya y\u00fckleyin <\/li>\n<li>Ad\u0131m #7: Arduino\u2019nun bilgisayar\u0131n\u0131zla ili\u015fkisini kesin ve projenize entegre edin <\/li>\n<\/ul>\n<p><b>Ufak bir ara\u015ft\u0131rma yap\u0131n <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/a8c421bfdad1f4cc1209edc4e5df7b5ad07f247e.jpeg\"\/><\/p>\n<p>Arduino, <strong>\u00e7e\u015fitli mikrodenetleyiciler<\/strong> kullan\u0131r. Bunlardan en yayg\u0131n kullan\u0131lan\u0131 <strong>Arduino UNO<\/strong>\u2019dur; fakat kimi \u00f6zelle\u015ftirilmi\u015f varyasyonlar da bulunmaktad\u0131r. Bu y\u00fczden de olu\u015fturma evresine ge\u00e7meden evvel, projeniz i\u00e7in hangi versiyonun daha uygun olaca\u011f\u0131na dair k\u00fc\u00e7\u00fck bir <strong>ara\u015ft\u0131rma<\/strong> yapmak \u00e7ok yararl\u0131 olabilir. <\/p>\n<p><b>Arduino programlay\u0131c\u0131s\u0131n\u0131 y\u00fckleyin <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/59991f7a12ab62ca9d2a809e16718b6cd5186e36.jpeg\"\/><\/p>\n<p>Entegre geli\u015ftirme program\u0131, yani IDE olarak da bilinen <strong>Arduino Programmer<\/strong>\u2019\u0131 kurun. <\/p>\n<p><b>Arduio\u2019nuzu bilgisayar\u0131n USB portuna ba\u011flay\u0131n <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/55fb33c88cb39956610c600b864efc024f292cdf.jpeg\"\/><\/p>\n<p>Bu s\u00fcre\u00e7 i\u00e7in <strong>spesifik bir USB kablosu<\/strong> kullanman\u0131z gerekebilir. Her Adruino\u2019nun farkl\u0131 bir <strong>sanal port adresi <\/strong>vard\u0131r, bu y\u00fczden farkl\u0131 Arduino\u2019lar kullan\u0131yorsan\u0131z portu <strong>yeniden yap\u0131land\u0131rman\u0131z<\/strong> gerekebilir. <\/p>\n<p><b>Kart tipini ve seri portu ayarlay\u0131n <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/7fc560718ffb29c4e7eeeb82b67ddfbb6ca4c95a.jpeg\"\/><\/p>\n<p>Bu unsur i\u00e7in a\u00e7\u0131klanacak pek bir \u015fey yok; USB portunu hallettikten sonra yapman\u0131z gereken bir sonraki ad\u0131m <strong>kart tipini ve seri portu ayarlamak<\/strong> olmal\u0131d\u0131r. <\/p>\n<p><b>Mikrodenetleyiciyi test edin <\/b><\/p>\n<p>Arduino Programmer\u2019a evvelden y\u00fcklenmi\u015f olan, <strong>taslak<\/strong> olarak isimlendirilen programlardan birini kullanarak mikrodenetleyiciyi test edin. \u00d6rnek taslaklardan birini a\u00e7\u0131p \u2018<strong>y\u00fckle<\/strong>\u2019ye basman\u0131z\u0131n akabinde Arduino programa cevap vermeye ba\u015flayacakt\u0131r: \u00d6rne\u011fin, bir LED \u0131\u015f\u0131n\u0131n yan\u0131p s\u00f6necek bi\u00e7imde ayarlad\u0131ysan\u0131z, her \u015feyi ger\u00e7ek yapt\u0131\u011f\u0131n\u0131z taktirde \u0131\u015f\u0131k yan\u0131p s\u00f6nmeye ba\u015flayacakt\u0131r. <\/p>\n<p><b>Yeni kodu Arduino\u2019ya y\u00fckleyin <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/75d317878b385206924520e5b97554a3f2fdf036.jpeg\"\/><\/p>\n<p>Yeni kodu Arduino\u2019ya y\u00fcklemek i\u00e7in programlay\u0131c\u0131ya kopyalayabilece\u011finiz koda eri\u015fiminiz olmas\u0131 ya da kendi tasla\u011f\u0131n\u0131z\u0131 olu\u015fturacaksan\u0131z Arduino yaz\u0131l\u0131m lisan\u0131n\u0131 kullanarak kendiniz yazman\u0131z gerekir. Bir Arduino tasla\u011f\u0131 genelde <strong>be\u015f<\/strong> k\u0131s\u0131mdan olu\u015fur: <\/p>\n<ol>\n<li>Tasla\u011f\u0131 ve yarat\u0131c\u0131s\u0131n\u0131 betimleyen bir ba\u015fl\u0131k <\/li>\n<li>De\u011fi\u015fkenleri tan\u0131mlayan bir k\u0131s\u0131m <\/li>\n<li>De\u011fi\u015fkenlerin ba\u015flang\u0131\u00e7 \u015fartlar\u0131n\u0131 belirleyen ve \u00f6n kodu \u00e7al\u0131\u015ft\u0131ran bir suram nizam\u0131 <\/li>\n<li>Taslak \u00e7al\u0131\u015fmay\u0131 b\u0131rakana kadar tekrar tekrar y\u00fcr\u00fct\u00fclecek olan ana kodu ekledi\u011finiz bir d\u00f6ng\u00fc nizam\u0131 <\/li>\n<li>Ve son olarak suram ve d\u00f6ng\u00fc sistemleri s\u0131ras\u0131nda aktifle\u015ftirilen \u00f6teki fonksiyonlar\u0131 listeleyebilece\u011finiz bir k\u0131s\u0131m <\/li>\n<\/ol>\n<p>B\u00fct\u00fcn taslaklar, <strong>kurulum ve d\u00f6ng\u00fc<\/strong> tertibi i\u00e7ermek zorundad\u0131r. <\/p>\n<p><b>Arduino\u2019nun bilgisayar\u0131n\u0131zla ili\u015fkisini kesin ve projenize entegre edin <\/b><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.webtekno.com\/images\/editor\/default\/0003\/25\/4f9a6bd7384f737fd887555128d4a812e8d33a44.jpeg\"\/><\/p>\n<p>Tasla\u011f\u0131n\u0131z\u0131 Arduino\u2019ya y\u00fckledikten sonra Adruino\u2019nun bilgisayar\u0131n\u0131zla konta\u011f\u0131n\u0131 kesin ve projenize entegre edin. B\u00fct\u00fcn bu ad\u0131mlar\u0131n\u0131 yanl\u0131\u015fs\u0131z bir formda yapt\u0131\u011f\u0131n\u0131z surece Arduino\u2019nuz ba\u015far\u0131l\u0131 bir formda programlanm\u0131\u015f olur. <\/p>\n<p>Ne oldu\u011fu, nelerden olu\u015ftu\u011fu ve nas\u0131l programland\u0131\u011f\u0131yla birlikte olabildi\u011fince Arduino&#8217;yu anlatt\u0131\u011f\u0131m\u0131z yaz\u0131m\u0131z\u0131n sonuna gelmi\u015f bulunmaktay\u0131z. Umar\u0131m yaz\u0131m\u0131z, ba\u015f\u0131n\u0131zdaki soru i\u015faretlerinden kimilerine kar\u015f\u0131l\u0131k olabilmi\u015ftir.<\/p>\n<div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Arduino, elektronikle u\u011fra\u015fmaya yeni ba\u015flayan be\u015ferler ortas\u0131nda son vakitlerde epey tan\u0131nan hale geldi ve bunun son derece yeterli bir nedeni &#8230;<\/p>\n","protected":false},"author":1,"featured_media":46154,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[851],"tags":[970,1007,1341,1275,1070],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/46153"}],"collection":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=46153"}],"version-history":[{"count":1,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/46153\/revisions"}],"predecessor-version":[{"id":46155,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/posts\/46153\/revisions\/46155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=\/wp\/v2\/media\/46154"}],"wp:attachment":[{"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=46153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=46153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kutaybilen.com.tr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=46153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}