Arduino Dimmer
Arduino Dimmer. Bu örnek, bir LED’in parlaklığını kontrol etmek için kişisel bilgisayardan Arduino veya Genuino kartına nasıl veri gönderileceğini gösterir. Veriler, her biri 0 ile 255 arasında değişen tek tek baytlarda gönderilir. Çizim, bu baytları okur ve LED’in parlaklığını ayarlamak için bunları kullanır.
Bilgisayar seri portuna erişebilen herhangi bir yazılımdan panele bayt gönderebilirsiniz. İşleme ve Max / MSP sürüm 5 için örnekler aşağıda gösterilmiştir.
Donanım
- Arduino veya Genuino
- LED
- 220 ohm direnç
“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
- Processing veya
- Max / MSP sürüm 5
Devre
220 ohm akım sınırlama rezistörünü seri olarak bir LED ile dijital pim 9’a bağlayın. LED’in uzun, pozitif bacağı (anot) direncin çıkışına, kısa, negatif bacak (katot) zemine(-) bağlı olarak bağlanmalıdır.
Kod
/* Dimmer Bu durumda bilgisayardan Arduino kartına veri göndermeyi gösterir. bir LED'in parlaklığını kontrol etmek için. Veriler ayrı baytlarda gönderilir, Her biri 0 ile 255 arasında değişir. Arduino bu baytları okur ve bunları LED'in parlaklığını ayarlayın. Devre: - Dijital pin 9'dan toprağa bağlı LED. - İşleme, Max / MSP veya başka bir seri uygulamaya seri bağlantı 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/Dimmer */ const int ledPin = 9; // LED'in bağlı olduğu pin void setup() { // seri iletişimi başlatır: Serial.begin(9600); // ledPin'i bir çıkış olarak başlatır: pinMode(ledPin, OUTPUT); } void loop() { byte brightness; // bilgisayardan veri gönderilip gönderilmediğini kontrol et: if (Serial.available()) { // en son baytı oku (0'dan 255'e kadar olacak): brightness = Serial.read(); // LED'in parlaklığını ayarlayın: analogWrite(ledPin, brightness); } } /* Bu örnek için Processing kodu // Dimmer - bir seri bağlantı noktası üzerinden bayt gönderir // David A. Mellis tarafından // Bu örnek kod genel etki alanında. import processing.serial.*; Serial port; void setup() { size(256, 150); println("Kullanılabilir seri portlar:"); // İşlem 2.1 veya daha yenisini kullanıyorsanız, Serial.printArray () öğesini kullanın. println(Serial.list()); // Bu listedeki ilk bağlantı noktasını kullanır (sayı 0). Bağlantı noktasını seçmek için bunu değiştirin // Arduino kartınıza karşılık gelir. Son parametre (örn. 9600) // iletişimin hızı. Bu iletilen değere karşılık gelmelidir // Arduino taslağınızda // Serial.begin (). port = new Serial(this, Serial.list()[0], 9600); // Arduino kartının kullandığı portun ismini biliyorsanız, belirtebilirsiniz. // doğrudan böyle. // port = yeni Seri (bu, "COM1", 9600); } void draw() { // siyahdan beyaza bir degrade çizme for (int i = 0; i < 256; i++) { stroke(i); line(i, 0, i, 150); } // farenin mevcut X konumunu, seri bağlantı noktasına // tek bir bayt port.write(mouseX); } */ /* Bu örnek için Max / MSP v5 düzeltme eki ----------begin_max5_patcher---------- 1008.3ocuXszaiaCD9r8uhA5rqAeHIa0aAMaAVf1S6hdoYQAsDiL6JQZHQ2M YWr+2KeX4vjnjXKKkKhhiGQ9MeyCNz+X9rnMp63sQvuB+MLa1OlOalSjUvrC ymEUytKuh05TKJWUWyk5nE9eSyuS6jesvHu4F4MxOuUzB6X57sPKWVzBLXiP xZtGj6q2vafaaT0.BzJfjj.p8ZPukazsQvpfcpFs8mXR3plh8BoBxURIOWyK rxspZ0YI.eTCEh5Vqp+wGtFXZMKe6CZc3yWZwTdCmYW.BBkdiby8v0r+ST.W sD9SdUkn8FYspPbqvnBNFtZWiUyLmleJWo0vuKzeuj2vpJLaWA7YiE7wREui FpDFDp1KcbAFcP5sJoVxp4NB5Jq40ougIDxJt1wo3GDZHiNocKhiIExx+owv AdOEAksDs.RRrOoww1Arc.9RvN2J9tamwjkcqknvAE0l+8WnjHqreNet8whK z6mukIK4d+Xknv3jstvJs8EirMMhxsZIusET25jXbX8xczIl5xPVxhPcTGFu xNDu9rXtUCg37g9Q8Yc+EuofIYmg8QdkPCrOnXsaHwYs3rWx9PGsO+pqueG2 uNQBqWFh1X7qQG+3.VHcHrfO1nyR2TlqpTM9MDsLKNCQVz6KO.+Sfc5j1Ykj jzkn2jwNDRP7LVb3d9LtoWBAOnvB92Le6yRmZ4UF7YpQhiFi7A5Ka8zXhKdA 4r9TRGG7V4COiSbAJKdXrWNhhF0hNUh7uBa4Mba0l7JUK+omjDMwkSn95Izr TOwkdp7W.oPRmNRQsiKeu4j3CkfVgt.NYPEYqMGvvJ48vIlPiyzrIuZskWIS xGJPcmPiWOfLodybH3wjPbMYwlbFIMNHPHFOtLBNaLSa9sGk1TxMzCX5KTa6 WIH2ocxSdngM0QPqFRxyPHFsprrhGc9Gy9xoBjz0NWdR2yW9DUa2F85jG2v9 FgTO4Q8qiC7fzzQNpmNpsY3BrYPVJBMJQ1uVmoItRhw9NrVGO3NMNzYZ+zS7 3WTvTOnUydG5kHMKLqAOjTe7fN2bGSxOZDkMrBrGQ9J1gONBEy0k4gVo8qHc cxmfxVihWz6a3yqY9NazzUYkua9UnynadOtogW.JfsVGRVNEbWF8I+eHtcwJ +wLXqZeSdWLo+FQF6731Tva0BISKTx.cLwmgJsUTTvkg1YsnXmxDge.CDR7x D6YmX6fMznaF7kdczmJXwm.XSOOrdoHhNA7GMiZYLZZR.+4lconMaJP6JOZ8 ftCs1YWHZI3o.sIXezX5ihMSuXzZtk3ai1mXRSczoCS32hAydeyXNEu5SHyS xqZqbd3ZLdera1iPqYxOm++v7SUSz -----------end_max5_patcher----------- */
Processing Kodu
Yukarıdaki kod örneğindeki İşleme taslağı, LED’i karartmak için baytları bilgisayar seri portundan karta çıkarır.
Max kodu
Yukarıdaki kod örneğindeki Max / MSP yaması aşağıdaki görüntüye benziyor. Kopyalayın ve yeni bir yama penceresine yapıştırın.
Kaynak:arduino.cc