Мазмуну:

LED лампасын көтөрүү: 6 кадам (сүрөттөр менен)
LED лампасын көтөрүү: 6 кадам (сүрөттөр менен)

Video: LED лампасын көтөрүү: 6 кадам (сүрөттөр менен)

Video: LED лампасын көтөрүү: 6 кадам (сүрөттөр менен)
Video: Аял кантсе, эркекти тошокто кандырат? 2024, Ноябрь
Anonim
Жарык берүүчү LED лампа
Жарык берүүчү LED лампа

Сиз магнит менен ойноп, аларды левитациялоого аракет кылдыңыз беле? Мен ишенем, көбүбүздө бар, жана мүмкүн көрүнгөнү менен, эгер өтө кылдаттык менен жайгаштырылган болсо, бир аз убакыттан кийин муну жасоо мүмкүн эместигин түшүнөсүз. Бул Эрншоунун теоремасынан улам, ал ферромагниттик материалдар менен гана объектти көтөрүү мүмкүн эместигин далилдейт. Бирок, бизде чечүүчү жол бар. Магнитти колдонуунун ордуна, биз чыракты tensegrity деп аталган иллюзияны колдонуп, лампаны калкып бараткандай кылып жасайбыз!

1 -кадам: Берилиштер

Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар
Жабдуулар

Бул чыракты жасоо үчүн керектүү буюмдар бар:

Электроника:

  • Arduino Nano Board
  • Өткөргүч зымдар
  • 24 LED шакеги
  • 9V батарея
  • 9V батарея туташтыргычы

Декоративдик материалдар:

  • Картон (же жыгач, лазердик кесүүнү колдонсо)
  • Балык кармоочу линия (ким болбосун иштеши керек жана мүмкүн болушунча тунук тандап алууга аракет кылыңыз)

Башкалар:

  • Резина тобу
  • Ысык желим мылтык
  • Ысык клей таякчалары
  • Лагердик жабдыктар
  • Velcro

2 -кадам: Электрониканы чогултуу

Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула
Электрониканы чогулткула

Алгач биз электрондук тетиктерди чогултушубуз керек. Бул жөнөкөй жана бир нече кадам менен жасалышы мүмкүн:

  1. 9V батарея туташтыргычын Arduino Nano тактасына кошуңуз. Бул бир аз кыйын болушу мүмкүн, бирок бул долбоордун ийгилигинин маанилүү бөлүгү, анткени тактага жетиштүү кубат берилбесе, ал туура иштебей калат. Кызыл зымды VIN пинге, ал эми кара зымды тактадагы GND казыктарынын бирине туташтырыңыз.
  2. LED шакегинин арткы жагына казыктарды кошуңуз. Бул 24 LED шакектеринде, адатта, ширетүүчү 4 жер бар, бирок бул долбоордо биз 3тү гана колдонобуз: DI, VCC жана GND. DO бөлүгү бул долбоордо колдонулбайт. Аны шакекке каратып сым менен ээрчиңиз, анткени шакектин сырты кагаздын артына катылат, бирок секиргич зымдар туура эмес жакка ширетилген болсо, анда ал чырактан чыгып кетет.
  3. Зымдарды Наного туташтырыңыз. DI, тиешелүүлүгүнө жараша, LED шакеги менен Arduino Nano D5 пинине, VVC 5V менен GND, GND менен туташышы керек.

А сиз электроника менен бүттүңүз!

3 -кадам: Tensegrity айкели

Tensegrity айкели
Tensegrity айкели
Tensegrity айкели
Tensegrity айкели
Tensegrity айкели
Tensegrity айкели

Бул долбоор үчүн биз tensegrity колдонуп жатабыз, бул бир нерсени кармап туруу үчүн чыңалууну колдонуу акциясын сүрөттөө үчүн колдонулат. Эгерде сиз жөн гана скульптураны түзгүңүз келсе, анда лазердик кесүү үчүн жасалган Adobe Illustrator файлын жүктөп алсаңыз болот же сүрөттү карап, өзүңүз картон кылып кесип аласыз.

Эгер бул кантип иштээрин билгиңиз келсе, анда төмөндө окууну улантыңыз!

Бул чыңалуу скульптурасы балык кармоочу линияны колдонуп, аны жөнөкөйлөтүүчү нерсеге окшоштурат. Аннотацияланган сүрөттө 6 саптын ар биринин позициясы өзүнчө түстөр менен белгиленген. Узунураак кызылдар үстү жыгылып калуудан сактайт. Буларды "структуралык линиялар" деп атайлы. Андан кийин бизде кызыл сызыктар бар, алар кызыл сызыктан бир топ кыска, үстүңкү бөлүктү жогору кармайбыз. Буларды "левитация линиялары" деп атайлы.

Биздин чыңалуу скульптурасында левитациялык сызыктар структураны кармап турат. Жогорку бөлүк тартылуу күчүнөн улам ылдый жылууну каалап жаткандыктан, левитация линиялары структураны өйдө кармашы керек. Алар тиркелгенде, структуранын үстүңкү бөлүгүн өйдө кармап, абдан чыңалууда. Булардын бирөө скульптуранын төрт тарабынын экөөсүндө бар, бирок теория боюнча бирөө структураны кармап туруу үчүн жетиштүү.

Бирок, эгер сиз жөн гана левитациялык линияларды тиркөөгө аракет кылсаңыз, анда ал оңой эле кулап түшөрүн байкайсыз. Бул үстүнкү стабилдүү структураны камсыз кылуу үчүн жетишсиз болгон эки гана чекит менен бекитилгендиктен. Кыязды элестетиңиз. Ал бир сызык менен тиркелет, бул анын эркин жүрүүсүнө мүмкүндүк берет. Биздин учурда, бизде жогорку чекит эки чекиттен тиркелет, ал эми эки чекит сызыкты түзөт, андыктан биздин чыңалуу скульптурабыздын чокусу, левитациялык сызыктар менен, жөн гана көрүүчү болуп саналат.

Бул жерде структуралык линиялар ойнойт. Бул линиялар да чыңалган жана алар структураны абалында кармап турушат. Эгерде структуранын чокусу кандайдыр бир жакка ооп кетсе, башка багытта структуралык сызыктар структураны бекем кармап, структуранын туруктуу болушуна себеп болот.

Бул сыйкырдуу көрүнгөнү менен, чындыгында бүт скульптуранын артында көптөгөн себептер бар!

4 -кадам: Структураны чогултуу

Структураны чогултуу
Структураны чогултуу
Структураны чогултуу
Структураны чогултуу
Структураны чогултуу
Структураны чогултуу
Структураны чогултуу
Структураны чогултуу

Эми чырак ага тиркелиши үчүн структураны чогултуу убактысы келди. Бул бөлүк салыштырмалуу оңой:

  1. Негизги бөлүктөрдү табыңыз. Алар дайыма эң чоң төрт бурчтуктар.
  2. "Кол" бөлүктөрүн кийиңиз. Капталынан карасаңыз, алардын баары бир багытта экенине ынаныңыз. Бул tensegrity структурасын каалагандай чогултуу мүмкүнчүлүгүн камсыз кылат.
  3. Каптал бөлүктөрүнүн бирин кой. Бул бизге жабыштыруу учурунда колдун бөлүгү өтө алыс эмес экенине ишенүүгө мүмкүндүк берет жана структуранын бүт базасын тегиздөө мүмкүн экенине ынанат.
  4. Калган структураны чогултуп алыңыз. Бөлүктөр так өз ордуна келиши керек, жана бир аз жабыштыруу менен сиз жогоруда көрсөтүлгөн нерсеге жетесиз.

Муну аткаргандан кийин, балык линияларын структураларга туташтыруу мезгили келди.

  1. Ысык стейкти колдонуп, структуранын бир бөлүгүнүн ар бир бурчуна төрт балык линиясын чаптаңыз. Алардын баарынын узундугу бирдей экенин текшериңиз.
  2. Балык кармоочу линияны башка структуранын тиешелүү бурчтарына чаптаңыз. Эгерде бүт структура жайылып жатса, аны клей менен жабуу оңой деп таптым, ошондуктан аны колум менен кармап туруунун кажети жок болчу.
  3. "Левитация линияларын" ордуна чаптаңыз. Желим муздагандан кийин, үстүңкү жана астыңкы бөлүктөрдү мүмкүн болушунча түртүп, структуранын колдорун бириктирип, акыркы эки балык линиясын жабыштырыңыз.

Эгер сиз буга чейин жетишкен болсоңуз, анда жакшы иш! Сиз жумуштун көбүн аткардыңыз:)

Эми биз лампаны чогултушубуз керек. Бул бөлүк чынында оңой:

  1. LED шакегин тегеректелген "дөңгөлөк" бөлүгүнө эки тешиги ортосуна чаптаңыз. Өткөргүч зымдардын пластикалык таянычы толугу менен сырткы тегеректин ичинде экендигин текшериңиз.
  2. Эки тегерек бөлүктү жабыштырыңыз. Биринчи "дөңгөлөк" бөлүгүн ортосуна эки тешиги бар толук тегерек менен чаптаңыз. Булар биздин лампанын чокусун түзөт.
  3. Батарейканы акыркы тик бурчтуу бөлүккө байлаңыз. Бул бөлүктө 9V батарейкасы үчүн жасалган тешик бар жана аны Arduino Nano тактасы менен бирге резина боолор менен байлап коюңуз. Бул жерде клей колдонбоону унутпаңыз: акыры батарея өлөт жана колдонууга эч нерсеңиз болбойт!
  4. B5 кагазын алып, лампанын алкагына чаптаңыз. Бул чырактын көлөкөсүндөй иштейт, ошондой эле көрүүчүлөргө лампадагы такта менен батареяны көрүүгө тоскоол болот.
  5. Сиз чырактын түбүнөн бир нерсе илип койсоңуз болот. Менин бир нече сүрөттөрүмдө люстра эффектин түзүү үчүн кыска, кесилген саман бөлүктөрүн колдонууга аракет кылдым, бирок кийинчерээк аны менин сүрөттөрүмө тоскоолдук кылгандыктан алып салдым. Сиз бул жерге койгонуңуз менен чыгармачыл боло аласыз!
  6. Лампанын үстүнкү дөңгөлөктүн акыркы бөлүгүнө чаптаңыз. Дагы бир жолу текшериңиз, балык линиясынын бардык бөлүктөрү бирдей узундукта.
  7. Экинчи дөңгөлөктүн чокусуна жана структуранын үстүңкү бөлүгүнүн түбүнө велкро чаптаңыз. Бул лампаны көтөрүп турганда кармап турат. Velcro колдонуу аны түшүрүп, керек болгондо жаңы батареяны берүүгө мүмкүнчүлүк берет.

5 -кадам: Коддоо

Coding!
Coding!
Coding!
Coding!

Эми бул жерде кызыктуу жери: чырактын кандай болушун каалаганыңызды коддоо! Мен бул жерде айлануучу RGB жарыгын колдондум, бирок өзүңүз каалаган нерсени түзө аласыз жана аны менен чыгармачыл болуңуз!

Мен коддун ар бир бөлүгүн акыркы көрсөтмөмдө өз алдынча түшүндүргөнүмдү билем, бирок бул жолу коддогу комментарийлерге бардык түшүндүрмөлөрдү киргиздим. Сиз кодду изилдеп жатканда, мен жаратканымды унутпаңыз: айлануучу асан -үсөн чырагы. Эгерде бул түшүндүрмө жетиштүү деңгээлде болбосо (башка кантип түшүндүрүш керек экенин билбейм), сиз ар дайым башында камтылган видеону кайра карай аласыз. Сиз төмөндөгү кодду көрө аласыз, же төмөндөгү Arduino Create веб -сайтынын шилтемесинен жүктөп алсаңыз болот!

Шилтеме түзүү Arduino

(Ошондой эле, эгерде жетиштүү адамдар кодду кененирээк түшүндүрүп берүүнү суранышса, балким мен бул боюнча бир нерсе кылармын …)

Levitating_Lamp.ino

#кошуу// LED шакегин колдонуу үчүн китепкананы камтыйт
#definePIN5 // LED шакеги туташкан пин
#defineNumPixels24 // шакекчедеги пикселдердин саны. 8 светодиоддуу шакектер бар, же сиз неопиксель менен LED тилкесин колдонсоңуз болот. Жөн гана канча LED бар экенин көрсөтүүнү унутпаңыз!
Adafruit_NeoPixel пикселдери (NumPixels, PIN, NEO_GRB + NEO_KHZ800); // пиксел деп аталган жарык объектини жарыялоо. Код бул сыяктуу LED шакегин билдирет.
#defineDELAYVAL20 // бул такта жарыктар айлангыча канча убакыт күтүү керектигин чечет. Эгер муну кичирээк кылсаңыз, анда асан -үсөн түстөрү дагы батыраак айланат.
int r [NumPixels]; // бул бардык светодиоддордун кызыл мааниси
int g [NumPixels]; // бул бардык светодиоддор үчүн жашыл баалуулук
int b [NumPixels]; // бул бардык светодиоддор үчүн көк мааниси
constint diff = 31; // бул жарыктыктын маанисин белгилейт. Максималдуу саны 31, бирок 0 <x <32 иштей турган х саны.
/////// Чырактардын баштапкы абалын коюңуз ////////
voidsetLights () {
int R = 8*айырма, G = 0, B = 0; // бардык светодиоддордун баштапкы абалы
үчүн (int i = 0; i <8; i ++, R- = айырма, G+= айырма) {
r = R;
g = G;
b = 0;
}
for (int i = 0; i <8; i ++, G- = diff, B+= diff) {
g [i+8] = G;
b [i+8] = B;
r [i+8] = 0;
}
үчүн (int i = 0; i <8; i ++, B- = айырма, R+= айырма) {
r [i+16] = R;
b [i+16] = B;
g [i+16] = 0;
}
}
/////// Светодиоддордун баштапкы абалын орнотууну бүтүрүү ////////
voidsetup () {
piksel.begin (); // пиксел объектисин күйгүзүү
setLights (); // диоддордун баштапкы абалын коюңуз
}
int idx = 0; // LED айлануунун баштапкы абалын коюңуз
voidloop () {
/////// диоддордун ар биринин түсүн коюңуз ////////
for (int i = 0; i <numpixels; i ++) = "" {
pixel.setPixelColor (i, piksel. Color (r [(i+idx)%24], g [(i+idx)%24], b [(i+idx)%24]));
piksel.show ();
}
/////// диоддордун түсүн орнотууну бүтүрүү ////////
кечиктирүү (DELAYVAL); // DELAYVAL миллисекунд күт
idx ++; // диоддордун айлануусун бирден жылдырыңыз
idx%= 24; // 24 маанини мод. Бул idxтин маанисин 0 менен 23 ортосунда чектейт
}

GitHub тарабынан ❤ уюштурулган rawLevitating_Lamp.ino караңыз

6 -кадам: Толук

Толук!
Толук!
Толук!
Толук!
Толук!
Толук!

Эми чыракты күйгүзүү, велкрону структурага жабыштыруу жана жарыкты өчүрүү убактысы келди: бул шоу. Каалаган өзгөртүүлөрдү киргизүүдөн тартынбаңыз жана бул долбоор менен жаратканыңызды дүйнө менен бөлүшүңүз!

Ийгилик жана изилдөөнү улантыңыз!

Сунушталууда: