Mündəricat:

Arduino Gemma və NeoPixels ilə Easy Infinity Mirror: 8 Addım (Şəkillərlə birlikdə)
Arduino Gemma və NeoPixels ilə Easy Infinity Mirror: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino Gemma və NeoPixels ilə Easy Infinity Mirror: 8 Addım (Şəkillərlə birlikdə)

Video: Arduino Gemma və NeoPixels ilə Easy Infinity Mirror: 8 Addım (Şəkillərlə birlikdə)
Video: Laser distance measurement with M5Stack Core2 ESP32 and VL53L0X with Arduino - Robojax 2024, Iyul
Anonim
Arduino Gemma və NeoPixels ilə Easy Infinity Mirror
Arduino Gemma və NeoPixels ilə Easy Infinity Mirror

Bax! Cazibədar və aldadıcı sadə sonsuzluq güzgüsünə dərindən baxın! LED -lərin tək bir zolağı, güzgü sandviçində içəriyə doğru parlayır və sonsuz əks təsirini yaradır. Bu layihə mənim Arduino Class girişimdəki bacarıq və texnikaları tətbiq edəcək və daha kiçik bir Arduino Gemma lövhəsini istifadə edərək hamısını son bir forma qoyacaq.

Bu layihənin vebinarını izləyin! Bu quruluşu tamamladığımı görmək üçün 28 İyun 2017 -ci ildə rəhbərlik etdiyim bu web seminarı yoxlayın!

İşlədiklərimdən xəbərdar olmaq üçün məni YouTube, Instagram, Twitter, Pinterest -də izləyin və bülletenimə abunə olun.

Addım 1: Təchizat

Təchizat
Təchizat

Bu dərsi davam etdirmək üçün sizə lazım olacaq:

  • Kəskin bıçaq
  • Metal hökmdar və ya T-kvadrat
  • Mat və ya karton qırıntıları
  • Şablon və ya dairə çəkən kompas üçün printer
  • Plastik qol bıçağı (isteğe bağlı, lakin gözəl)
  • İsti əriyən yapışqan tabancası və ya E6000/Quick Hold sənətkarlıq yapışdırıcısı
  • Clothespin (isteğe bağlı, yapışqan sıxac kimi istifadə etmək üçün)
  • 4 "yuvarlaq güzgü
  • Güzgü plastik güzgü
  • Qara köpük lövhəsi, 3/16 "qalınlığı
  • Arduino Uno və montaj lövhəsindəki lehimsiz çörək taxtası
  • USB A-B kabeli
  • Kiçik düymə (əvvəllər lehimlədiyiniz)
  • Çörək taxtası telləri
  • RGBW NeoPixel şeridi (və ya digər WS2812b RGBW LED şeridi) (19 piksel, əvvəllər lehim etdiyiniz eyni zolağı istifadə edir)
  • Lehimləmə dəmir və lehim
  • Tel çıxarıcılar
  • Çapraz kəsiciləri yuyun
  • Üçüncü əl vasitəsi
  • Multimetr (isteğe bağlı)
  • Kiçik iynəli kəlbətinlər
  • Cımbız
  • Arduino Gemma lövhəsi
  • Mikro USB kabeli
  • USB hub, kompüterinizdə yalnız USB 3 portu varsa (daha yeni Maclar kimi)
  • USB uzatma kabeli (isteğe bağlı)
  • USB güc adapteri
  • Lipoly batareya və şarj cihazı (isteğe bağlı)

Bu layihə, qorunan bir iş səthi (kəsmə matı və ya bir çox təbəqə hurda karton), metal hökmdar və iti bıçaq bıçağı tələb edən köpüklü lövhədən bir elektronika korpusu qurmaqda sizə yol göstərir. Parçaları yığmaq üçün ya isti yapışqan tabancasından istifadə edə bilərsiniz, ya da E6000 kimi bir sənətkarlıq yapışdırıcısı seçə bilərsiniz. Sonsuzluq güzgüsünün mərkəzində yuvarlaq bir şüşə güzgü var və sonsuz tunel effektinin gizli tərkib hissəsidir. Plastik bir bıçaq yoxdursa, güzgü plastikini kəsmək üçün bir neçə möhkəm qayçı istifadə edə bilərsiniz, ancaq ehtiyacınız olduğunu düşündüyünüzdən daha geniş bir kənar buraxın, çünki güzgü filmi qayçı ətrafında bir az uçur. kənarları kəsin. Kəskin alətlərdən istifadə edərkən diqqətli olun, tez yanıq müalicəsi üçün hər hansı bir isti yapışqan layihəsinin yanında bir fincan buzlu su saxlayın və hər hansı bir yapışqan üçün düzgün havalandırma istifadə edin.

Şəkil
Şəkil

Arduino Gemma - Sonsuzluq güzgü layihəsi Arduino Uno -nu Arduino Gemma ilə əvəz etməklə Arduino sxemini miniatürləşdirir. Gemma, Uno -nun Atmega328 -dən daha az yaddaşa və daha az xüsusiyyətə malik olan ATTiny85 mikrokontrolörünün ətrafında qurulmuş kiçik bir lövhədir, lakin eyni zamanda daha kiçik və daha aşağı qiymətə malikdir. Böyük yastiqciqlar lehimləmək çox asandır (və keçirici iplə tikin, amma bu fərqli siniflər üçün bir mövzudur). Gemma, kompüterinizə qoşulmaq üçün mikro USB kabelindən istifadə edir və batareyanı bağlamaq üçün JST portuna malikdir. Gemma proqramını Arduino proqramından necə proqramlaşdıracağınızı və son layihəyə necə quracağınızı öyrənəcəksiniz. Bunun əvəzinə bir Adafruit Gemma da istifadə edə bilərsiniz, ancaq Arduino proqramını konfiqurasiya etmək üçün əlavə bir addım atmalı olacaqsınız.

Şəkil
Şəkil

RGBW NeoPixel şeridi - Bu rəqəmsal şəkildə ünvanlanan zolaqda qırmızı, yaşıl, mavi və ağ rəngli mürəkkəb LEDləri idarə edən WS2812b çipləri var. NeoPixel, Adafruit markasıdır, ancaq sevdiyiniz təchizatçı saytında "WS2812b RGBW şeridi" axtararaq da tapa bilərsiniz. Bu sinifdə verilən nümunə kodu RGB (ağsız) şeridi, analog LED şeridi və ya hər hansı digər rəqəmsal idarəetmə çipi ilə işləməyəcək (APA104 aka DotStar kimi)

Addım 2: Çərçivə Parçalarını kəsin

Çərçivə Parçaları
Çərçivə Parçaları

Bir az kağız hazırlamağa hazır olun! Bu addım kəskin alətləri əhatə edir və təfərrüatlara diqqət yetirməyi tələb edir, buna görə də yaxşı istirahət etdiyinizə əmin olun, amma həddindən artıq kafeinli deyil. Parlaq işıqlandırma və kəsici mat və ya hurda kartonla qorunan geniş, təmiz bir iş səthindən istifadə edin.

Köpüklü lövhəni kəsmək və yapışdırmaqda yenisinizsə, təcrübə və səhvlər üçün əlavə qazanın- 16x20in lövhədən ibarət üç paket kifayətdir (və artıq qalıbsa, onunla başqa layihələr də edə bilərsiniz). Yaralanmanın qarşısını almaq üçün iti bıçaq, metal hökmdar, yavaş temp və çox ehtiyatlı olun. Yanlış bıçaq sürüşməsi və ya yapışması səbəbindən bir neçə parçanı yenidən düzəltmək normaldır.

Kəsəcəyiniz şəkilləri yaratmağın iki yolu var: şablonu çap edin və ya dairə şəklində bir pusula ilə şəkilləri çəkin. Bunun hər hansı bir üstünlüyü yoxdur, ancaq bacarıqlarınız və vasitələriniz bu və ya digər şəkildə sizi yelləyə bilər. Şablon məktub ölçülü kağız üçün kirəmitli PDF şəklində mövcuddur, onu yapışdırıb köpük çubuğunuza yapışdırmaq üçün yapışqan çubuqdan istifadə edəcəksiniz. Böyük formatlı bir printerdə çap etmək və ya dəyişiklik etmək istəsəniz şablon faylının sona çatmış bir versiyası da var.

Şəkil
Şəkil
Şəkil
Şəkil

Şəkilləri əllə çəkmək çox sadədir, amma söz verirəm! Əvvəlcə kompasın radiusuna (4 "güzgü = 2" yarıçapı) qoyaraq və hər bir kənarından ən azı 5 düym köpük xəttinizə dairə çəkərək aynanızın ölçüsünə uyğun bir dairə çəkin. Əlbəttə ki, aynanın ətrafını izləyə bilərsiniz, ancaq sonra mərkəzini tapıb qeyd etməlisiniz! Pusula, ikinci konsentrik dairəni düzəltmək üçün lazım olan mərkəzi nöqtədə bir girinti edir.

Şəkil
Şəkil
Şəkil
Şəkil

İndi pusulanı 4 düym genişləndirin və birincisinin ətrafındakı daha böyük dairəni çəkin. Bu, aynanızın tam alt/arxa hissəsidir- belə etiketləyin.

Şəkil
Şəkil
Şəkil
Şəkil

Üst/ön hissənin bir az daha böyük olması lazımdır, buna görə kompasınızı 4 3/16 -ə qədər genişləndirin və alt hissədən etibarlı bir məsafədə çəkin.

Şəkil
Şəkil
Şəkil
Şəkil

Baxış pəncərəsi aynadan bir qədər kiçik olmalıdır, baxmayaraq ki, bunun nə qədər olması vacib deyil. Pusulanı güzgü radiusundan təxminən 1/8 düym kiçik qoyun və daha böyük ön/üst perimetri ilə eyni mərkəz nöqtəsini istifadə edərək dairəni çəkin.

Şəkil
Şəkil

Bu parçanı bir neçə dəqiqədən sonra kəsiləcək kiçik dairənin içərisinə etiketləyin.

Şəkil
Şəkil
Şəkil
Şəkil

Köpük çubuğunuzun uzun bir tərəfi boyunca bir şeridi 1/2 "enində, digərini isə 1" genişliyində işarələyin və kəsin.

Şəkil
Şəkil

Dar zolaq güzgüyə sarılacaq və NeoPixel zolağınızı dəstəkləyəcək, daha geniş dairəvi çərçivənin xarici divarını təşkil edəcək.

Şəkil
Şəkil
Şəkil
Şəkil

Dairələri kəsməyə! Burada bir az incəlik və səbir kömək edir. Dairələri kəsmək üçün daha kiçik bir sənətkarlıq bıçağından istifadə etməyi sevirəm, çünki özümü daha çox idarə etdiyimi hiss edirəm. Burada istifadə etdiyim xüsusi bıçaq müntəzəm X-acto bıçaqları götürür və onu scrapbooking koridorunda tapdım.

Birincisi, bıçağı alt hissənin bütün ətrafına yüngülcə sürün, yalnız kağızın üst qatını deşin. Bu keçid zamanı bıçağı əyməkdə azadsınız, lakin ən rahat və ən dəqiq forma verir.

Əvvəlki keçiddə etdiyiniz xətti izləyərək dairəni bir daha kəsin. Bu dəfə bıçaq bucağınıza diqqət edin ki, 90 dərəcə olmalıdır (düz yuxarı və aşağı). Bu kəsik edərkən möhkəm bir şəkildə basın və barmaqlarınızı bıçaq yolundan uzaq tutun. Lövhənizi götürün və bütün yolu kəsib -kəsmədiyinizi yoxlayın. Perimetr boyunca qalan ləkələri kəsmək üçün bıçağınızla bir dəfə daha keçin.

Şəkil
Şəkil
Şəkil
Şəkil

Sonra yuxarı hissəni kəsin və sonra daxili dairəni kəsin. Bu parça digərlərindən daha çox görülür, buna görə qeyri -bərabər olmayan kənarları düzəltmək üçün bir az əlavə təmizlik verin.

Şəkil
Şəkil
Şəkil
Şəkil

Qıvrımlı daxili üzük üçün hər 1/4 və ya daha incə köpüklü şerid boyunca kəsiklər edin, amma sonuna qədər kəsməyin! Səslənməkdən daha asandır- iki yüngül ötürmə edin və Bu kəsiklər hamar bir daxili səth təmin edərkən parçanın əyilməsinə imkan verir.

Şəkil
Şəkil
Şəkil
Şəkil

Xarici çərçivə parçası ən yaxşı üzünü kənara qoymalıdır, buna görə bir az fərqli bir şəkildə kəsiklər edəcəyik. İlk növbədə 3/16 "kənarından bir xətt vuraraq dövrə birləşməsinə hazırlaşın. Zolaq boyunca, təxminən 3/8" və 1/8 "qalın və nazik hissələri dəyişərək yumşaq kəsiklər edin.

Şəkil
Şəkil

Kenarın girəcəyi materialı çıxarmaq üçün şeridi kəsmə səthinin kənarına qoyun və bıçağınızı üfüqi şəkildə sürüşdürün ki, köpüyü artıq buraxsın və kağızın alt qatını sağlam qalsın.

Şəkil
Şəkil

İndi nazik hissələri cımbız və ya pens ilə sıxaraq çıxarın. Məmnunluq verən bir səslə buraxırlar. Bu əlavə boşluqla, zolaq artıq öz -özünə əyilə bilər və layihənin təmiz xarici qabığını təşkil edə bilər!

Şəkil
Şəkil
Şəkil
Şəkil

Güzgüdən daha böyük, ancaq xarici çərçivədən daha kiçik olması üçün plastikdən bir parça kəsin. Bir dairədə kəsməyə çalışmayın. Plastik bir bıçaq varsa, ən yaxşısıdır. Gouge'yi hökmdarınız boyunca bir neçə dəfə sürükləyin, sonra plastikdən hesab boyunca yapışdırın. Bununla birlikdə, bıçaq bu nazik materialı asanlıqla kəsir, baxmayaraq ki, güzgü materialının kəsilmiş kənarı boyunca bir az ləkələnməsinə baxmayaraq, çərçivənin içərisində gizlənəcəkdir.

Addım 3: Çərçivəni yığın

Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın
Çərçivəni yığın

İş səthinizi bəzi hurda materiallarla qoruyun. Yapışqan silahınızı qızdırın və özünüzü yandıracağınız təqdirdə yaxınlıqda saxlamaq üçün bir fincan buzlu su hazırlayın. İstəyirsinizsə bu layihə üçün fərqli yapışqan (lar) dan istifadə edə bilərsiniz.

Şəkil
Şəkil
Şəkil
Şəkil

Alt dairənin ortasına bir kukla yapışqan tətbiq edin və aynanı ona yapışdırın. Güzgünü işarələnmiş dairə ilə hizalayaraq köpük səthinə yumşaq bir şəkildə çevirin və sıxın. Sonra nazik zolağınızı güzgünün perimetrinə yapışdırın və tellərin keçməsi üçün kiçik bir boşluq buraxaraq artıq olanı cırın.

Şəkil
Şəkil
Şəkil
Şəkil

Ön "çörek" parçasını üzü aşağıya doğru iş səthinə və yapışqan kənarına yapışdırın. Gəzərkən yapışdırarkən bu parçaları iş səthinə dəfələrlə bir -birinə basıb saxlayın ki, ön kənar gözəl və təmiz olsun. Xarici çərçivə hər tərəfə getməyəcək və bu yaxşıdır- istəsəniz daha sonra bu boşluğu bağlamağı seçə bilərsiniz.

Şəkil
Şəkil
Şəkil
Şəkil

NeoPixel şeridinin tellərini güzgü kənarındakı kiçik boşluqdan keçirin və içəriyə yapışdırın. İsteğe bağlı olaraq, yapışqan soyuduğu zaman zolağı sıxmaq üçün paltar maşını istifadə edin. Güzgüyə isti yapışqan çəkməməyə çalışın, amma bunu etsəniz yaxşı olar! Bir az sürtünən spirt, şüşə kimi gözeneksiz səthlərdə tutuşunu sərbəst buraxacaq.

Şəkil
Şəkil
Şəkil
Şəkil

İş yerinizi tozdan və köpükdən qurtarmaq üçün təmizləyin. Güzgünü tamamilə silmək üçün tiftiksiz bir parça istifadə edin, sonra güzgüdən tutun və qoruyucu örtüyü bir tərəfdən soyun. Daxili divarın dörd nöqtəsinə az miqdarda yapışqan tətbiq edin (yapışqan tabancanızın hərəkətlərinin güzgü üzərində sürüklənməməsini təmin edin) və keçid güzgüsünü yerində yapışdırın. İndi yansıtıcı səthlər möhürlənir və tozdan qorunur.

Şəkil
Şəkil

Mövzu ilə bağlı Arduino Sinif dərsimdə təsvir olunan NeoPixel kodunu işlədən NeoPixel şeridinizi Arduino lövhənizə qoşaraq ikiqat əks etdirmə qabiliyyətinə sahib olun.

Addım 4: Dövrə Diaqramı və Pseudocode

Dövrə Diaqramı və Pseudocode
Dövrə Diaqramı və Pseudocode

Quruluşunuz boyunca burada göstərilən diaqrama istinad edə bilərsiniz, baxmayaraq ki, öz şəklinizi çəkməyi məsləhət görürəm. Çörək lövhənizi və son prototiplərinizi qurarkən bir baxışda bir istinadınız olacaq və sxemlərinizin diaqramlaşdırılması gələcəkdə öz layihələrinizi hazırlamağı asanlaşdıracaq. Bir dövrə diaqramının məqsədi, fiziki mövqelərini və ya istiqamətlərini nəzərə almadan, bir dövrədəki bütün elektrik əlaqələrini göstərməkdir.

Bağlantılar aşağıdakı kimidir:

NeoPixel 5V -> Arduino 5V

NeoPixel GND -> Arduino GND

NeoPixel Din (məlumatlar) -> Arduino rəqəmsal G/Ç pin (konfiqurasiya edilə bilər)

ani düymənin bir tərəfi -> Arduino rəqəmsal I/O pin (konfiqurasiya edilə bilər)

bir anlıq düymənin digər tərəfi -> Arduino GND

Bu sxem, müxtəlif LED animasiyalarını işə salmaq üçün NeoPixel şeridini bir düymə ilə birləşdirir və giriş/çıxış dərsində gördüyünüz kimi daxili çəkmə müqavimətindən istifadə edəcək. Bütün bu məlumatlardan istifadə edərək, "pseudocode:" adlanan Arduino proqramımızın insan tərəfindən oxunan bir maketi yaza bilərik.

Dəyişənlər: NeoPixel pin nömrəsi, düymə pin nömrəsi, neçə LED var, LEDlər nə qədər parlaq olmalıdır

Birdəfəlik tapşırıqlar: düymə pinini daxili çəkmə rezistoru ilə giriş olaraq işə salın, NeoPixel şeridini işə salın, LED animasiyalarını təsvir edin

Vəzifələri həll etmək: düymənin basıldığını yoxlayın və əgər varsa, fərqli bir LED animasiyasına keçin

Sadə görünə bilər, ancaq layihəniz üçün yalançı kod yazmağa vaxt ayırmaq, son Arduino eskizinizi daha sürətli və daha az qarışıqlıqla yazmağa kömək edəcək. Kodda üzdüyünüz zaman nə etməli olduğunuzu xatırlaya bilmədiyiniz zaman işlər siyahısı kimi bir az işləyən bir bələdçi kimi də işləyir!

Addım 5: Breadboard Prototipi

Çörək Paneli Prototipi
Çörək Paneli Prototipi

Arduino və çörək taxtasını götürün və USB kabelinin çıxarıldığından əmin olun. NeoPixel -ləriniz hələ də əvvəlkilərdən bağlıdır? Əla! Əks təqdirdə, onları bağlayın: 5V güc rayına, Din Arduino pin 6 -ya, GND yer rayı ilə.

Sonra çörək taxtanıza bir anlıq düymə əlavə edin, mərkəzi bölmə xəttini düzəldin. Bir ayağını yer relsinə, qonşu ayağını isə Arduino pin 2 -yə bağlayın. Bu layihənin kodunu birbaşa və ya yuxarıdakı Autodesk Circuits modulunda yükləyin, "Kod Redaktoru" düyməsini, sonra "Kodu Yüklə" düyməsini basın və faylı açın. Arduino və ya kodu boş bir Arduino eskizinə kopyalayıb yapışdırın.

Şəkil
Şəkil

USB kabelinizi qoşun və kodu Arduino lövhəsinə yükləyin. Düyməyə bas; NeoPixels arasında oynamaq üçün yeni bir animasiyanı işə salmalıdır. 5V dəmir yolu, məhdud parlaqlıqdakı bu bir neçə piksel üçün kifayətdir, lakin gələcəkdə daha çox LED -lə işləyən layihələr üçün mənim Arduino Class girişimin bacarıqlar dərsində müzakirə edildiyi kimi ayrı bir enerji təchizatına ehtiyacınız olacaq.

Addım 6: Kod

Kodu daha ətraflı araşdıraq:

#define BUTTON_PIN 2 // Düyməyə bağlı rəqəmsal IO pin. Bu olacaq

// açılan rezistorla idarə olunur, buna görə də keçid // sancağı bir an yerə çəkməlidir. Yüksək -> aşağı // keçiddə düyməni basmaq məntiqi yerinə yetiriləcək. #dexine PIXEL_PIN 6 // NeoPixelsə qoşulmuş rəqəmsal IO pin. #define PIXEL_COUNT 19 #define BRIGHTNESS 100 // 0-255 // Parametr 1 = zolaqdakı piksel sayı // Parametr 2 = pin nömrəsi (əksəriyyəti etibarlıdır) // Parametr 3 = piksel tipli bayraqlar, lazım olduqda əlavə edin: / / NEO_RGB Pikselləri RGB bit axını üçün bağlanır // NEO_GRB Pikselləri GRB bit axını üçün bağlanır, yoxlanılarkən rənglər dəyişdirilərsə doğru olar / bit axını (məsələn, Yüksək Sıxlıqlı LED şeridi), neopiksel çubuğu üçün uyğun Adafruit_NeoPixel şeridi = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, NEO_GRBW + NEO_KHZ800); bool oldState = HIGH; int showType = 0;

NeoPixel nümunə koduna bənzər olaraq, bu birinci hissədə NeoPixel şeridi və düymə pin, piksel nəzarət pimi və s.

boş quraşdırma () {

pinMode (BUTTON_PIN, INPUT_PULLUP); strip.setBrightness (BRIGHTNESS); strip.begin (); strip.show (); // Bütün pikselləri "söndürmək" üçün başladın} Quraşdırma funksiyası, pin 2-ni daxili çəkmə rezistoru aktivləşdirilmiş bir girişə qoyur, piksellərin qlobal parlaqlığını təyin edir və piksel məlumat bağlantısını işə salır.

boşluq döngəsi () {

// Cari düymə vəziyyətini əldə edin. bool newState = digitalRead (BUTTON_PIN); // Vəziyyətin yuxarıdan aşağıya dəyişib dəyişmədiyini yoxlayın (düyməni basmaq). if (newState == LOW && oldState == HIGH) {// Düyməni çıxarmaq üçün qısa gecikmə. gecikmə (20); // Çıxarıldıqdan sonra düymənin hələ də aşağı olub olmadığını yoxlayın. newState = digitalRead (BUTTON_PIN); if (newState == LOW) {showType ++; əgər (showType> 6) showType = 0; startShow (showType); }} // Son düymə vəziyyətini köhnə vəziyyətə qoyun. oldState = newState; }

Döngü funksiyası əvvəlcə düymənin cari vəziyyətini yoxlayır və onu bir boolean dəyişənində saxlayır (iki vəziyyətdən biri ola bilər: YÜKSƏK və ya LOW). Sonra bu vəziyyətin YÜKSƏDƏN DÜŞÜK vəziyyətə keçib -getmədiyini yoxlayır və ikiqat yoxlayır. Əgər belədirsə, showType bir dəfə artırılır və startShow funksiyası çağırılır, cari showType ona arqument olaraq ötürülür (showType 0-6 ilə məhdudlaşır). OldState dəyişən son düymə vəziyyətinin nə olduğunu əks etdirmək üçün yenilənir.

void startShow (int i) {

keçid (i) {halda 0: colorWipe (strip. Color (0, 0, 0), 50); // Qara/qapalı fasilə; hal 1: colorWipe (strip. Color (255, 0, 0), 50); // Qırmızı fasilə; hal 2: colorWipe (strip. Color (0, 255, 0), 50); // Yaşıl fasilə; hal 3: colorWipe (strip. Color (0, 0, 255), 50); // Mavi fasilə; hal 4: pulseWhite (5); fasilə; hal 5: göy qurşağıFade2White (3, 3, 1); fasilə; hal 6: fullWhite (); fasilə; }}

StartShow funksiyası, bir dəstə if/else ifadəsini yığmaq üçün sadəcə xülya sürətli bir yol olan bir keçid/hal ifadəsi ehtiva edir. Keçid qutusu i dəyişənini hər bir işin dəyərləri ilə müqayisə edir, sonra həmin ifadədəki kodu işə salır. Açar söz

fasilə;

keçid/hal ifadəsindən çıxır. Bu keçid/qutu, hər dəfə düyməni basdığınız zaman fərqli animasiya funksiyalarını çağırmaq üçün istifadə olunur.

Şəkil
Şəkil

İndi funksional bir çörək taxtası prototipiniz var, Arduino Uno -dan daha kiçik, daha az tam xüsusiyyətli və daha aşağı olan bir Arduino Gemma istifadə edərək bunu bitmiş bir layihə halına gətirməyin vaxtı gəldi. Bunun əvəzinə bir Adafruit Gemma da istifadə edə bilərsiniz, ancaq Arduino proqramını konfiqurasiya etmək üçün əlavə bir addım atmalı olacaqsınız.

Əvvəlcə kodunuzdakı NeoPixel pin dəyişənini 6 ilə 1 arasında dəyişin:

#dexine PIXEL_PIN 1 // NeoPixelsə qoşulmuş rəqəmsal IO pin.

USB kabelindən istifadə edərək Arduino Gemma -nı kompüterinizə qoşun və Arduino Tools menyusunda lövhə növü olaraq "Arduino Gemma" nı seçin.

Şəkil
Şəkil

Təyyarədə olan ATTiny85 mikrokontrolörünün məhdud funksiyaları, Uno ilə eyni şəkildə serial portunu dəstəkləmir, buna görə də Port menyusundan heç bir şey seçmək lazım deyil. Ancaq Proqramçı menyu maddəsi altında "Arduino Gemma" nı seçdiyinizə əmin olun.

Şəkil
Şəkil

Lövhəni proqramlaşdırmağa çalışdığınız zaman bilmək üçün bir az köməyə ehtiyacınız var, buna görə lövhədəki sıfırlama düyməsini basın və qırmızı LED sönərkən, eskizinizi Gemma üzərinə yükləmək üçün Yüklə düyməsini basın. Sıfırlama düyməsini basdığınız zaman qırmızı LEDiniz nəbz etmirsə, USB kabeliniz yalnız gücə malik ola bilər və güc və məlumat əlaqələri olan bir USB kabeli ilə dəyişdirilməlidir. LEDinizin nəbzini itirməməsinin başqa bir səbəbi, Gemma yükləyicisini tanımaqda çətinlik çəkən bir USB 3 portu (bütün yeni Mac) istifadə etməyinizdir. Kompüterinizdə bir USB 2 portu və ya kompüterinizlə Gemma arasında bir USB hub istifadə edin.

Addım 7: Lehim Dövrü

Şəkil
Şəkil
Şəkil
Şəkil

Dövrəni Gemma ilə idarə etmək üçün telləri birbaşa lövhədəki yastiqciklərə lehimləyəcəyik. Çörək taxtası bağlayıcısını kəsin və NeoPixel şerit tellərinin uclarını açın, bükün və qalayın. Eyni şəkildə bir düymənin diaqonal uclarına lehim telləri (lehimləmə dərsindəki düyməni istifadə edə bilərsiniz). İki torpaq telini bükün və lehimləyin.

Şəkil
Şəkil
Şəkil
Şəkil

Gemma'nın böyük delikləri, bu dövrəni əlavə hissələr olmadan yığmağı asanlaşdırır- qalın telləri deliklərdən keçirin və artıqlığı lehim yastığının ətrafına sarın. Bağlantılar aşağıdakı kimidir:

  • NeoPixel 5V -> Gemma Vout
  • NeoPixel Din -> Gemma 1 ~ (rəqəmsal pin 1)
  • NeoPixel GND -> düymənin bir tərəfi -> Gemma GND
  • düymənin digər tərəfi -> Gemma 2 (rəqəmsal pin 2)

Üçüncü əl alətində dövrə lövhənizi qurun və yastığı və teli udmaq üçün bir az daha lehim tətbiq etməzdən əvvəl lehimləmə dəmirinizlə əlaqələri qızdırın. Bütün əlaqələr soyuduqdan sonra, artıq olan telləri yumrularınızla kəsin.

Şəkil
Şəkil
Şəkil
Şəkil

USB portu dairənin kənarına baxaraq Gemma -nızı isti yapışdırın.

Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil
Şəkil

Ön/üst örtüyü tətbiq edin və parçaları bir -birinə təmiz bir şəkildə yerləşdirmək üçün kənarını manipulyasiya edin. Alt dairənizi uyğunlaşdırmaq üçün onu bir az kəsmək və eyni zamanda yoldaşını yerləşdirmək üçün kənarı açmaq lazım ola bilər. Düyməni istədiyiniz yerə yapışdırın.

Addım 8: İstifadə edin

USB kabelini qoşun, düyməni basın və zövq alın! Kodu dəyişdirərək rəngləri və animasiyaları dəyişə bilərsiniz. Divara asmaq istəyirsinizsə USB güc adapterindən istifadə edin. İstədiyiniz təqdirdə, qalan boşluğu bağlamaq üçün başqa bir kiçik köpük kənar kənar edə bilərsiniz. Təklif olunan bəzi istifadə üsulları: divarınıza asın, masanızda saxlayın, dostunuza verin!

Şəkil
Şəkil

USB kabelini bağlamaq əvəzinə daxili bir batareya ilə bu layihəni işlədə bilərsiniz. Gemma'yı yapışdırdığınız istiqamət, batareya limanına girişi təyin edəcək, buna görə də onu başqa bir açı ilə yenidən yapışdırmaq istəyə bilərsiniz. 19 RGBW piksel, 80ma maksimum cərəyan (Gemma üçün ~ 10ma) 1530ma -ya bərabərdir, yəni texniki cəhətdən ən azı bir çox mAh həcmli bir batareyaya ehtiyacımız var. Bununla birlikdə, güzgü kodu dörd pikselin bütün LED -lərini tam parlaqlıqda istifadə etməyə yaxınlaşmır, buna görə də əslində maksimum cərəyan daha azdır. Sağlam bir batareya güzəşti 1200mAh şarj edilə bilən lipoli batareyadır.

Şəkil
Şəkil

Bu Arduino layihəsini izlədiyiniz üçün təşəkkür edirik! Daha çox məlumat əldə etmək üçün mənim təqdimat Arduino Sinifimə baxın. Versiyalarınızı şərhlərdə görmək və fikirlərinizi və rəylərinizi qəbul etmək üçün səbirsizliklə gözləyirəm.

Tövsiyə: