Агуулгын хүснэгт:
- Алхам 1: эд анги
- Алхам 2: Самбарыг бэлтгэх
- Алхам 3: Резисторыг нэмнэ үү
- Алхам 4: Дээд талыг утсаар холбоно уу
- Алхам 5: Доод хэсгийг бөглөнө үү
- Алхам 6: Доод талыг утсаар холбоно уу
- Алхам 7: Flex мэдрэгч ба хурдасгуур
- Алхам 8: IC ба Эхний програмыг нэмж оруулах
- Алхам 9: Циркээ бээлийтэй холбох
- Алхам 10: Жинхэнэ код
Видео: Унадаг дугуйн дохионы гэрэл: 10 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:06
Энэхүү төслийн зорилго нь унадаг дугуйны бээлий дээр тохирох гэрлийг бий болгож, төлөвлөсөн эргэлтийн чиглэлийг зааж, шөнийн цагаар харагдах байдлыг нэмэгдүүлэх явдал юм. Энэ нь хөнгөн жинтэй, ашиглахад хялбар, одоо байгаа дохио өгөх хөдөлгөөнтэй уялдсан байх ёстой (дохионы аргыг хамгийн бага тохируулах (та товчлуур дарах шаардлагагүй, дохио өгөхөд л явдаг)). Энэ нь баярын гайхалтай бэлэг байх болно.
Тэмдэглэл: Энэ нь гагнах талаар өмнөх мэдлэг шаарддаг бөгөөд AVR -ийг хэрхэн програмчлах талаархи санаа нь том давуу тал болно. Үүнийг санаж, хөгжилтэй байж, тэвчээртэй байж, бүтээгдэхүүнийхээ зургийг доор оруулаарай! Энд видео байна: Энд миний зураг байна:
Алхам 1: эд анги
x1 ATmega 32L 8PU (www.digikey.com) x1 40 зүү DIP сокет (www.digikey.com) x1 8x8 LED массив (www.sparkfun.com) x1 74138 Де мультиплексор (www.digikey.com) x2 уян мэдрэгч (www.sparkfun.com) x (Олон) резистор 180 ом ба 10 к ом 2 PC самбар (www.sparkfun.com) x6 Стандартууд (www.sparkfun.com) ба тохирох эрэг (Орон нутгийн тоног төхөөрөмжийн дэлгүүр) x1 Таслах самбар дээрх хурдасгуур (www.sparkfun.com) x2 Толгой - Эр (www.sparkfun.com), Эмэгтэй (www.sparkfun.com), Зөв өнцөг (www.sparkfun.com) x1 LM7805 (www.digikey.com) x2 8 зүү залгуур (Би Radio Shack-д авсан) x1 9v зай x1 хөл дээр наалддаг velcrox1 Бүтэн хуруутай дугуй бээлий1 дамар полиэстер threadx1 Программист (надад ийм байгаа) x1 Утас хуулагч ба клипx1 мультиметр Зарим хэсгүүд:
Алхам 2: Самбарыг бэлтгэх
Нэгдүгээрт, эсэргүүцлийг нэмнэ үү. Тохирох өндрийг авахын тулд та хоёр боолт хийх хэрэгтэй болно. Зөрчилдөөнүүд нь SQUARE дэвсгэрээр хажуу талаасаа уруудаж байгаа эсэхийг шалгаарай. Ингэснээр та ёроолыг гагнуураар холбож, дээд хэсэгт нь энгийн дэвсгэртэй холбож, газартай холбож болно. Дараа нь LED массивыг нэмж гагнана. Энэ нь YS -ийг эсрэг тал руу харсан шиг хоёр хавтантай хавтангийн ирмэг хүртэл байх ёстой. Зүүн доод буланд байгаа зүү нь 1 -р зүү юм. (Зураг дээр үүнийг бас тэмдэглэсэн болно.) Дараа нь 8 зүү бүхий хоёр залгуурыг нэг нэгнийхээ дээр нэмж 16 зүү залгуур үүсгэнэ. Зүүн талд нь нэг зай үлдээж, дараа нь гагнах хэрэгтэй. Дараа нь эрэгтэй, эмэгтэй толгойг 10 ба 11 зүү болгон хуваана. Танд эмэгтэй толгойноос хоёр дахин их толгой хэрэгтэй болно. Зураг дээр үзүүлсэн шиг хүмүүсийг гагнана. Эр толгойн хувьд та тээглүүрээ солих хэрэгтэй бөгөөд ингэснээр хуванцарны хоёр тал дээр ижил хэмжээтэй байх ёстой. Юу хэлэхийг хүсч байгаагаа ойлгохын тулд зургийг харах нь илүү хялбар байдаг тул 6 -р дугаарыг үзээрэй. Би бахө ашигласан бөгөөд энэ нь маш сайн ажилласан. Хэрэв та эрэгтэй толгойнуудыг аваад 2 эмэгтэй толгойн хооронд байрлуулбал тэдгээр нь дээд ба доод самбарыг хооронд нь холбоход тохиромжтой хэмжээтэй болохыг харах болно.
Алхам 3: Резисторыг нэмнэ үү
Эдгээр резисторууд нь массивыг хамгаалахын тулд LED массив ба 74138 (Ground) хооронд ордог. Резистороос нэг залгуурыг дээд талаас нь нугалж, хоёр тугалган зэрэгцээ байрлуулна. 7, 9, 10, 11, 12, 13, 14, 15 -р зүү, гагнуур дээр бэхлээрэй. Хэрэв та резисторын чиглэлийг хоёр, гурав дахь зургуудаас харж байгаагаар сольж байвал хамгийн сайн ажилладаг болохыг олж мэдсэн.
Алхам 4: Дээд талыг утсаар холбоно уу
Энэ бол төслийн хамгийн урт алхам бөгөөд та гагнах дуртай гэдэгт итгэлтэй байна! Доорх схемийг дагаж, мультиметрийн тасралтгүй байдлыг шалгахаа мартуузай. Хэрэв та массивын өгөгдлийн хүснэгт болон 74138 -ийн схемийн дагуу хэрхэн яаж бидэнд ирснийг мэдэхийг хүсч байвал.
Алхам 5: Доод хэсгийг бөглөнө үү
Одоо үндсэн бүрэлдэхүүн хэсгүүдийг доод самбар дээр байрлуулах цаг болжээ. Эхлээд бид зүүн дээд талд нэг эгнээ зай үлдээхийн тулд зүүн дээд талд аль болох ойртох 40 зүү DIP залгуурыг хийх болно. (Зураг №1 -ийг үзнэ үү.) Үүнийг гагнах ба толгойнуудыг байрлуул. Үүнийг хийх хамгийн хялбар арга бол өөрчилсөн эрэгтэй толгойнуудыг ашиглан дээд талд байгаа хэсгүүдийг доод хэсэгт нь холбох явдал юм. Хэрэв та бүх зүйлийг зөв хийсэн бол залгуур дээрх баруун доод талын хажууд зүүн толгойн дээд талд байрлах гурван дээд гурван голтой байх ёстой. Энэ бол зүгээр. Бид зөвхөн баруун талд байгаа хамгийн доод талын тээглүүрийг ашигладаг бөгөөд таны харж байгаагаар бид үүнийг өөр талаас нь харсан. Одоо зурган дээр үзүүлсэн шиг хүчдэлийн зохицуулагчийг нэмнэ үү. Би металлын дулаан шингээгчийн нүхийг шураг, самар ашиглан хамгаалав. Дулаан шингээгч нь чипийг газардуулах өөр нэг арга бөгөөд самбар дээр бэхлэх нь нийтлэг холболттой нягт холбоо тогтоох боломжийг олгодог. Энэ нь доод ба дээд хэсэгт холбогдсон, учир нь хоёулаа металл зогсолттой холбогдсон байдаг. Гэсэн хэдий ч хэрэв та газардуулгын нийтлэг холболтыг ашиглаагүй бол дулаан шингээгчийг самбар дээр бүү боогтун, учир нь дулаан шингээгч нь газардуулгын үүрэг гүйцэтгэдэг тул та ямар нэг зүйлийг богино холболт хийх болно. Батерейны хавчаар дахь дараагийн утас. Улаан нь зүүн талын зүү рүү очдог (Дулаан шингээгч дээш доош, доошоо харсан), дунд нь хар, баруун талын зүү нь +5v үүсгэдэг. Одоо та цахилгаан тэжээлийг дээд хэсэгт холбож болно (Зураг № 2 -ийг үзнэ үү). Одоо програмист холбогчийн хувьд. Надад програмистдаа зориулж хийсэн адаптер байгаа боловч та дизайндаа 6 зүү (3x2) толгой оруулахыг хүсэх байх. Гэсэн хэдий ч хэрэв танд над шиг адаптер байгаа бол миний хийсэн зүйл энд байна. Би тэгш өнцөгт толгой ба эмэгтэй толгойг авч, тэдгээрийг гагнав (Зураг #3). Дараа нь би үүнийг 6 -р зүүтэй холбосон анхны зүүгээр самбар дээр хавсаргасан. Одоо та дахин тохируулахын тулд чипийг эсэргүүцэх хэлхээнд хүчдэл өгч, газардуулах хэрэгтэй. Би 9 -р зүүнээс 10 -р зүү хүртэл 10k эсэргүүцэл ажиллуулж, дараа нь 10 -оос +5в -ийн зүүг холбосон. Дараагийн зүү (11) нь нийтлэг холболт руу (Ground) ордог. Эцэст нь энэ алхамыг дуусгахын тулд 4 -р зургийг үзнэ үү (энэ нь өөрөө тайлбартай юм).
Алхам 6: Доод талыг утсаар холбоно уу
LED массивыг ажиллуулахын тулд 30 гаруй утас ажиллуулах ёстой үнэхээр хөгжилтэй алхамыг санаж байна уу? Одоо та үүнийг дахин хийх ёстой! Доод талд !. Энэ нь арай хурдан боловч миний хувьд тийм ч их биш юм. Дахин нэг удаа схемийг үзээд мултиметрээр бүх холболтоо шалгаарай. Санаа зоволтгүй, энэ бол төслийн сүүлчийн том гагнуурын хэсэг бөгөөд та бараг дуусч байна.
Алхам 7: Flex мэдрэгч ба хурдасгуур
Бид эхлээд уян хатан мэдрэгчтэй ажиллах болно, гэхдээ та тоног төхөөрөмжийн хувьд гэртээ байгаа. Доорх зургууд нь юу хийхээ маш сайн тайлбарласан гэж би бодож байна. Нэг зүүг +5v -ээр холбож, AVR -ийн баруун талд байгаа дээд талаас гурав дахь эсвэл дөрөв дэх зүү рүү холбоно уу (Энэ төслийн гол цөм дэх микроконтроллер). Би үүнийг анх тавихдаа миний хийх ёстой зүйл л гэж бодсон боловч AVR уян мэдрэгчийг уншихын тулд та AVR руу явж буй мэдрэгчийн зүү дээрх резисторыг байрлуулах шаардлагатай болсон нь харагдаж байна (Зураг үзнэ үү. 10 ба 11). Би 10к ашигласан. Энэ нь AVR руу хүчдэлийг хувааж, мэдрэгчийн мэдрэмжийг бараг хоёр дахин нэмэгдүүлдэг. Одоо хурдасгуурын хувьд. Акселерометр нь хоёр хавтангийн хоорондох зайнаас арай өндөр үстэй тул бид үүнийг хэзээ нэгэн цагт солихыг хүсч магадгүй тул толгойн самбар ашиглан самбараас гаргаж аваад холбохоор шийдлээ. Таслах самбар дээрх 6 голтой холбогдохын тулд тэгш өнцөгт толгой ашиглана уу. Одоо өөр нэг тэгш өнцөгт толгой аваад эмэгтэй толгойг богино зүү рүү гагнаж, дараа нь самбарынхаа зүүн доод хэсэгт гагнана. Тохирох эсэхийг шалгахын тулд акселерометрийг залгаж, салгаад дараа нь зохих тээглүүрийг Vcc (+5v) ба Gnd руу холбоно уу. Дараа нь X гаралтыг 40 -р, Y -ийг 39 -р зүү рүү холбоно уу. Одоо та IC -ийг (нэгдсэн хэлхээ) нэмж асаахаар тохируулах хэрэгтэй.
2009 оны 12 -р сарын 26: Долоовор хурууны уян мэдрэгчийг суурилуулах арга нь мэдрэгчийг тээглүүртэй холбосон материалын эвдрэлд хүргэж болохыг би олж мэдсэн. Би тэр үеэс эхлэн мэдрэгч худалдаж аваад нимгэн хуванцар хэсгийг мэдрэгч рүү халуунаар наасан бөгөөд энэ хэсэг нь гулзайлтын ихэнх хэсгийг хийхгүй байх болно. Би доорх зурган дээрх байршлыг тэмдэглэсэн.
Алхам 8: IC ба Эхний програмыг нэмж оруулах
Энэ бол бүх үйл явцын хамгийн хялбар алхам юм. Дахин нэг удаа зураг тусална. Зураг 3 -т тайлбарласны дагуу та чипсийг зөв байрлуулсан эсэхийг шалгаарай. Би эхлээд хүчийг холболтгүй холбож, хүчдэлийн зохицуулагч дээрх дулаан шингээгч дээр хүрнэ. Хэрэв халуун байвал ямар нэгэн зүйл дутагдаж байна, та буцаж очоод холболтоо шалгах хэрэгтэй. Ийм байдлаар үргэлжлүүлээрэй, нэг чип нэмж, дулааныг мэдэрч, бүх зүйл байрандаа орсны дараа доод самбар дээрх самарыг чангалж, хоёр хавтанг хооронд нь найдвартай бэхлээрэй. Дараа нь та AVR програмчлах болно. Хэрэв та өмнө нь хэзээ ч ийм зүйл хийж байгаагүй бол google -ээс хурдан хайх нь маш олон үр дүнг өгдөг. Хэрэв би таны оронд байсан бол би AVR -ээ талхны тавцан дээр тавьж, хичээнгүйлэн хичээхээсээ өмнө тэнд програм байрлуулах байсан. Би уян хатан мэдрэгчээс хүлээн авсан мэдээллийг LED массив руу гаргах энгийн програм бичсэн. Энэ нь таны хэлхээнд юу байгаа болон ажиллахгүй байгаа талаар үндсэн ойлголтыг өгөх ёстой. Энд кодын үйл ажиллагаа явуулж байгаа видео байна ……. энд код байна: #define F_CPU 800000UL #include #include #include void ADCINIT () { ADMUX = 0b01100000; ADCSRA = 0b10000000;} int main () {int a; a = 0; int b; b = 0; DDRD = 0xFF; DDRB = 0xFF; DDRA = 0b11100000; ADCINIT (); байхад (1) {ADMUX = 0b01100011; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b00000000; PORTD = ADCH; _хойшлох_ms (1); PORTD = 0x00; ADMUX = 0b01100010; ADCSRA | = 0b01000000; while (bit_is_clear (ADCSRA, ADIF)); PORTA = 0b11100000; PORTB = ADCH; _хойшлох_ms (1); PORTB = 0x00; }}
Алхам 9: Циркээ бээлийтэй холбох
Таны хэлхээг танд холбох олон арга бий гэж би бодож байна, үүнийг уншигчдад үлдээе гэж бодсон боловч үүнийг хаахгүйгээр зааварчилгаа дуусахгүй гэж би шийдсэн. миний олж чадах хамгийн хямд бүтэн хуруутай бээлийг авлаа. Бүрэн хуруу хэрэгтэй, учир нь та уян мэдрэгчийг сайн холбож чадахгүй. Дараа нь би даавууны дэлгүүрээр орж, полиэфир утас, наалддаг хилэн авав. Би бээлийг өмсөөд хэлхээгээ гар дээрээ тавив. Байршлын нэг хэсэг нь тайтгарал, нөгөө хэсэг нь уян хатан мэдрэгч юм. Тэд хоёр хурууныхаа дундуур явах ёстой. Би үндсэн самбарыг барихын тулд гурван зогсоолын эргэн тойронд гогцоо оёсон (Зураг №2 -ийг үзнэ үү), дараа нь уян мэдрэгчийн хуруу бүрээс 3/4 хүртэл сул гогцоо хийв (№3 ба 4). Бээлийгээ битүү оёхгүй байх хэрэгтэй. Дараа нь би батерейгаа барихын тулд эрхий хурууныхаа хажуу талд нэг ширхэг хилэн наав. Саваа удаан үргэлжлэхгүй тул үүнийг оёх нь үнэхээр үр дүнтэй болохыг туршилтын дараа олж мэдсэн. Дараа нь би 9v -ийн эргэн тойронд velcro гогцоо тавив (Зураг 5). Энэ тохиргоо нь маш сайн ажилладаг юм шиг байна. Эхний болон сүүлчийн слайд дээрх зургуудаас харахад би уян мэдрэгчийг ханцуйвчтай болгосон боловч хэрэв танд цаг байхгүй бол гогцоонууд сайн ажиллах ёстой. доор Та хэлхээг хавсаргахын тулд юу хийснийг харахыг хүсч байна!
Алхам 10: Жинхэнэ код
Өдийг хүртэл надтай хамт байсанд баярлалаа. Миний код төгс биш гэдгийг санаарай. Дохиог зөв ажиллуулахын тулд бага зэрэг суралцах шаардлагатай гэдгийг олж мэдсэн. Би системээ төгс төгөлдөржүүлэхийг үргэлжлүүлэн хичээх болно, энэ хуудсыг бичихэд шинэ кодоор шинэчлэгдэх болно. 2009 оны 12 -р сарын 26: ШИНЭ КОД! Хуучин код хаана байсныг байршуулсан болно. Үүнийг хялбаршуулсан Жейкобт маш их баярлалаа. Энэ үнэхээр сайн ажилладаг. Энэ байна. Уншсанд баярлалаа, саналаа өгөхөө бүү мартаарай! #include #include #include // Регистрт битүүдийг тохируулах эсвэл цэвэрлэх #setBit (sfr, bit) (sfr | = (1 << bit)) #define clearBit (sfr, bit) (sfr & = ~ (1 <<) тодорхойлох bit)) #flipBit (sfr, bit) (sfr ^= (1 << bit)) #FALSE 0 -ийг тодорхойлох ҮНЭН 1 #матрицыг тодорхойлох x (x) (PORTA = (x - 1) << 5) #тодорхойлох matrixGY (y) (PORTD = y) #matrixRY (y) (PORTB = y) хүчингүй саатал (unsigned int delay) {unsigned int x = 0; while (x <саатал) {x ++; }} хүчингүй initMatrix () {DDRD = 0xFF; // Ногоон хяналт DDRB = 0xFF; // Улаан хяналт DDRA = 0xE0; // Газрын хяналт} void matrixRowDraw (char greenmask, char redmask, char column) {matrixX (багана); int i = 0; for (i = 0; i <8; i ++) {matrixGY (greenmask & (1 << i)); matrixRY (улаан маск & (1 << i)); _дэйл_ус (150); } matrixGY (0x00); matrixRY (0x00); } хоосон 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); } хоосон 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); } хүчингүй adcInit () {ADMUX = 0x60; ADCSRA = 0x80; } char adcGet (char chan) {ADMUX = 0x60 | чан; ADCSRA | = 0x40; while (bit_is_clear (ADCSRA, ADIF)); ADCH -ийг буцаах; } char adcAvg (char chan, char avgnum) // Зөвхөн дунджаар 256 хүртэл дээж байна {int i = 0; unsigned int total = 0; for (i = 0; i <avgnum; i ++) {total+= adcGet (chan); } return total/avgnum; } int main () {initMatrix (); adcInit (); while (1) {while (adcAvg (3, 50)> 0x45 & adcAvg (2, 50)> 0x70) // Флекс мэдрэгчийн мэдрэмтгий байдлыг тодорхойлохын тулд энд байгаа зургаан өнцөгтийн утгыг хэрэглэгчдийн тохиргооноос хамааран өөрчлөх ёстой. {if (adcAvg (1, 50)> 0x4F) {matrixRight (); } if (adcAvg (1, 100) <0x4F) {matrixLeft (50); }}} буцаах 0; } Тусалж дэмжсэн Чамберлэйн, эцэг эх, найз нөхөддөө онцгой талархал илэрхийлье.
Гэрийн амралтын тэмцээний эцсийн оролцогч
Зөвлөмж болгож буй:
Унадаг дугуйн гэрэл: 7 алхам
Унадаг дугуйн гэрэл: Энэхүү төсөлд би шөнийн цагаар таны замыг гэрэлтүүлж, хаашаа явахаа зааж өгөх боломжтой унадаг дугуйн гэрлийг хэрхэн яаж хийхийг харуулах болно
Унадаг дугуйн гэрэл: 5 алхам
Унадаг дугуйны гэрэл: Төслийн зорилго: Унадаг дугуйны урд болон хойд гэрэлтүүлгийн төхөөрөмжийг зохион бүтээх, бүрдүүлэх: Арын хэсэгт гэрэл ба чиглэл заагч (анивчдаг) байгаа. Төслийн хязгаарлалт Нэг цахилгаан хангамж
Тусгай гэрлийн самбар бүхий ПХБ ашиглан маш тод унадаг дугуйн гэрэл: 8 алхам (зурагтай)
Тусгай гэрлийн самбар бүхий ПХБ -ийг ашиглан маш тод унадаг дугуйн гэрэл: Хэрэв та дугуйтай бол дугуй болон биендээ ямар эвгүй нүх гарч болохыг та мэдэх болно. Надад дугуйгаа үлээх хангалттай байсан тул дугуйны гэрэл болгон ашиглахаар өөрийн удирдлагатай самбарыг зохион бүтээхээр шийдлээ. E болоход чиглэсэн нэг
Унадаг дугуйн гэрэл: 8 алхам (зурагтай)
Унадаг дугуйны гэрэл: Олон удаа. Би шөнө унадаг дугуй ашигласан ч гэрэлгүй байна! Тиймээс би цөөхөн бүрэлдэхүүн хэсэгтэй, маш хялбархан анивчдаг хэлхээг хийхээр шийдсэн бөгөөд гэрлийг суулгасны дараа үл үзэгдэгч, суудлын арын хэсгийг санал болгож байна
Унадаг дугуйн арын гэрэл: 9 алхам (зурагтай)
Унадаг дугуйн арын гэрэл: Нуулгүй хэлье. Арын гэрэл нь уйтгартай байдаг. Хамгийн сайн нь тэд нүдээ анивчдаг - над руу хар! Би нүдээ анив - woohoo 'байнга. Мөн тэд үргэлж улаан өнгөтэй байдаг. Маш бүтээлч. Бид үүнээс илүү сайн зүйлийг хийж чадна, магадгүй тийм ч их биш, гэхдээ зүгээр л "анивчих" -аас илүү дээр юм. Би байсан юм