Arduino Fizikselsel Piksel (Processing)

0
346
Okunma

Arduino Fizikselsel Piksel

Arduino Fizikselsel Piksel (Processing)

Arduino Fizikselsel Piksel. Bu örnek örnek, bilgisayardan veri almak için Arduino veya Genuino kartını kullanır. Kart, ‘H’ karakterini aldığında bir LED’i açar ve ‘L’ karakterini aldığında LED’i kapatır. Veriler Arduino Yazılım (IDE) seri monitöründen veya İşleme (başka bir kod), Flash (bir seri ağ proxy üzerinden), PD veya Max / MSP gibi başka bir programdan gönderilebilir.

Donanım

  • Arduino veya Genuino
  • LED (isteğe bağlı)
  • 220 ohm direnç (isteğe bağlı)

Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”

Gerekli Yazılım

Devre

Birçok Arduino ve Genuino anakartında pin 13’e bağlı yerleşik bir LED bulunur; Kartınızın yerleşik LED’i yoksa, pim 13’e bir harici LED takın. Uzun bacak veya anot, bir 220 rezistörü yoluyla pime 13 geçer. Kısa bacak veya katot (-).

Kod

/*
Fiziksel Piksel

Bilgisayardan veri almak için Arduino kartını kullanma örneği. İçinde
Bu durumda, Arduino kartları karakteri aldığında bir LED açar
'H' ve 'L' karakterini aldığında LED'i kapatır.

Veri Arduino Seri Monitör'den veya benzeri başka bir programdan gönderilebilir
İşleme (aşağıdaki kod), Flash (bir seri ağ proxy'si üzerinden), PD veya Max / MSP.

Devre:
- Dijital pim 13'ten toprağa bağlanan LED

2006 oluşturuldu
David A. Mellis tarafından
değiştirildi 30 Ağu 2011
Tom Igoe ve Scott Fitzgerald tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/PhysicalPixel
*/

const int ledPin = 13; // LED'in bağlı olduğu pin
int incomingByte;      // gelen seri veriyi okumak için bir değişken

void setup() {
  // seri iletişimi başlat:
  Serial.begin(9600);
  // LED pinini çıkış olarak başlatır:
  pinMode(ledPin, OUTPUT);
}

void loop() {
  // gelen seri veri olup olmadığına bakın:
  if (Serial.available() > 0) {
    // seri tampondaki en eski baytı oku:
    incomingByte = Serial.read();
    // Eğer bir Büyük H (ASCII 72) ise, LED'i açın:
    if (incomingByte == 'H') {
      digitalWrite(ledPin, HIGH);
    }
    // L (ASCII 76) ise, LED'i kapatır:
    if (incomingByte == 'L') {
      digitalWrite(ledPin, LOW);
    }
  }
}

/* Bu örnek için işlem kodu

// Seriye göre fare
// Açmak için Arduino G / Ç kartına veri göndermeyi gösterir
// farenin bir karenin üzerindeyse bir ışık ve farenin olmaması durumunda onu kapatın.

// 2003-4 oluşturuldu
// Casey Reas ve Hernando Barragan'ın örneklerine dayanarak
// değiştirildi 30 Ağu 2011
// Tom Igoe tarafından
// Bu örnek kod genel etki alanında.


  import processing.serial.*;

  float boxX;
  float boxY;
  int boxSize = 20;
  boolean mouseOverBox = false;

  Serial port;

  void setup() {
    size(200, 200);
    boxX = width / 2.0;
    boxY = height / 2.0;
    rectMode(RADIUS);

    // Çıkış bölmesindeki tüm kullanılabilir seri portları listeleyin.
    // Arduino kartının bağlı olduğu portu seçmeniz gerekecek.
    // bu listeden. Listedeki ilk bağlantı noktası bağlantı noktası # 0 ve üçüncü bağlantı noktasıdır.
    // listede 2 numaralı bağlantı noktası.
    // İşlem 2.1 veya daha yenisini kullanıyorsanız, Serial.printArray () öğesini kullanın.

    println(Serial.list());

    // Arduino kartının bağlı olduğu portu açın (bu durumda # 0)
    // Arduino'nun kullandığı hızda (9600bps) aynı portu açtığınızdan emin olun.

    port = new Serial(this, Serial.list()[0], 9600);
  }

  void draw() {
    background(0);

    // İmlecin kutunun üzerinde olup olmadığını test edin
    if (mouseX > boxX - boxSize && mouseX < boxX + boxSize &&
        mouseY > boxY - boxSize && mouseY < boxY + boxSize) {
      mouseOverBox = true;
      // kutunun etrafında bir çizgi çizin ve rengini değiştirin:
      stroke(255);
      fill(153);
      // farenin kare üzerinde olduğunu belirtmek için bir 'H' gönderin:
      port.write('H');
    }
    else {
      // kutusunu etkin olmayan durumuna döndürün:
      stroke(153);
      fill(153);
      // LED'i kapatmak için bir 'L' gönderin:
      port.write('L');
      mouseOverBox = false;
    }

    // Kutuyu çiz
    rect(boxX, boxY, boxSize, boxSize);
  }

*/
/* Max / MSP sürüm 5 düzeltme eki şu örnekle çalıştırılacak:


----------begin_max5_patcher----------
1672.3oc2ZszaaiCD9ryuBBebQVCQRYao8xhf1cQCPVfBzh8RRQ.sDsM2HSZ
HQmlzh9eu7gjsjsEk7y0oWjiHoHm4aluYHGlueUmtiDuPy5B9Cv8fNc99Uc5
XZR2Pm726zcF4knDRlYXciDylQ4xtWa6SReQZZ+iSeMiEQR.ej8BM4A9C7OO
kkAlSjQSAYTdbFfvA27o2c6sfO.Doqd6NfXgDHmRUCKkolg4hT06BfbQJGH3
5Qd2e8d.QJIQSow5tzebZ7BFW.FIHow8.2JAQpVIIYByxo9KIMkSjL9D0BRT
sbGHZJIkDoZOSMuQT.8YZ5qpgGI3locF4IpQRzq2nDF+odZMIJkRjpEF44M3
A9nWAum7LKFbSOv+PSRXYOvmIhYiYpg.8A2LOUOxPyH+TjPJA+MS9sIzTRRr
QP9rXF31IBZAHpVHkHrfaPRHLuUCzoj9GSoQRqIB52y6Z.tu8o4EX+fddfuj
+MrXiwPL5+9cXwrOVvkbxLpomazHbQO7EyX7DpzXYgkFdF6algCQpkX4XUlo
hA6oa7GWck9w0Gnmy6RXQOoQeCfWwlzsdnHLTq8n9PCHLv7Cxa6PAN3RCKjh
ISRVZ+sSl704Tqt0kocE9R8J+P+RJOZ4ysp6gN0vppBbOTEN8qp0YCq5bq47
PUwfA5e766z7NbGMuncw7VgNRSyQhbnPMGrDsGaFSvKM5NcWoIVdZn44.eOi
9DTRUT.7jDQzSTiF4UzXLc7tLGh4T9pwaFQkGUGIiOOkpBSJUwGsBd40krHQ
9XEvwq2V6eLIhV6GuzP7uzzXBmzsXPSRYwBtVLp7s5lKVv6UN2VW7xRtYDbx
7s7wRgHYDI8YVFaTBshkP49R3rYpH3RlUhTQmK5jMadJyF3cYaTNQMGSyhRE
IIUlJaOOukdhoOyhnekEKmZlqU3UkLrk7bpPrpztKBVUR1uorLddk6xIOqNt
lBOroRrNVFJGLrDxudpET4kzkstNp2lzuUHVMgk5TDZx9GWumnoQTbhXsEtF
tzCcM+z0QKXsngCUtTOEIN0SX2iHTTIIz968.Kf.uhfzUCUuAd3UKd.OKt.N
HTynxTQyjpQD9jlwEXeKQxfHCBahUge6RprSa2V4m3aYOMyaP6gah2Yf1zbD
jVwZVGFZHHxINFxpjr5CiTS9JiZn6e6nTlXQZTAFj6QCppQwzL0AxVtoi6WE
QXsANkEGWMEuwNvhmKTnat7A9RqLq6pXuEwY6xM5xRraoTiurj51J1vKLzFs
CvM7HI14Mpje6YRxHOSieTsJpvJORjxT1nERK6s7YTN7sr6rylNwf5zMiHI4
meZ4rTYt2PpVettZERbjJ6PjfqN2loPSrUcusH01CegsGEE5467rnCdqT1ES
QxtCvFq.cvGz+BaAHXKzRSfP+2Jf.KCvj5ZLJRAhwi+SWHvPyN3vXiaPn6JR
3eoA.0TkFhTvpsDMIrL20nAkCI4EoYfSHAuiPBdmJRyd.IynYYjIzMvjOTKf
3DLvnvRLDLpWeEOYXMfAZqfQ0.qsnlUdmA33t8CNJ7MZEb.u7fiZHLYzDkJp
R7CqEVLGN75U+1JXxFUY.xEEBcRCqhOEkz2bENEWnh4pbh0wY25EefbD6EmW
UA6Ip8wFLyuFXx+Wrp8m6iff1B86W7bqJO9+mx8er4E3.abCLrYdA16sBuHx
vKT6BlpIGQIhL55W7oicf3ayv3ixQCm4aQuY1HZUPQWY+cASx2WZ3f1fICuz
vj5R5ZbM1y8gXYN4dIXaYGq4NhQvS5MmcDADy+S.j8CQ78vk7Q7gtPDX3kFh
3NGaAsYBUAO.8N1U4WKycxbQdrWxJdXd10gNIO+hkUMmm.CZwknu7JbNUYUq
0sOsTsI1QudDtjw0t+xZ85wWZd80tMCiiMADNX4UzrcSeK23su87IANqmA7j
tiRzoXi2YRh67ldAk79gPmTe3YKuoY0qdEDV3X8xylCJMTN45JIakB7uY8XW
uVr3PO8wWwEoTW8lsfraX7ZqzZDDXCRqNkztHsGCYpIDDAOqxDpMVUMKcOrp
942acPvx2NPocMC1wQZ8glRn3myTykVaEUNLoEeJjVaAevA4EAZnsNgkeyO+
3rEZB7f0DTazDcQTNmdt8aACGi1QOWnMmd+.6YjMHH19OB5gKsMF877x8wsJ
hN97JSnSfLUXGUoj6ujWXd6Pk1SAC+Pkogm.tZ.1lX1qL.pe6PE11DPeMMZ2
.P0K+3peBt3NskC
-----------end_max5_patcher-----------

*/

Processing Kodu

İşleme kodunu yukarıdaki kod örneğinden kopyalayın. Merkez karenin üzerine geldiğinizde, pim 13 üzerindeki LED açılmalı ve kapatılmalıdır. İşleme uygulaması şu şekilde görünür:

LED’i açmak ve kapatmak için karenin üzerine gelin.

Max Kodu

Max / MSP yaması aşağıdaki görüntüye benziyor. Yukarıdaki kod örneğinden kopyalayın ve yeni bir yama penceresine yapıştırın.

Kaynak:arduino.cc

CEVAP VER

Please enter your comment!
Please enter your name here

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.