İçindekiler:

İşleme Animasyonlarını Sürdüren Arduino LED Buton Pad: 36 Adım (Resimli)
İşleme Animasyonlarını Sürdüren Arduino LED Buton Pad: 36 Adım (Resimli)

Video: İşleme Animasyonlarını Sürdüren Arduino LED Buton Pad: 36 Adım (Resimli)

Video: İşleme Animasyonlarını Sürdüren Arduino LED Buton Pad: 36 Adım (Resimli)
Video: Arduino butona basma süresine göre işlem yapma 2024, Kasım
Anonim
Image
Image
İşleme Animasyonlarını Yöneten Arduino LED Düğme Pad
İşleme Animasyonlarını Yöneten Arduino LED Düğme Pad
İşleme Animasyonlarını Yöneten Arduino LED Düğme Pad
İşleme Animasyonlarını Yöneten Arduino LED Düğme Pad

WhatThis düğme pedi, bir PCB ve Sparkfun tarafından üretilen diğer bileşenler kullanılarak yapılır. Bir Arduino Mega tarafından tahrik edilmektedir. Her düğme güzel ve yumuşacık ve basılması tatmin edici ve içinde bir RGB LED var! İşleme'de kodladığım animasyonları kontrol etmek için kullanıyorum. Düğme takımı, bir düğmeye her basıldığında, hangi düğme olduğunu söyleyen bir mesaj gönderir. İşleme bu mesajları alır ve ne basıldığına bağlı olarak çizimdeki değişkenleri değiştirir.

Neden

LED'ler serin. Düğmelere basmak eğlencelidir. Hareketli geometrik desenler güzeldir. Üçünü birleştirmek istedim. Bu projeyi bir partiye götürdüm, görselleri duvara yansıttım ve insanların düğmelerle oynamasına izin verdim. Aynı zamanda bir VJ tarafından daha performanslı bir şekilde, bir midi kontrolör gibi ama daha çok DIY olarak kullanılabilir.

Nasıl

Bu projenin dört ana bölümü var.

Ekli Youtube videosu, düğme pedinin nasıl bir araya geldiğine iyi bir bakış sunuyor. Bu Eğitilebilir Tablo, Arduino ve İşleme kodunun yanı sıra bunu da kapsar - (bunlar için ek videolar yapım aşamasındadır)

  1. Düğme pedini bir araya getirme - 1. Adımda Başlar

    Bu, bileşenlerin hazırlanmasını ve PCB'ye lehimlenmesini içerir.

  2. Arduino kodu - 10. Adımda Başlar

    Bunun için, üzerinde konuşacağım bir matris tarama anlayışına ihtiyacımız var.

  3. İşleme kodu - 24. Adımda Başlar

    Burada sonsuz olasılık var, şimdiye kadar yaptığım bir örnek üzerinden konuşacağım.

  4. Arduino'nun Processing'e mesaj göndermesini sağlama - Gönderme için Adım 16, alma için Adım 30-31

    Bu güzel ve basit, mesajı seri bağlantı üzerinden gönderiyor.

Seviye

Derslerimi, kesinlikle hiçbir bilgisi olmayan birinin en azından takip edebileceği şekilde yazmaya çalışıyorum. İlk önce İşleme hakkında bazı giriş eğitimlerini izlemeyi yararlı bulabilirsiniz. Daniel Shiffman'ın YouTube kanalıyla başlardım.

kod

Kodun tamamı (Arduino ve İşleme) buradaki github'ımda.

Kredi

Bu öğreticiden bir demet öğrendim https://learn.sparkfun.com/tutorials/button-pad-ho… ve Arduino kodunun çoğu oradan, herhangi bir örnekten biraz farklı çalışacak şekilde düzenlemiş olmama rağmen.

Adım 1: Bileşenler

Bileşenler!
Bileşenler!
Bileşenler!
Bileşenler!
Bileşenler!
Bileşenler!
Bileşenler!
Bileşenler!
  • 16 x 5mm RGB LED'ler (adreslenebilir değil, sadece normal ortak katot olanlar)
  • 16 x 1N4148 diyot
  • Silikon düğme pedi
  • Düğme pedi PCB
  • arduino mega
  • Atlama kabloları

(Ayrıca, her şeyi biraz daha düzenli bir şekilde barındırmak için Sparkfun'dan alabileceğiniz bir sürü şey var, ama bunu yapmadım)

Adım 2: Diyotları Hazırlayın

Diyotları hazırlayın
Diyotları hazırlayın
Diyotları hazırlayın
Diyotları hazırlayın
Diyotları hazırlayın
Diyotları hazırlayın

Her diyotu bükün ve ardından PCB'den geçirin.

Bacaklar, istemediğimiz düğme tarafına yapışıyor. Bu yüzden diyotu tekrar çıkarın ve bacakları kısa kesin. (Bacakları tahtayla aynı hizadayken kesmenize izin verecek ve hayatınızı kolaylaştıracak bazı makaslarınız olabilir, ancak sadece normal makaslarım vardı, bu yüzden onları yeterince kısaltmak için dışarı çekmek zorunda kaldım.)

Kısa kesmeden önce bacakları bükmek ve PCB'den itmek çok önemlidir. Önce kısa keserseniz, onları şekle sokamazsınız.

Bu küçük karınca benzeri şeylerden 16 tane yap.

Adım 3: Diyotları Panoya Lehimleyin

Diyotları Kart Üzerine Lehimleyin
Diyotları Kart Üzerine Lehimleyin
Diyotları Kart Üzerine Lehimleyin
Diyotları Kart Üzerine Lehimleyin
Diyotları Kart Üzerine Lehimleyin
Diyotları Kart Üzerine Lehimleyin

Diyotların her birini tekrar tahtaya yerleştirin. Diyotun yönünü kontrol etmek önemlidir. Bir tarafında PCB üzerindeki çizgi ile aynı hizada olan siyah bir çizgi vardır. (resme bakın)

Diyotları yerleştirmek biraz zor, bu yüzden bacakları çıkarmadan aynı hizada kesmenize izin verecek makaslarınız varsa, hayatınızı kolaylaştıracağını söyledim. Buna sahip değildim, bu yüzden onları tekrar yerleştirmek için cımbız kullandım, bu da biraz yardımcı oldu.

Diyotların her birini yerine lehimleyin.

Adım 4: LED'leri hazırlayın

LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın
LED'leri hazırlayın

LED'leri tahtadan geçirin ve ardından bacakları kesin. Tıpkı diyotlarda olduğu gibi; Bacakları kesmeden önce doğru açılara yaymak için önce bacakları tahtadan itmek önemlidir.

Bacakları doğru uzunlukta kesmekle ilgili biraz deneme yanılma var. Onları çok uzun yaparsanız, dışarı çıkarlar, ancak çok kısa olurlar ve LED'i tekrar içeri sokmak zordur.

Bu küçük kesilmiş adamlardan 16 tane hazırlayın.

Adım 5: LED'leri Panoya Lehimleyin

LED'leri Panoya Lehimleyin
LED'leri Panoya Lehimleyin
LED'leri Panoya Lehimleyin
LED'leri Panoya Lehimleyin
LED'leri Panoya Lehimleyin
LED'leri Panoya Lehimleyin

Tüm LED'leri tekrar panoya doğru itin.

Yönlendirme burada yine önemlidir. LED'lerin bir tarafı düz bir kenara sahiptir ve bu, PCB şemasındaki dairenin düz kenarı ile aynı hizada olmalıdır. (resme bakın)

Silikon pedi kartın üzerine koyarak ve basılan düğmelere engel olup olmadıklarını kontrol ederek LED'lerin yeterince içeri itilip itilmediğine bakın.

LED'leri tahtaya lehimleyin.

Not: O zamandan beri bana, bacakların bir kısmının arkaya yapışmasının çok da önemli olmadığı için, LED'leri itip arkaya lehimleyebileceğiniz ve sonra bacakları kesebileceğinizi belirttim..

Adım 6: Yeterince Atlama Kablosunu Ayıklayın

Yeterince Atlama Kablosunu Ayırın
Yeterince Atlama Kablosunu Ayırın

Pano hakkında biraz konuşalım. Pano 4 sütun ve 4 sıra LED/Buton şeklinde düzenlenmiştir.

Sütunların her biri, biri LED toprak ve diğeri düğme toprak için olmak üzere 2 bağlantı gerektirir. Sıraların her biri 4 bağlantı gerektirir, çünkü kırmızı, yeşil ve mavi kanallar için ayrı bir bağlantıya ve ayrıca bir bağlantıya ihtiyacımız var. buton girişi. İşte bu bağlantıların her biri için seçtiğim kablo renkleri ve pin numaraları.

Sıra ne için Kablo rengi PIN numarası PCB Etiketi
1. sıra kırmızı kırmızı 22 KIRMIZI1
Yeşil Yeşil 23 YEŞİL1
Mavi Mavi 30 MAVİ1
Düğme girişi Sarı 31 ANAHTAR1
2. sıra kırmızı kırmızı 24 KIRMIZI 2
Yeşil Yeşil 25 YEŞİL2
Mavi Mavi 32 MAVİ2
Düğme girişi Sarı 33 ANAHTAR2
3. sıra kırmızı kırmızı 26 KIRMIZI3
Yeşil Yeşil 27 YEŞİL3
Mavi Mavi 34 MAVİ3
Düğme girişi Sarı 35 SWITCH3
4. sıra kırmızı kırmızı 28 KIRMIZI4
Yeşil Yeşil 29 YEŞİL4
Mavi Mavi 36 MAVİ4
Düğme girişi Sarı 37 SWITCH4
Kolon ne için Kablo rengi PIN numarası PCB Etiketi
Sütun 1 LED zemin Beyaz 38 LED-GND-1
Düğme zemin Siyah 39 SWT-GND-1
Sütun 2 LED zemin Beyaz 40 LED-GND-2
Düğme zemin Siyah 41 SWT-GND2
Sütun 3 LED zemin Beyaz 42 LED-GND-3
Düğme zemin Siyah 43 SWT-GND3
Sütun 4 LED zemin Beyaz 44 LED-GND4
Düğme zemin Siyah 45 SWT-GND4

Adım 7: Atlama Kablolarını Hazırlayın

Atlama Kablolarını Hazırlayın
Atlama Kablolarını Hazırlayın
Atlama Kablolarını Hazırlayın
Atlama Kablolarını Hazırlayın

Her atlama kablosunun bir erkek uca ve birkaç mm telden sıyrılmış bir uca ihtiyacı vardır. Soyulmuş tel parçalarını yakalamak için bir tür kap kullanmayı seviyorum, aksi takdirde dairemin her tarafına dağılırlar ve muhtemelen parıltıdan daha kötüdür.

Adım 8: Atlama Kablolarını Panoya Lehimleyin ve Takın

Jumper Kablolarını Panoya Lehimleyin ve Takın
Jumper Kablolarını Panoya Lehimleyin ve Takın
Jumper Kablolarını Panoya Lehimleyin ve Takın
Jumper Kablolarını Panoya Lehimleyin ve Takın

Kabloları PCB üzerinde doğru yerlere lehimlemek ve Arduino'daki doğru pinlere takmak için birkaç adım gerideki tabloyu kullanın.

Adım 9: Oluşturun Bitti

Yapı Tamamlandı!
Yapı Tamamlandı!

Bazı (henüz işlevsel olmayan) düğmelere kutlamak için biraz zaman ayırın ve sonra bazı kodlara geçelim!

Adım 10: Şematik

Şematik
Şematik

Bu, PCB'nin ve ona lehimlediğimiz şeylerin bir şemasıdır.

Gri kutuların her biri düğme / LED kombinasyonlarından birini temsil ediyor. Bu çok karmaşık görünüyorsa (ilk gördüğümde bana öyle geldi) o zaman endişelenmeyin, onu kıracağım.

Sadece kodu kendin incelemek istersen, buradaki github'umda.

Adım 11: Sadece Düğmeler

Sadece Düğmeler
Sadece Düğmeler
Sadece Düğmeler
Sadece Düğmeler

LED'ler ve düğmeler aslında birbirinden ayrıdır (tümünün Arduino'ya bağlı olması dışında), bu yüzden önce düğmelere bakalım.

Her gri kutuda bir düğme ve bir diyot bulunur (lehim yaptıklarımız - bunların amacını birazdan açıklayacağım).

Not: Bunun bazı insanlar için çok açık olduğuna eminim, ancak bunu anlamaya başladığımda bundan emin değildim, o yüzden söyleyeceğim! Sıralar (yeşil) ve sütunlar (mavi) birbirine bağlı değil, sadece karşılıklı yerleştirilmişler. Şeyler yalnızca küçük bir siyah noktanın olduğu yerde bağlanır. Ancak düğme anahtarlarından birinin kapatılması, satır ve sütun arasında bir bağlantı oluşturur.

Adım 12: Düğme Pinlerini Ayarlayın

Düğme Pinlerini Ayarla
Düğme Pinlerini Ayarla
Düğme Pinlerini Ayarla
Düğme Pinlerini Ayarla
Düğme Pinlerini Ayarla
Düğme Pinlerini Ayarla

Düğmeler için sütunları çıktı, satırları girdi olarak kullanacağız.

Bir butona basılıp basılmadığını kontrol edebileceğiz çünkü eğer bir satır ile kolon arasında bir bağlantı varsa çıkıştan gelen voltaj girişe ulaşacaktır. Başlamak için, kurulumda() tüm sütunlara yüksek voltaj veririz. Satırları yukarı çekilecek girdiler olarak ayarladık, bu da varsayılan olarak onların da yüksek okuduğu anlamına gelir.

Adım 13: Tarama

Tarama
Tarama
Tarama
Tarama
Tarama
Tarama

Döngüde, scan() adlı bir işlev her seferinde bir sütundan geçer ve voltajını düşük olarak ayarlar.

Ardından, herhangi birinin düşük okuyup okumadığını görmek için her düğme bağlantı satırına bakar.

Bir düğme satırı düşük okursa, bu, o satırı ve sütunu birbirine bağlayan düğmeye basıldığı anlamına gelir.

Adım 14: Tüm Düğme Basma İşlemleri Eşit Olarak Oluşturulmamıştır

Düğmeye hızlı ve sağlam bir şekilde basıldığında, kolondan sıraya voltaj aktarımı güzel ve temiz olacaktır.

Bununla birlikte, biraz yavaş veya isteksizce itilirse, düğme pedi ile PCB üzerindeki kontaklar arasında iyi bir bağlantı olana kadar voltaj biraz titreyebilir.

Bu, bir insanın tek olduğunu düşündüğü bir düğmeye basmanın, arduino tarafından birkaç ayrı basma olarak yorumlanabileceği anlamına gelir.

Önerilen: