İçindekiler:

Bisiklet El Sinyal Işığı: 10 Adım (Resimlerle)
Bisiklet El Sinyal Işığı: 10 Adım (Resimlerle)

Video: Bisiklet El Sinyal Işığı: 10 Adım (Resimlerle)

Video: Bisiklet El Sinyal Işığı: 10 Adım (Resimlerle)
Video: ELEKTRİKLİ BİSİKLETTE EN SIK GÖRÜLEN SORUN: İLETİŞİM HATASI. ÖNLEMLER VE ÇÖZÜM 2024, Kasım
Anonim
Bisiklet El Sinyal Işığı
Bisiklet El Sinyal Işığı

Bu projenin amacı, geceleri görünürlüğü artırmak için bir bisiklet eldivenine uyan ve amaçlanan dönüş yönünü işaret eden bir ışık yaratmaktır. Hafif, kullanımı kolay ve mevcut sinyalizasyon hareketleriyle entegre olmalıdır (sinyal yönteminde minimum ince ayar (bir düğmeye basmanız gerekmez, sadece sinyal verdiğinizde gider)). Bu harika bir tatil hediyesi olur.

Not: Bu, lehimleme hakkında önceden bilgi sahibi olmayı gerektirir ve AVR'lerin nasıl programlanacağına dair bir fikir büyük bir artıdır. Bunu akılda tutarak, eğlenin, sabırlı olun ve ürününüzün resimlerini aşağıya gönderin! İşte bir video: Ve işte benim bir resmim:

Adım 1: Parçalar

Parçalar
Parçalar

x1 ATmega 32L 8PU (www.digikey.com)x1 40-pin DIP soketi (www.digikey.com)x1 8x8 LED Dizisi (www.sparkfun.com)x1 74138 De-multiplexer (www.digikey.com)x2 Flex Sensörler (www.sparkfun.com)x(Birçok) Dirençler 180 ohm ve 10k ohmx2 PC Kartı (www.sparkfun.com)x6 Ayırıcılar (www.sparkfun.com) ve sığdırmak için vidalar (Yerel Hırdavat Mağazası)x1 Breakout board (www.sparkfun.com)x2 Başlıklar - Erkek (www.sparkfun.com), Dişi (www.sparkfun.com) ve Sağ Açı (www.sparkfun.com)x1 LM7805 (www.digikey.com)x2 8 pinli soket (Benimkini Radio Shack'ten aldım)x1 9v pilx1 ayaklı cırt cırtlı1 Tam parmaklı bisiklet eldivenix1 makara polyester iplikx1 Programcı (bu bende var)x1 Tel striptizci ve klipsx1 Multimetre Parçalardan bazıları:

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

Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın
Panoları hazırlayın

İlk önce, zıtlıkları ekleyin. Uygun yüksekliği elde etmek için ikisini birbirine vidalamanız gerekecek. Ayrıkların KARE pedlerle yandan aşağı indiğinden emin olun. Bu şekilde altta lehimli pedleri köprüleyebilir ve üstte ortak ped ile toprağa bağlamak için köprü yapabilirsiniz. Daha sonra LED dizisini ekleyin ve lehimleyin. YS karşı tarafa bakarken, iki stanoff ile kartın kenarına olabildiğince uzak olmalıdır. Sol alttaki pin pin 1'dir. (Resimde de işaretlenmiştir.) Daha sonra iki adet 8 pinli soketi üst üste gelecek şekilde 16 pinli bir soket oluşturacak şekilde ekleyin. Solda bir boşluk bıraktığınızdan emin olun ve ardından bunu lehimleyin. Ardından erkek ve dişi başlıkları 10 ve 11 pinli bölümlere ayırın. İki kat daha fazla kadın başlığına ihtiyacınız olacak. Bunları fotoğrafta görüldüğü gibi lehimleyin. Erkek başlıklara gelince, pimi, plastiğin her iki tarafında eşit miktarda olacak şekilde kaydırmanız gerekir. Bazı pense kullandım ve oldukça iyi çalıştı. Şimdi erkek başlıkları alıp 2 dişi başlığın arasına yerleştirirseniz, bunların artık üst ve alt kartı birbirine bağlamak için doğru boyutta olduklarını göreceksiniz.

Adım 3: Dirençleri ekleyin

Dirençleri ekleyin
Dirençleri ekleyin
Dirençleri ekleyin
Dirençleri ekleyin
Dirençleri ekleyin
Dirençleri ekleyin

Bu dirençler, diziyi korumak için LED dizisi ile 74138 (Toprak) arasında gider. Dirençten gelen uçlardan birini üst üste katlayın, böylece iki uç paralel olur. Bunları 7, 9, 10, 11, 12, 13, 14 ve 15 pinlerine takın ve lehimleyin. İkinci ve üçüncü resimlerde gördüğünüz gibi direncin yönünü değiştirirseniz en iyi sonucu verdiğini buldum.

Adım 4: Üstü Kablolayın

Üst Tel
Üst Tel
Üst Tel
Üst Tel
Üst Tel
Üst Tel
Üst Tel
Üst Tel

Bu, projenin açık ara en uzun adımı, umarım lehimlemeyi seversiniz! Aşağıdaki şemayı takip edin ve sürekliliği multimetrenizle test ettiğinizden emin olun. Dizinin ve 74138'in veri sayfasına şematik bir bakışla nasıl geldiğimi bilmek isterseniz.

Adım 5: Altını Doldurun

Alt Doldur
Alt Doldur
Alt Doldur
Alt Doldur
Alt Doldur
Alt Doldur
Alt Doldur
Alt Doldur

Şimdi temel bileşenlerimizi alt panoya yerleştirme zamanı. İlk önce sol tarafta bir sıra boşluk bırakarak sol üst tarafa olabildiğince yakın giden 40 pinli DIP soketini yapacağız. (Resim 1'e bakın.) Bunu lehimleyin ve ardından başlıkları yerleştirin. Bunu yapmanın en kolay yolu, değiştirilmiş erkek başlıklarınızı kullanarak üsttekileri altta olacaklara bağlamaktır. Her şeyi doğru yaptıysanız, sol başlıktaki üç üst üç pimi, soketteki sağ alt pimlerin yanında bulmalısınız. Tamamdır. Sadece sağdaki en alttaki pimi kullanıyoruz ve gördüğünüz gibi başka bir yönden net bir atışımız var. Şimdi voltaj regülatörünü resimde gösterildiği gibi ekleyin. Madeni metal soğutucudaki delikten bir vida ve somunla sabitledim. Soğutucu, çipi topraklamanın başka bir yoludur ve onu karta cıvatalamak, ortak bağlantı ile sağlam bir temas sağlar. Bu, ikisi metal zıtlıklarla bağlantılı olduğu için, üste olduğu kadar alta da bağlıdır. Bununla birlikte, topraklama için ortak bağlantı kullanmıyorsanız, ısı emici toprak görevi gördüğünden ve muhtemelen bir şeyi kısa devre yaptıracağınızdan, ısı emiciyi panoya CİVATALAMAYIN. Pil klipsindeki bir sonraki tel. Kırmızı, soldaki pime gider (Soğutucu yukarıda ve pimler aşağıdayken) ortaya siyah ve sağdaki pim +5v üretir. Artık gücü en üste bağlayabilirsiniz (bkz. resim #2). Şimdi programcı bağlayıcısı için. Programcım için yaptığım bir adaptörüm var ama muhtemelen tasarımınıza 6 pinli (3x2) bir başlık eklemek isteyeceksiniz. Ancak benim gibi bir adaptörünüz varsa, işte yaptığım şey. Bir dik açılı başlık ve bir dişi başlık aldım ve bunları birbirine lehimledim (Resim # 3). Daha sonra, ilk pin 6 pinine bağlı olarak onu panoya bağladım. Şimdi, sıfırlamayı yüksek çekmek için çipi ve ayrıca bir rezistördeki kabloları beslemeniz ve topraklamanız gerekiyor. Pin 9'dan pin 10'a 10k'lık bir direnç çalıştırdım ve ardından pin 10'u +5v'ye bağladım. Bir sonraki pim (11) ortak bağlantıya (Toprak) gider. Son olarak, bu adımı bitirmek için 4 numaralı resme bakın (Oldukça açıklayıcı).

Adım 6: Alt Kabloyu Bağlayın

Alt Tel
Alt Tel
Alt Tel
Alt Tel
Alt Tel
Alt Tel

Bir LED dizisinin çalışmasını sağlamak için 30'dan fazla kabloyu çalıştırmanız gereken gerçekten eğlenceli adımı hatırlıyor musunuz? Şimdi tekrar yapacaksın! En altta!. Bu biraz daha hızlı ama benim kadar değil. Bir kez daha şemaya bakın ve multimetrenizle tüm bağlantılarınızı kontrol edin. Endişelenme, bu projenin son büyük lehimleme parçası ve neredeyse bitti.

7. Adım: Esnek Sensörler ve İvmeölçer

Esnek Sensörler ve İvmeölçer
Esnek Sensörler ve İvmeölçer
Esnek Sensörler ve İvmeölçer
Esnek Sensörler ve İvmeölçer
Esnek Sensörler ve İvmeölçer
Esnek Sensörler ve İvmeölçer

Önce esnek sensörleri ele alacağız, ancak donanım söz konusu olduğunda ev gerginliğindesiniz. Aşağıdaki resimlerin ne yapılması gerektiğini yeterince açıkladığını düşünüyorum. Bir pimi +5v'ye, diğerini AVR'nin sağ tarafındaki üstten üçüncü veya dördüncü pime bağlayın (Bu projenin kalbindeki mikro denetleyici). Bunu ilk bir araya getirdiğimde, tek yapmam gerekenin bu olduğunu düşündüm, ancak AVR'nin esnek sensörleri okuması için, sensördeki pimden AVR'ye giden bir direnç koymanız gerektiği ortaya çıktı (Resimlere bakın # 10 ve 11). 10k kullandım. Bu, sensörün hassasiyetini pratik olarak ikiye katlayan AVR'ye giden voltajı böler. Şimdi ivmeölçer için. İvmeölçer iki pano arasındaki boşluktan biraz daha uzun olduğu ve bir gün onu değiştirmek isteyebileceğimiz için, onu panodan çıkarmak ve bağlamak için başlıklar kullanmaya karar verdim. Ara kartındaki 6 pime bağlanmak için dik açılı bir başlık kullanın. Şimdi başka bir dik açılı başlık alın ve kısa pimlere bir dişi başlık lehimleyin, ardından bunu tahtanızın sol alt kısmına lehimleyin. Yerine oturduğundan emin olmak için ivmeölçeri takın, fişini çekin ve ardından uygun pinleri Vcc (+5v) ve Gnd'ye bağlayın. Ardından X çıkışını pim 40'a ve Y'yi pim 39'a bağlayın. Şimdi IC'leri (Entegre devreler) eklemeye ve açmaya ayarlanmış olmalısınız.

26 Aralık 2009: İşaret parmağı esnek sensörünü monte etme şeklimin, sensörü pimlere bağlayan malzemenin bozulmasına neden olduğunu buldum. O zamandan beri yedek bir sensör satın aldım ve bu alanın bükülmenin çoğunu yapan parça olmasını önlemek için sensöre bir parça ince plastik sıcak yapıştırdım. Aşağıdaki fotoğrafta konumu etiketledim.

Adım 8: IC'leri ve İlk Programı Ekleme

IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme
IC'leri ve İlk Programı Ekleme

Bu, tüm sürecin en kolay adımı olasılıktır. Bir kez daha resim yardımcı olur. 3 numaralı resimde açıklandığı gibi çipleri doğru şekilde taktığınızdan emin olun. Önce gücü bağlı hiçbir şey olmadan bağlardım ve voltaj regülatöründeki ısı emicisine dokunurdum. Sıcaksa, bir şey kısa devre yapıyor ve geri dönüp bağlantılarınızı kontrol etmeniz gerekiyor. Bu şekilde ilerleyin, her seferinde bir çip ekleyerek, ısıyı hissedin ve her şey yerine oturduğunda, iki kartın birbirine güvenli bir şekilde sabitlenmesi için alt paneldeki somunları sıkın. Daha sonra AVR'yi programlayacaksınız. Bunu daha önce hiç yapmadıysanız, hızlı bir google araması çok sayıda sonuç verir. Yerinde olsaydım, AVR'mi bir devre tahtasına koyardım ve sıkı çalışmanız üzerinde denemeden önce orada programlardım. Esnek sensörlerden alınan bilgileri LED dizisine çıkarmak için basit bir program yazdım. Bu size devrenizde neyin çalışıp neyin çalışmadığı hakkında temel bir fikir verecektir. İşte kodun bir videosu……ve işte kod: #define F_CPU 800000UL#include #include #include void ADCINIT(){ ADMUX = 0b01100000; ADCSRA = 0b10000000;}int ana(){ int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT(); while(1) { ADMUX = 0b01100011; ADCSRA |= 0b01000000; while(bit_is_clear(ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _delay_ms(1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA |= 0b01000000; while(bit_is_clear(ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _delay_ms(1); PORTB = 0x00; }}

Adım 9: Devrenizi Bir Eldivene Takma

Devrenizi Bir Eldivene Takma
Devrenizi Bir Eldivene Takma
Devrenizi Bir Eldivene Takma
Devrenizi Bir Eldivene Takma
Devrenizi Bir Eldivene Takma
Devrenizi Bir Eldivene Takma

Devrenizi elinize bağlamanın birçok yolu olduğunu düşünüyorum ve bir süre bunu okuyucuya bırakacağımı düşündüm, ancak daha sonra talimatın bu kapatma olmadan tamamlanmayacağına karar verdim. Yerel bisiklet mağazama gittim ve bulabildiğim en ucuz tam parmak eldiveni aldım. Tam parmak gereklidir çünkü aksi halde esnek sensörleri çok iyi bağlayamazsınız. Daha sonra bir kumaş mağazasına gittim ve biraz polyester iplik ve yapışkanlı cırt aldım. Eldiveni giydim ve devreyi elime yerleştirdim. Konumlandırmanın bir kısmı rahatlıktır, diğer kısmı ise esnek sensörlerdir. İki parmağın ortasından aşağı inmelidirler. Ana kartı açık tutmak için üç çıkıntının etrafına ilmekler diktim (Bkz. Resim 2) ve ardından her esnek sensör parmağının (#3 ve 4) aşağı doğru 3/4'lük gevşek ilmekler yaptım. Eldiveninizi kapalı dikmediğinizden emin olun. Sonra pili tutmak için baş parmağımın yanına bir parça cırt cırt yapıştırdım. Test ettikten sonra, çubuk çok uzun sürmediği için bunu dikmenin gerçekten işe yaradığını buldum. Sonra 9v'nin etrafına bir cırt cırt cırt cırt koydum (Resim 5). Bu kurulum oldukça iyi çalışıyor gibi görünüyor. İlk ve son slaytlardaki resimlerde gördüğünüz gibi, şimdi esnek sensörler için manşonlar ekledim ama zamanınız yoksa, döngüler iyi olmalı. Projenizi bitirdiğinizde, lütfen bitmiş ürününüzün fotoğraflarını gönderin. aşağıda. Devreyi bağlamak için ne bulduğunu görmek isterim!

Adım 10: Gerçek Kod

Gerçek Kod
Gerçek Kod

Şimdiye kadar benimle birlikte olduğun için teşekkürler. Lütfen kodumun mükemmel olmadığını unutmayın. Sinyalin doğru şekilde çalışmasını sağlamak için biraz öğrenmenin gerekli olduğunu buldum. Sistemimi mükemmelleştirmeye çalışmaya devam edeceğim ve bu sayfayı yazdığımda yeni kodla güncel tutacağım. 26 Aralık 2009: YENİ KOD! Eski kodun olduğu yerde yayınlandı. Sadeleştirme için Jacob'a çok teşekkürler. Gerçekten iyi çalışıyor. İşte burada. Okuduğunuz için teşekkürler ve oy vermeyi unutmayın! #include #include #include // Kayıtlardaki bitleri ayarlar veya temizler #define setBit(sfr, bit) (sfr |= (1 << bit)) #define clearBit(sfr, bit) (sfr &= ~(1 << bit)) #define flipBit(sfr, bit) (sfr ^= (1 << bit)) #define FALSE 0 #define TRUE 1 #define matrixX(x) (PORTA = (x - 1) << 5) #define matrixGY(y) (PORTD = y) #define matrixRY(y) (PORTB = y) void gecikme(işaretsiz int gecikme) { unsigned int x = 0; while(x < gecikme) { x++; } } geçersiz initMatrix() { DDRD = 0xFF; // Yeşil kontrol DDRB = 0xFF; // Kırmızı kontrol DDRA = 0xE0; // Zemin kontrolü } void matrixRowDraw(char greenmask, char redmask, karakter sütunu) { matrixX(sütun); int ben = 0; for(i = 0; i < 8; i++) { matrixGY(yeşil maske & (1 << i)); matrixRY(kırmızı maske & (1 << i)); _delay_us(150); } matrixGY(0x00); matrisRY(0x00); } void matrixLeft() { matrixRowDraw(0x10, 0, 1); matrixRowDraw(0x20, 0, 2); matrixRowDraw(0x40, 0, 3); matrixRowDraw(0xFF, 0, 4); matrixRowDraw(0xFF, 0, 5); matrixRowDraw(0x40, 0, 6); matrixRowDraw(0x20, 0, 7); matrixRowDraw(0x10, 0, 8); } void matrixRight() { matrixRowDraw(0x18, 0, 1); matrixRowDraw(0x18, 0, 2); matrixRowDraw(0x18, 0, 3); matrixRowDraw(0x18, 0, 4); matrixRowDraw(0x99, 0, 5); matrixRowDraw(0x5A, 0, 6); matrixRowDraw(0x3C, 0, 7); matrixRowDraw(0x18, 0, 8); } geçersiz adcInit() { ADMUX = 0x60; ADCSRA = 0x80; } char adcGet(char chan) { ADMUX = 0x60 | chan; ADCSRA |= 0x40; while(bit_is_clear(ADCSRA, ADIF)); ADCH'yi döndür; } char adcAvg(char chan, char avgnum) // Yalnızca ortalama 256 örneğe kadar { int i = 0; imzasız int toplam = 0; for(i = 0; i < avgnum; i++) { toplam += adcGet(chan); } toplam/ortalama döndür; } int ana() { initMatrix(); adcInit(); while(1) { while(adcAvg(3, 50) > 0x45 & adcAvg(2, 50) > 0x70) // Esnek sensörlerin hassasiyetini belirlemek için buradaki onaltılık değerler, kullanıcı kurulumuna bağlı olarak değiştirilmelidir. { if(adcAvg(1, 50) > 0x4F) { matrixRight(); } if(adcAvg(1, 100) < 0x4F) { matrixLeft(50); } } } 0 döndür; } Chamberlains'e, ebeveynlerime ve yardımcı olan arkadaşlarıma özel teşekkürler.

Ev Yapımı Tatiller Yarışmasında Finalist

Önerilen: