İçindekiler:

Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası: 8 Adım (Resimlerle)
Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası: 8 Adım (Resimlerle)

Video: Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası: 8 Adım (Resimlerle)

Video: Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası: 8 Adım (Resimlerle)
Video: Модуль NeoPixel 16 2024, Temmuz
Anonim
Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası
Arduino Gemma & NeoPixels ile Kolay Sonsuzluk Aynası

Seyretmek! Büyüleyici ve aldatıcı derecede basit sonsuzluk aynasının derinliklerine bakın! Tek bir LED şeridi, sonsuz yansıma efekti yaratmak için aynalı sandviç üzerinde içeriye doğru parlıyor. Bu proje, giriş Arduino Sınıfımdaki beceri ve teknikleri uygulayacak ve daha küçük bir Arduino Gemma tahtası kullanarak hepsini bir araya getirerek nihai bir forma sokacak.

Bu projenin bir web seminerini izleyin! Bu yapıyı tamamladığımı görmek için 28 Haziran 2017'de yönettiğim bu web seminerine göz atın!

Ne üzerinde çalıştığımı takip etmek için beni YouTube, Instagram, Twitter, Pinterest'te takip edin ve bültenime abone olun.

Adım 1: Sarf Malzemeleri

Gereçler
Gereçler

Bu dersi takip etmek için ihtiyacınız olacak:

  • Keskin maket bıçağı
  • Metal cetvel veya T-kare
  • Kesme matı veya hurda karton
  • Şablon veya daire çizim pusulası için yazıcı
  • Plastik puanlama bıçağı (isteğe bağlı ama güzel)
  • Sıcakta eriyen tutkal tabancası veya E6000/Hızlı Tutma zanaat yapıştırıcısı
  • Mandal (isteğe bağlı, tutkal kelepçesi olarak kullanmak için)
  • 4" yuvarlak ayna
  • Şeffaf ayna plastik
  • Siyah köpük levha, 3/16" kalınlık
  • Bir montaj plakası üzerinde Arduino Uno ve lehimsiz breadboard
  • USB AB kablosu
  • Küçük buton (daha önce lehimlediğiniz)
  • Breadboard teller
  • RGBW NeoPixel şerit (veya diğer WS2812b RGBW LED şerit) (19 piksel, daha önce lehimlediğiniz şeridi kullanır)
  • Havya ve lehim
  • Tel striptizci
  • Düz çapraz kesiciler
  • Üçüncü el alet
  • Multimetre (isteğe bağlı)
  • Küçük kargaburun
  • Cımbız
  • Arduino Gemma tahtası
  • Mikro USB kablosu
  • USB hub, bilgisayarınızda yalnızca USB 3 bağlantı noktaları varsa (daha yeni Mac'ler gibi)
  • USB uzatma kablosu (isteğe bağlı)
  • USB güç adaptörü
  • Lipoly pil ve şarj cihazı (opsiyonel)

Bu proje, korumalı bir çalışma yüzeyi (kesme matı veya çok sayıda hurda karton katmanı), metal cetvel ve keskin maket bıçağı gerektiren köpük çekirdekli tahtadan bir elektronik muhafaza oluşturma konusunda size yol gösterir. Parçaları birleştirmek için sıcak tutkal tabancası kullanabilir veya E6000 gibi bir zanaat yapıştırıcısı seçebilirsiniz. Sonsuzluk aynasının merkezinde yuvarlak bir cam ayna bulunur ve bir parça şeffaf ayna plastiği, sonsuzluk tüneli etkisinin gizli bileşenidir. Plastik bir çizici bıçağınız yoksa, ayna plastiğini kesmek için bir çift sağlam makas kullanabilirsiniz, ancak ayna filmi makasın etrafında biraz pul pul dökülme eğiliminde olduğundan, ihtiyacınız olacağını düşündüğünüzden daha geniş bir kenar boşluğu bırakabilirsiniz. kenarları kesin. Keskin aletler kullanırken dikkatli olun, hızlı yanık tedavisi için herhangi bir sıcak tutkal projesinin yakınında bir kase buzlu su bulundurun ve herhangi bir yapıştırıcı için uygun havalandırma kullanın.

resim
resim

Arduino Gemma - Sonsuzluk aynası projesi, Arduino Uno'yu bir Arduino Gemma ile değiştirerek Arduino devresini minyatürleştirir. Gemma, Uno'nun Atmega328'inden daha az belleğe ve daha az özelliğe sahip olan ATTiny85 mikrodenetleyicisi etrafında inşa edilmiş küçük bir karttır, ancak aynı zamanda daha küçük ve daha düşük maliyetlidir. Büyük pedlerin lehimlenmesi çok kolaydır (ve iletken iplikle dikilir, ancak bu farklı bir sınıf için bir konudur). Gemma, bilgisayarınıza bağlanmak için bir mikro USB kablosu kullanır ve pil bağlamak için bir JST bağlantı noktasına sahiptir. Arduino yazılımından Gemma'yı nasıl programlayacağınızı ve nihai projeye nasıl yerleştireceğinizi öğreneceksiniz. Bunun yerine Adafruit Gemma da kullanabilirsiniz, ancak Arduino yazılımını yapılandırmak için ek bir adım gerçekleştirmeniz gerekecektir.

resim
resim

RGBW NeoPixel şerit - Bu dijital olarak adreslenebilir şerit, bileşik LED'leri kırmızı, yeşil, mavi ve beyaz olarak kontrol eden WS2812b yongaları içerir. NeoPixel, Adafruit markasıdır, ancak bu şeridi, favori tedarikçinizin sitesinde "WS2812b RGBW şeridi" aratarak da bulabilirsiniz. Bu sınıfta sağlanan örnek kod, RGB (beyaz olmayan) şerit, analog LED şerit veya diğer herhangi bir dijital kontrol çipi (APA104, diğer adıyla DotStar) ile çalışmayacaktır

Adım 2: Çerçeve Parçalarını Kes

Çerçeve Parçalarını Kes
Çerçeve Parçalarını Kes

Biraz kağıt işi için hazır olun! Bu adım keskin aletler içerir ve ayrıntılara dikkat etmeyi gerektirir, bu nedenle iyi dinlenmiş olduğunuzdan, ancak aşırı kafeinli olmadığınızdan emin olun. Parlak aydınlatma ve kesme matı veya kartonla korunan geniş, temiz bir çalışma yüzeyi kullanın.

Köpüklü kartonu kesme ve yapıştırma konusunda yeniyseniz, uygulama ve hatalar için ekstra alın - üç paket 16x20 inçlik panolar yeterli olacaktır (ve fazladan kalanlarınız varsa, onunla başka projeler yapabilirsiniz). Yaralanmayı önlemek için keskin bir bıçak, metal bir cetvel, yavaş bir tempo ve çok dikkatli olun. Hatalı bir bıçak kayması veya takılma nedeniyle birkaç parçayı yeniden yapmak normaldir.

Keseceğiniz şekilleri oluşturmanın iki yolu vardır: şablonu yazdırın veya şekilleri daire çizen bir pusula ile çizin. Her ikisinde de belirgin bir avantaj yoktur, ancak becerileriniz ve araçlarınız sizi bir şekilde etkileyebilir. Şablon, mektup boyutunda kağıt için döşenmiş bir PDF olarak mevcuttur; bunları birbirine bantlayıp köpük çekirdeğinize yapıştırmak için bir yapışkan çubuk kullanacaksınız. Ayrıca, geniş formatlı bir yazıcıda yazdırmak veya değişiklik yapmak istemeniz durumunda şablon dosyasının eski bir sürümü de bulunmaktadır.

resim
resim
resim
resim

Şekilleri elle çizmek gerçekten çok basit, söz veriyorum! İlk önce pusulayı yarıçapına (4" ayna = 2" yarıçap) ayarlayarak ve her kenardan en az 5 inç köpük çekirdeğinize bir daire çizerek ayna boyutunuza uyacak bir daire çizin. Elbette, aynanın çevresini takip edebilirsin, ama sonra merkezi bulup işaretlemen gerekir! Pusula, ikinci eşmerkezli daireyi yapmak için kullanışlı olan merkez noktada bir girinti yapar.

resim
resim
resim
resim

Şimdi pusulanızı 4 'e genişletin ve ilk dairenin etrafına daha büyük daireyi çizin. Bu, aynanızın tam altı/arkasıdır- onu böyle etiketleyin.

resim
resim
resim
resim

Üst/ön parçanın biraz daha büyük olması gerekiyor, bu nedenle pusulanızı 4 3/16 'ye genişletin ve alt parçadan güvenli bir mesafede dışarı çekin.

resim
resim
resim
resim

İzleme penceresi aynadan biraz daha küçük olmalıdır, ancak tam olarak ne kadar olduğu önemli değildir. Pusulayı ayna yarıçapından yaklaşık 1/8 inç daha küçük olacak şekilde ayarlayın ve ardından daha büyük ön/üst çevre ile aynı merkez noktasını kullanarak daireyi çizin.

resim
resim

Bu parçayı, birkaç dakika içinde kesilecek olan daha küçük daire içinde etiketleyin.

resim
resim
resim
resim

Köpük çekirdeğinizin uzun bir kenarı boyunca, bir şeridi 1/2" genişliğinde ve diğerini 1" genişliğinde işaretleyin ve kesin.

resim
resim

Dar şerit aynayı saracak ve NeoPixel şeridinizi destekleyecek, daha geniş olan ise dairesel çerçevenin dış duvarını oluşturacaktır.

resim
resim
resim
resim

Daireleri kesmek üzerine! Biraz incelik ve sabır burada yardımcı olur. Daireleri kesmek için daha küçük bir maket bıçağı kullanmayı seviyorum çünkü daha fazla kontrole sahip olduğumu hissediyorum. Burada kullandığım özel bıçak, normal X-acto bıçakları alıyor ve onu scrapbooking reyonunda buldum.

İlk önce, bıçağınızı alt parçanın tüm çevresi boyunca hafifçe sürükleyin, yalnızca kağıdın üst katmanını delin. Bu geçiş sırasında, bıçağın açısını ayarlamakta özgürsünüz, ancak en rahatı ve en hassas şekli veriyor.

Bir önceki geçişte yaptığınız çizgiyi izleyerek daireyi bir kez daha kesin. Bu sefer, 90 derece olması gereken (düz yukarı ve aşağı) bıçak açınıza dikkat edin. Bu kesimi yaparken sıkıca bastırın ve parmaklarınızı bıçak yolundan uzak tutun. Tahtanızı alın ve tüm yolu kesip kesmediğinizi kontrol edin. Çevre boyunca kalan noktaları kesmek için bıçağınızla bir geçiş daha yapın.

resim
resim
resim
resim

Sırada, üst parçayı kesin ve ardından iç dairesini kesin. Bu parça diğerlerinden daha fazla görülüyor, bu yüzden düzensiz kenarları düzeltmek için biraz ekstra temizlik yapın.

resim
resim
resim
resim

Kavisli iç halka için, daha ince köpük çekirdek şeridi boyunca her 1/4 ya da daha fazla çapraz kesimler yapın, ancak tamamen kesmeyin! Göründüğünden daha kolay - sadece iki hafif geçiş yapın ve hızlı bir şekilde asın. Bu kesimler, pürüzsüz bir iç yüzey sağlarken parçanın eğrilmesine izin verir.

resim
resim
resim
resim

Dış çerçeve parçasının en iyi yüzünü dışa doğru koyması gerekiyor, bu yüzden biraz farklı bir desende çapraz kesimler yapacağız. Kenardan 3/16" bir çizgi çizerek ilk olarak bindirme bağlantısı için hazırlık yapın. Şerit boyunca sırasıyla yaklaşık 3/8" ve 1/8" kalın ve ince bölümleri değiştirerek hafif çapraz kesimler yapın.

resim
resim

Kenarın bineceği malzemeyi çıkarmak için şeridi kesme yüzeyi kenarı boyunca yerleştirin ve bıçağınızı yatay olarak kaydırarak fazla köpüğü dağıtın ve alt kağıt tabakasını sağlam bırakın.

resim
resim

Şimdi ince kısımları bir cımbız veya pense ile çekerek çıkarın. Tatmin edici bir patlama sesiyle serbest bırakılırlar. Bu ekstra alanla, şerit artık kendi üzerine kıvrılabilir ve projenin temiz dış kabuğunu oluşturabilir!

resim
resim
resim
resim

Şeffaf ayna plastiğinizin bir parçasını aynanızdan daha büyük, ancak dış çerçeveden daha küçük olacak şekilde kesin. Bir daire içinde kesmeye çalışmayın. Plastik bir puanlama bıçağınız varsa, bu en iyisidir. Oluğu cetveliniz boyunca birkaç kez sürükleyin, ardından plastiği puan boyunca tutturun. Bununla birlikte, bir maket bıçağı bu ince malzemeyi de kolayca keser, ancak yine de çerçevenin içinde gizlenecek olan kesme kenarı boyunca ayna malzemesinin bir miktar dökülmesine rağmen.

Adım 3: Çerçeveyi Birleştirin

Çerçeveyi Birleştirin
Çerçeveyi Birleştirin
Çerçeveyi Birleştirin
Çerçeveyi Birleştirin

Çalışma yüzeyinizi bir miktar hurda malzeme ile koruyun. Tutkal tabancanızı ısıtın ve kendinizi yakmanız durumunda yakınınızda tutmak için bir kase buzlu su hazırlayın. Dilerseniz bu proje için farklı yapıştırıcı(lar) kullanabilirsiniz.

resim
resim
resim
resim

Alt dairenin ortasına bir parça yapıştırıcı sürün ve aynanızı buna yapıştırın. Aynayı, işaretli daire ile hizalayarak, köpük çekirdeğe karşı hafifçe döndürün ve ezin. Ardından ince şeridinizi aynanın çevresine yapıştırın ve fazlalıkları yırtarak tellerin geçmesi için küçük bir boşluk bırakın.

resim
resim
resim
resim

Ön "çörek" parçanızı çalışma yüzeyine yüzü aşağı bakacak şekilde yerleştirin ve üst üste binen kenara yapıştırın. Hareket halindeyken yapıştırırken bu parçaları çalışma yüzeyine tekrar tekrar bastırın, böylece ön kenar güzel ve temiz olur. Dış çerçeve tam olarak gitmeyecek ve sorun değil - isterseniz bu boşluğu daha sonra kapatmayı seçebilirsiniz.

resim
resim
resim
resim

NeoPixel şeridin kablolarını ayna kenarındaki küçük boşluktan geçirin ve iç kısma yapıştırın. Tutkal soğurken şeridi sıkıştırmak için isteğe bağlı olarak bir mandal kullanın. Aynaya sıcak tutkal bulaştırmamaya çalışın, ancak yaparsanız sorun olmaz! Biraz sürtünme alkolü, cam gibi gözeneksiz yüzeylerde tutuşunu serbest bırakacaktır.

resim
resim
resim
resim

Toz ve köpük çekirdek parçalarını temizlemek için çalışma alanınızı temizleyin. Aynayı tamamen temizlemek için tüy bırakmayan bir bez kullanın, ardından şeffaf aynanızı alın ve koruyucu kapağı bir taraftan soyun. İç duvarın etrafındaki dört noktaya az miktarda yapıştırıcı sürün (serbest şeritleri önlemek için tutkal tabancasının hareketlerini aynanın üzerinde sürüklemeyin) ve şeffaf aynayı yerine yapıştırın. Artık yansıtıcı yüzeyleriniz kapatılmış ve tozdan korunmuştur.

resim
resim

Konuyla ilgili Arduino Sınıfı dersimde açıklanan örnek NeoPixel kodunu çalıştırarak NeoPixel şeridinizi Arduino kartınıza takarak çift yansımanın tadını çıkarın.

Adım 4: Devre Şeması ve Sözde Kod

Devre Şeması ve Sözde Kod
Devre Şeması ve Sözde Kod

Yapınız boyunca burada gösterilen şemaya başvurabilirsiniz, ancak kendinizinkini çizmenizi şiddetle tavsiye ederim. Breadboard'unuzu ve son prototiplerinizi oluştururken bir bakışta referansınız olacak ve devrelerinizin diyagramını çizmek, gelecekte kendi projelerinizi tasarlamayı kolaylaştıracaktır. Bir devre şemasının amacı, bir devredeki tüm elektrik bağlantılarını göstermektir, fiziksel konumları veya yönelimleri gerekli değildir.

Bağlantılar aşağıdaki gibidir:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (veri girişi) -> Arduino dijital I/O pini (yapılandırılabilir)

anlık buton anahtarının bir tarafı -> Arduino dijital I/O pini (yapılandırılabilir)

anlık buton anahtarının diğer tarafı -> Arduino GND

Bu devre, NeoPixel şeridini farklı LED animasyonlarını tetiklemek için bir buton ile birleştirir ve giriş/çıkış dersinde gördüğünüz gibi dahili bir çekme direnci kullanır. Tüm bu bilgileri kullanarak, Arduino programımızın "pseudocode:" adlı insan tarafından okunabilir bir maketini yazabiliriz.

Değişkenler: NeoPixel pin numarası, buton pin numarası, kaç tane led var, ledlerin ne kadar parlak olması gerektiği

Tek seferlik görevler: dahili pull-up direnci ile giriş olarak düğme pinini başlatma, NeoPixel şeridi başlatma, LED animasyonlarını tanımlama

Döngü görevleri: Düğmeye basılıp basılmadığını kontrol edin ve varsa farklı bir LED animasyonuna geçin

Basit görünebilir, ancak projeniz için sözde kod yazmak için zaman ayırmak, son Arduino taslağını daha hızlı ve daha az karışıklık ile yazmanıza yardımcı olacaktır. Biraz yapılacaklar listesi gibi çalışır ve kod içinde yüzdüğünüz ve neyi başarmaya çalıştığınızı hatırlayamadığınız zamanlar için bir başvuru kılavuzu gibi çalışır!

Adım 5: Breadboard Prototipi

Breadboard Prototip
Breadboard Prototip

Arduino'nuzu ve devre tahtanızı alın ve USB kablosunun takılı olmadığından emin olun. NeoPixels'iniz hala öncekinden takılı mı? Harika! Değilse, bunları bağlayın: güç rayına 5V, Arduino pin 6'ya Din, toprak rayına GND.

Ardından, devre tahtanıza, ortadaki bölme çizgisinin iki yanında duran bir anlık buton ekleyin. Bir ayağı toprak rayına, komşu ayağını da Arduino pin 2'ye bağlayın. Bu proje için kodu doğrudan veya yukarıdaki Autodesk Devreler modülünden indirin, "Kod Düzenleyici" düğmesini ve ardından "Kodu İndir" düğmesini tıklayın ve dosyayı açın. Arduino veya kodu kopyalayıp yeni bir boş Arduino çizimine yapıştırın.

resim
resim

USB kablonuzu takın ve kodu Arduino kartınıza yükleyin. Düğmesine basın; NeoPixels'te oynatılacak yeni bir animasyonu tetiklemelidir. 5V ray, sınırlı parlaklıkta bu birkaç piksel için yeterlidir, ancak daha fazla LED'li gelecekteki projeler için, giriş Arduino Sınıfımdaki beceri dersimde tartışıldığı gibi ayrı bir güç kaynağına ihtiyacınız olacak.

6. Adım: Kod

Kodu daha detaylı inceleyelim:

#define BUTTON_PIN 2 // Dijital IO pini butona bağlanır. Bu olacak

// bir çekme direnci ile sürülür, böylece anahtar // pimi anlık olarak toprağa çekmelidir. Yüksek -> düşük // geçişinde düğmeye basma mantığı yürütülür. #define PIXEL_PIN 6 // NeoPixels'e bağlı dijital IO pini. #define PIXEL_COUNT 19 #define BRIGHTNESS 100 // 0-255 // Parametre 1 = şeritteki piksel sayısı // Parametre 2 = pin numarası (çoğu geçerlidir) // Parametre 3 = piksel tipi bayraklar, gerektiği gibi ekleyin: / / NEO_RGB Pikseller RGB bit akışı için bağlanmıştır // NEO_GRB Pikseller GRB bit akışı için bağlanmıştır, test sırasında renkler değiştirilirse düzeltin // NEO_RGBW Pikseller RGBW bit akışı için bağlanmıştır // NEO_KHZ400 400 KHz bit akışı (örn. FLORA pikselleri) // NEO_KHZ800 800 KHz bit akışı (örn. Yüksek Yoğunluklu LED şerit), neopiksel çubuğu için doğru Adafruit_NeoPixel şerit = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = YÜKSEK; int showType = 0;

NeoPixel örnek koduna benzer şekilde, bu ilk bölüm NeoPixel şeridini ve buton pini, piksel kontrol pini vb. için değişkenleri ayarlar.

geçersiz kurulum() {

pinMode(BUTTON_PIN, INPUT_PULLUP); strip.setBrightness(PARLAKLIK); strip.begin(); şerit.göster(); // Tüm pikselleri 'kapalı' olarak başlat } Kurulum işlevi, pin 2'yi dahili çekme direnci etkinleştirilmiş bir girişe ayarlar, piksellerin genel parlaklığını ayarlar ve piksel veri bağlantısını başlatır.

boşluk döngüsü () {

// Geçerli düğme durumunu al. bool newState = digitalRead(BUTTON_PIN); // Durumun yüksekten düşüğe değişip değişmediğini kontrol edin (düğmeye basın). if (newState == LOW && oldState == HIGH) { // Geri dönme düğmesi için kısa gecikme. gecikme(20); // Geri dönmeden sonra düğmenin hala düşük olup olmadığını kontrol edin. newState = digitalRead(BUTTON_PIN); if (newState == DÜŞÜK) { showType++; if (showType > 6) showType=0; startShow(showType); } } // Son düğme durumunu eski duruma ayarlayın. eskiDurum = yeniDurum; }

Döngü işlevi önce düğmenin mevcut durumunu kontrol eder ve bunu bir boole değişkeninde saklar (iki durumdan biri olabilir: YÜKSEK veya DÜŞÜK). Ardından, bu durumun YÜKSEK'ten DÜŞÜK'e gidip gitmediğini kontrol eder ve iki kez kontrol eder. Eğer öyleyse, showType bir artırılır ve startShow işlevi çağrılır, geçerli showType kendisine argüman olarak iletilir (showType 0-6 ile sınırlıdır). oldState değişkeni, son düğme durumunun ne olduğunu yansıtacak şekilde güncellenir.

void startShow(int i) {

switch(i){ case 0: colorWipe(strip. Color(0, 0, 0), 50); // Siyah/kapalı ara; durum 1: colorWipe(strip. Color(255, 0, 0), 50); // Kırmızı mola; durum 2: colorWipe(strip. Color(0, 255, 0), 50); // Yeşil mola; durum 3: colorWipe(strip. Color(0, 0, 255), 50); // Mavi mola; durum 4: darbeBeyaz(5); kırmak; durum 5: gökkuşağıSoluk2Beyaz(3, 3, 1); kırmak; durum 6: fullWhite(); kırmak; } }

startShow işlevi, bir dizi if/else ifadesini yığmanın yalnızca süslü ve hızlı bir yolu olan bir switch/case ifadesi içerir. Anahtar durumu, i değişkenini her bir durumun değerleriyle karşılaştırır, ardından kodu bu ifadede çalıştırır. anahtar kelime

kırmak;

switch/case ifadesinden çıkar. Bu anahtar/durum, düğmeye her bastığınızda farklı animasyon işlevlerini çağırmak için kullanılır.

resim
resim

Artık işlevsel bir devre tahtası prototipine sahip olduğunuza göre, bunu Arduino Uno'dan daha küçük, daha az tam özellikli ve daha düşük maliyetli bir Arduino Gemma kullanarak bitmiş bir projeye dönüştürmenin zamanı geldi. Bunun yerine Adafruit Gemma da kullanabilirsiniz, ancak Arduino yazılımını yapılandırmak için ek bir adım gerçekleştirmeniz gerekecektir.

İlk olarak, kodunuzda NeoPixel pin değişkenini 6'dan 1'e değiştirin:

#define PIXEL_PIN 1 // NeoPixels'e bağlı dijital IO pini.

Arduino Gemma'nızı bir USB kablosu kullanarak bilgisayarınıza takın ve Arduino Tools menüsünden board tipiniz olarak "Arduino Gemma"yı seçin.

resim
resim

Yerleşik ATTiny85 mikro denetleyicinin sınırlı işlevleri, Uno ile aynı şekilde bir seri bağlantı noktasını desteklemez, bu nedenle Bağlantı Noktası menüsünden herhangi bir şey seçmeniz gerekmez. Ancak, Programmer menü öğesi altında "Arduino Gemma"yı seçtiğinizden emin olun.

resim
resim

Panonun ne zaman programlamaya çalıştığınızı bilmek için biraz yardıma ihtiyacı var, bu nedenle panodaki sıfırlama düğmesine basın ve kırmızı LED yanıp sönerken, taslağınızı Gemma'ya yüklemek için Yükle düğmesine basın. Sıfırlama düğmesine bastığınızda kırmızı LED'iniz yanıp sönmüyorsa, USB kablonuz yalnızca güç kaynağı olabilir ve güç ve veri bağlantıları olan bir USB kablosuyla değiştirilmelidir. LED'inizin yanıp sönmemesinin bir başka nedeni de, Gemma önyükleyiciyi tanımakta sorun yaşayan bir USB 3 bağlantı noktası (tümü daha yeni Mac'ler) kullanmanızdır. Bilgisayarınızda bir USB 2 bağlantı noktası veya bilgisayarınız ile Gemma arasında bir USB hub kullanın.

Adım 7: Lehim Devresi

resim
resim
resim
resim

Devreyi Gemma'nızla çalıştırmak için kabloları doğrudan tahtadaki pedlere lehimleyeceğiz. Breadboard konektörünü ayırın ve NeoPixel şerit kablolarının uçlarını soyun, bükün ve kalaylayın. Aynı şekilde bir butonun diyagonal uçlarına telleri lehimleyin (lehim dersindeki butonu kullanabilirsiniz). İki topraklama kablosunu birlikte bükün ve lehimleyin.

resim
resim
resim
resim

Gemma'nın büyük delikleri, bu devreyi ek parça olmadan monte etmeyi kolaylaştırır - sadece kalaylı telleri deliklerden geçirin ve fazlalığı lehim pedinin etrafına sarın. Bağlantılar aşağıdaki gibidir:

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1~ (dijital pin 1)
  • NeoPixel GND -> düğmenin bir tarafı -> Gemma GND
  • butonun diğer tarafı -> Gemma 2 (dijital pin 2)

Devre kartınızı üçüncü el bir alete kurun ve pedi ve teli sarmak için biraz daha lehim uygulamadan önce havya ile bağlantıları ısıtın. Tüm bağlantılar soğuduktan sonra, fazla kabloyu gömme makaslarınızla kesin.

resim
resim
resim
resim

Gemma'nızı USB bağlantı noktası dairenin kenarına bakacak şekilde sıcak yapıştırın.

resim
resim
resim
resim
resim
resim
resim
resim
resim
resim

Ön/üst kapağı uygulayın ve parçaları temiz bir şekilde bir araya getirmek için kenarı hareket ettirin. Alt daireyi sığdırmak için biraz kırpmanız ve aynı şekilde eşini yerleştirmek için kenarı çekerek açmanız gerekebilir. Düğmeyi istediğiniz yere yapıştırın.

Adım 8: Kullanın

Bir USB kablosu takın, düğmeye basın ve keyfini çıkarın! Kodu değiştirerek renkleri ve animasyonları değiştirebilirsiniz. Bir duvara monte etmek istiyorsanız bir USB güç adaptörü kullanın. Bu noktada dilerseniz kalan boşluğu kapatmak için başka bir küçük köpük kenar parçası yapabilirsiniz. Önerilen bazı kullanımlar: Duvarınıza asın, masanızda tutun, bir arkadaşınıza verin!

resim
resim

Bu projeyi bir USB kablosu bağlamak yerine dahili bir pil ile kolayca çalıştırabilirsiniz. Gemma'yı yapıştırdığınız yön, pil bağlantı noktasına erişimi belirleyecektir, bu nedenle farklı bir açıyla yeniden yapıştırmak isteyebilirsiniz. 19 RGBW piksel çarpı 80ma maksimum akım çekişi (artı Gemma için ~10ma) 1530ma'ya eşittir, bu da teknik olarak en az bu kadar mAh'ye sahip bir pile ihtiyacımız olduğu anlamına gelir. Ancak aynanın kodu, dört pikselin tüm LED'lerini tam parlaklıkta birlikte kullanmaya yakın gelmiyor, bu nedenle gerçekte maksimum akım çekimi çok daha az. Sağlıklı bir pil uzlaşması, 1200mAh şarj edilebilir bir lipoly pildir.

resim
resim

Bu Arduino projesini takip ettiğiniz için teşekkürler! Daha fazla temel bilgi edinmek için giriş Arduino Dersime göz atın. Versiyonlarınızı yorumlarda görmek için sabırsızlanıyorum ve düşüncelerinizi ve geri bildirimlerinizi memnuniyetle karşılıyorum.

Önerilen: