Բովանդակություն:
- Քայլ 1: Բաղադրությունը
- Քայլ 2: Սարքավորումներ
- Քայլ 3: Softwareրագրակազմ
- Քայլ 4: Մոդելավորում և 3D տպում
- Քայլ 5: Հավաքում
- Քայլ 6: Վերջնական փորձարկում
Video: TfCD - Plus: 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Plus- ը նվազագույն խելացի լույս է, որը ոչ միայն տեղեկացնում է մարդկանց եղանակային պայմանների մասին, այլև օգտվողների համար ստեղծում է հաճելի փորձ `լույսի գույնի փոփոխությունների արդյունքում` պտտելով գումարածը: Նրա ձևը հնարավորություն է տալիս օգտվողին համատեղել մի քանի գումարած մոդուլներ կամ ստեղծել հսկայական լամպ `ընկերների տեղադրած բազմաթիվ գումարած կտորներով: Լուսավորության այս նախագիծը TU Delft համալսարանի Advanced Concept Design (ACD) դասընթացի մի մասն է, և տեխնոլոգիան, որն իրականացվում է ՝ օգտագործելով TfCD գործնականը որպես ոգեշնչման աղբյուր:
Քայլ 1: Բաղադրությունը
1 Ազնվամորի pi զրո w
1 ակոս Adxl345 արագացուցիչ
4 LED Ws2812b
1 Նախատիպերի տախտակ
3D տպագիր և լազերային կտրված պատյաններ
Քայլ 2: Սարքավորումներ
LED- ները
Neopixel LED- ները ունեն 4 կապում անուններ ՝ +5V, GND, Data In և Data out:
- Ազնվամորու pi- ի 4 -րդ կապը միացված է բոլոր LED- ների +5V- ին
- Ազնվամորու pi- ի 6 -րդ կապը միացված է բոլոր LEDS- ի GND- ին
- Տվյալներ Առաջին LED- ի կապում միացված է ազնվամորու pi- ի 12 -րդ կապին:
- Առաջին LED- ի Data out pin- ը միացված է երկրորդի Data- ին և այլն:
Խնդրում ենք ավելի լավ հասկանալու համար դիտեք էլեկտրագծերի դիագրամը:
Արագացուցիչ
Արագացուցիչի հաշվիչն ունի 4 կապ ՝ VCC, GND, SDA և SCL:
- Ազնվամորու pi- ի 1 -ին կապը միացված է VCC- ին:
- Ազնվամորու pi- ի 3 -րդ կապը միացված է SCL- ին:
- Ազնվամորու pi- ի 5 -րդ կապը միացված է SDA- ին:
- Ազնվամորու pi- ի 9 -րդ կապը միացված է GND- ին:
Կառուցել
- Հարմարության համար LED- ները կարող են զոդվել նախատիպային տախտակի վրա: Մենք որոշեցինք տախտակը կտրել պլյուսի տեսքով, որպեսզի այն լավ տեղավորվի 3D նախագծված պատյանում:
- Տախտակի վրա LED- ները միացնելուց հետո մենք կպցնում ենք թռիչքային լարերը, որպեսզի կապերը կազմվեն 0.1 դյույմանոց գլխիկի և LED- ների միջև: Վերնագրի միակցիչն օգտագործվում է ազնվամորու pi- ն անջատելու և նորից օգտագործելու համար ապագա ծրագրի համար:
Քայլ 3: Softwareրագրակազմ
Raspberry Pi օպերացիոն համակարգի պատկեր
Մենք նախ պետք է գործարկենք Raspberry Pi- ն: Դա անելու համար մենք հետևում ենք հետևյալ քայլերին.
- Ներբեռնեք Raspbian- ի վերջին տարբերակը այստեղից: Դուք կարող եք այն ներբեռնել ուղղակիորեն կամ հեղեղատարների միջոցով: Ձեզ անհրաժեշտ կլինի պատկերի գրող `ներբեռնված ՕՀ -ն SD քարտի մեջ գրելու համար (միկրո SD քարտ` Raspberry Pi B+ մոդելի և Raspberry Pi Zero- ի դեպքում):
- Այսպիսով, ներբեռնեք «win32 սկավառակի պատկերը» այստեղից: Տեղադրեք SD քարտը նոութբուքի/համակարգչի մեջ և գործարկեք պատկերի գրողը: Բացելուց հետո թերթեք և ընտրեք ներբեռնված Raspbian պատկերի ֆայլը: Ընտրեք ճիշտ սարքը, այն SD քարտը ներկայացնող կրիչն է: Եթե ընտրված սկավառակը (կամ սարքը) տարբերվում է SD քարտից, ապա ընտրված մյուս սկավառակը վնասված կլինի: Ուրեմն զգույշ եղեք:
- Դրանից հետո կտտացրեք «Գրեք» կոճակին ներքևում: Որպես օրինակ ՝ տես ստորև բերված պատկերը, որտեղ SD քարտի (կամ միկրո SD) կրիչը ներկայացված է «G: \» տառով: ՕՀ -ն այժմ պատրաստ է սովորական օգտագործման համար: Այնուամենայնիվ, այս ձեռնարկում մենք պատրաստվում ենք օգտագործել Raspberry Pi- ն անգլուխ ռեժիմում: Սա նշանակում է ՝ առանց դրան կցված ֆիզիկական մոնիտորի և ստեղնաշարի:
- SD քարտը այրելուց հետո մի՛ հանեք այն ձեր համակարգչից: SD քարտում գտնվող config.txt ֆայլը բացելու համար օգտագործեք տեքստային խմբագիր: Գնացեք ներքև և ավելացրեք dtoverlay = dwc2 որպես վերջին տող.
- Պահպանեք config.txt ֆայլը որպես պարզ տեքստ, այնուհետև բացեք cmdline.txt rootwait- ից հետո (առաջին տողի վերջին բառը) ավելացրեք բացատ, այնուհետև modules-load = dwc2, g_ether:
- Այժմ հեռացրեք SD քարտը ձեր համակարգչից և տեղադրեք այն Raspberry Pi- ի մեջ և միացրեք այն ձեր համակարգչին ՝ օգտագործելով USB մալուխ: ՕՀ -ի գործարկումից հետո դուք պետք է տեսնեք Ethernet Gadget- ի նոր սարքի հայտնաբերումը:
- Դուք կարող եք օգտագործել ssh [email protected] ՝ տախտակին միանալու և այն հեռակա կարգով կառավարելու համար: Գլխազերծ գործողության վերաբերյալ ավելի մանրամասն հրահանգների համար անցեք այստեղ:
Rpi_ws281x գրադարանը այն բանալին է, որը հնարավոր է դարձնում NeoPixels- ի օգտագործումը Raspberry Pi- ով:
Նախ պետք է տեղադրել գրադարանը կազմելու համար անհրաժեշտ գործիքները: Ձեր Raspberry Pi գործարկման մեջ. Sudo apt-get update && sudo apt-get install build-important python-dev git scons swig Այժմ գործարկեք այս հրամանները ՝ գրադարանը ներբեռնելու և կազմելու համար.
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Վերջապես, գրադարանը հաջողությամբ կազմվելուց հետո, մենք կարող ենք տեղադրել այն python- ի համար ՝ օգտագործելով.
cd python && sudo python setup.py install Այժմ գալիս է python կոդը, որը վարում է LED- ները: Կոդը բավականին պարզ է ՝ որոշ մեկնաբանություններով, որոնք կօգնեն ձեզ: neopixel ներմուծումից * # NeoPixel կոնֆիգուրացիաներ LED_PIN = 18 # Raspberry Pi- ի GPIO կապը միացված է պիքսելներին LED_BRIGHTNESS = 255 # Սահմանել 0 -ի համար ամենամութի և 255 -ի համար ամենապայծառ LED_COUNT = 4 # LED պիքսելների շերտի քանակ = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 5, Կեղծ, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Գրադարանի սկզբնավորեք strip.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()
ADXL345 վարորդ
Մեր ընտրած արագացուցաչափի ցուցիչն ունի I2C միջերես արտաքին աշխարհի հետ հաղորդակցվելու համար: Ի ուրախություն մեզ, Raspberry Pi- ն ունի նաև I2C ինտերֆեյս: Մենք պարզապես պետք է հնարավորություն տանք այն օգտագործել մեր սեփական ծածկագրում:
Callանգահարեք Raspbian կազմաձևման գործիքը ՝ օգտագործելով sudo raspi-config: Գործարկելուց հետո գնացեք Interfacing Options, Advanced Options և ապա միացրեք I2C: Տեղադրեք համապատասխան python մոդուլները, որպեսզի մենք կարողանանք օգտագործել I2C ինտերֆեյսը python- ում.
sudo apt-get install python-smbus i2c-tools Հետևյալ python ծածկագիրը թույլ է տալիս շփվել արագացուցիչի տվիչի հետ և կարդալ դրա գրանցման արժեքները մեր իսկ նպատակների համար: ներմուծել smbus ներմուծել կառուցվածք # Արագացուցիչի կոնֆիգուրացիաների ավտոբուս = smbus. SMBus (1) հասցե = 0x53 շահույթ = 3.9e-3 bus.write_byte_data (հասցե, 45, 0x00) # Անցնել սպասման ռեժիմի ավտոբուս: գրել_byte_data (հասցե, 44, 0x06) # Թողունակություն 6.5 Հց bus.write_byte_data (հասցե, 45, 0x08) # Անցնել չափման ռեժիմ # Կարդալ տվյալները սենսորից buf = bus.read_i2c_block_data (հասցե, 50, 6) # Տվյալների փաթեթավորում int16_t- ից python ամբողջական տվյալներ = struct.unpack_from ("> hhh", բուֆեր (bytearray (buf)), 0)
x = float (տվյալներ [0]) * շահույթ
y = float (տվյալներ [1]) * շահույթ
z = float (տվյալներ [2]) * շահույթ
Շարժման դետեկտոր
Մեր ստեղծած լույսի առանձնահատկություններից մեկն այն է, որ այն կարող է հայտնաբերել շարժում (կամ դրա բացակայություն) ինտերակտիվ ռեժիմ մտնելու համար (որտեղ լույսը փոխվում է ռոտացիայի հիման վրա) և եղանակի կանխատեսման ռեժիմ (որտեղ լույսը փոխվում է ՝ կախված եղանակի կանխատեսումից) այսօրվա համար): Ստորև բերված կոդը օգտագործում է նախորդ գործառույթը ՝ 3 առանցքների արագացման արժեքները կարդալու և շարժման ժամանակ մեզ զգուշացնելու համար:
accel = getAcceleration ()
dx = abs (prevAccel [0] - accel [0])
dy = abs (prevAccel [1] - accel [1])
dz = abs (prevAccel [2] - accel [2])
եթե dx> moveThreshold կամ dy To> moveThreshold կամ dz> moveThreshold:
տպագրությունը «տեղափոխվեց»
տեղափոխվել = Trueշմարիտ
այլ:
տեղափոխված = Սխալ
Եղանակի API
Եղանակի կանխատեսում ստանալու համար մենք կարող ենք օգտագործել Yahoo Weather- ը: Սա ներառում է Yahoo Weather Rest API- ի հետ խոսելը, որը կարող է բավականին բարդ լինել: Բարեբախտաբար, մեզ համար դժվարին հատվածն արդեն խնամված է պիտոնի համար եղանակային-api մոդուլի տեսքով:
- Նախ պետք է տեղադրել այս մոդուլը ՝ օգտագործելով sudo apt install python-pip && sudo pip install weather-api
- Այս մոդուլի մասին լրացուցիչ տեղեկությունների համար խնդրում ենք այցելել հեղինակի կայքը:
Տեղադրելուց հետո հետևյալ կոդը ստանում է այս պահի եղանակային պայմանները
եղանակի ներմուծումից Weatherweather = Եղանակ ()
գտնվելու վայրը = weather.lookup_by_location ('dublin')
վիճակը = գտնվելու վայրը: վիճակը ()
տպել (պայման. տեքստ ())
Այդ ամենը միասին դնելը
Նախագծի ամբողջ ծածկագիրը, որը կապում է վերը նշված բոլոր կտորները, կարող եք գտնել այստեղ:
Ավտոմատ սկսել Python սցենարը բեռնման ժամանակ
Որպեսզի կարողանանք ազնվամորու pi- ն դնել տուփի մեջ և թող այն գործի դնի մեր կոդը ամեն անգամ, երբ այն միացնում ենք հոսանքին, մենք պետք է համոզվենք, որ կոդը ինքնաբերաբար գործարկվում է բեռնման ընթացքում: Դա անելու համար մենք օգտագործում ենք մի գործիք, որը կոչվում է cron:
- Նախ զանգահարեք cron գործիքը ՝ օգտագործելով sudo crontab -e
-
Նախորդ քայլերը կբացեն կազմաձևման ֆայլ, որում մենք ավելացնում ենք հետևյալ տողը.
@reboot python /home/pi/light.py &
Քայլ 4: Մոդելավորում և 3D տպում
Plus- ի 3D մոդելը պատրաստվել է Solidworks- ում և պահպանվել որպես. Stl ձևաչափով: Այնուհետեւ մոդելը 3D տպելու համար. Stl ֆայլը ներմուծվեց Cura ծրագրաշարում: Պլյուսի յուրաքանչյուր կողմը պատրաստեց 2:30 ժամ: ուստի յուրաքանչյուր ամբողջական Plus- ի տպագրությունը տևեց մոտ 5 ժամ: Իսկ թափանցիկ կողմերի համար պլեքսիգլասը լազերային կտրված էր:
Քայլ 5: Հավաքում
Եռաչափ տպագրված մասով, ձեռքի տակ եղած էլեկտրոնիկայով և ծրագրով, մենք վերջապես կարող ենք հավաքել վերջնական արտադրանքը:
- Մենք գտանք, որ 3D տպված վերին և ստորին սալերը ավելի թափանցիկ էին, քան սպասվում էր: Ալյումինե փայլաթիթեղի շերտը լուծեց լույսի արտահոսքի հարցը:
- Այնուամենայնիվ, այս թերթերը հաղորդիչ են և կարող են կարճ շորտեր առաջացնել մեր անպաշտպան շրջագծում: Այսպիսով, սպիտակ քարտի տախտակի մեկ այլ շերտ սոսնձված է վերևում:
- Պլեքսիգլասի ցրված հատվածները սոսնձված են կողային թիթեղներից մեկին:
- Կողքի վրա 3D տպված վահանակներից մեկի վրա փոս է փորված: Սա այնպես է, որ մենք կարողանանք անցնել հոսանքի լարով:
- Մի անգամ, հոսանքի լարը տեղադրված է անցքի միջով, մենք այն կպցնում ենք մեր նախատիպերի տախտակին:
- Մենք սենսորը ամրացնում ենք ազնվամորի պիին, այնուհետև այն միացնում միակցիչին:
- Մենք ամրացնում ենք 2 կտորը ՝ մեր վերջնական արտադրանքը ստանալու համար:
- Ptionանկության դեպքում կարող եք սոսնձել 2 կտորը `ավելի մշտական կապ հաստատելու համար: Այնուամենայնիվ, տեղյակ եղեք, որ գուցե դժվար լինի տուփ մտնելուց հետո, եթե այն ցանկանում եք փոխել կոդը:
Խորհուրդ ենք տալիս:
HAIKU, Երբ նորաձևությունն ու տեխնոլոգիան միանում են միասին: TfCD նախագիծ. TU Delft .: 4 քայլ
HAIKU, Երբ նորաձևությունն ու տեխնոլոգիան միանում են միասին: TfCD նախագիծ. TU Delft. Haiku- ն հայեցակարգ է, որը մշակվել է Mucahit Aydin- ի կողմից TU Delft մագիստրատուրայի դասընթացի համար: Այս կիմոնոյի հիմնական սկզբունքն է ինչ -որ մեկի կողմից գրկված լինելու զգացումը տարածելը: Դա անելու համար կիմոնոն դիպչելուց հետո կբացահայտի նախշը: Ինչպե՞ս: Իրավապահների կողմից
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ) `8 քայլ
Ձայնային թռիչք Arduino Uno- ի հետ Քայլ առ քայլ (8 քայլ). Ուլտրաձայնային ձայնային փոխարկիչներ L298N Dc կանացի ադապտեր էներգիայի մատակարարում արական dc pin Arduino UNOBreadboard և անալոգային նավահանգիստներ ՝ կոդը փոխարկելու համար (C ++)
Պահպանեք և վերականգնեք կանխադրված արժեքները NFC- ով (TfCD) `4 քայլ
Պահպանել և վերականգնել կանխադրված արժեքները NFC- ով (TfCD). Մենք ցանկանում ենք ստուգել, թե ինչպես է այն աշխատում որոշակի արժեք կամ պարամետր ճշգրտելու և հետագայում հետ կանչելու այս կարգավորումը: Այս փորձի համար մենք օգտագործել ենք NFC պիտակը ՝ կարդալը, այնուհետև դրա արժեքը պահպանելը: Հետագայում պիտակը կարող է նորից սկանավորվել և արժեքը հետ ուղարկել ՝ սերվերը վերականգնելու համար
Wearable Custom Light Panel (Technology Exploration Course - TfCD - Tu Delft). 12 քայլ (նկարներով)
Wearable Custom Light Panel (Technology Exploration Course - TfCD - Tu Delft). Այս հրահանգում դուք կսովորեք, թե ինչպես պատրաստել ձեր սեփական լուսավորված պատկերը, որը կարող եք կրել: Դա արվում է ՝ օգտագործելով վինիլային ծածկով ծածկված EL տեխնոլոգիա և դրան ամրացնելով ժապավեններ, որպեսզի կարողանաք այն կրել ձեր թևին: Կարող եք նաև փոխել այս էջի մասերը
Տեսողական օբյեկտի հայտնաբերում ֆոտոխցիկով (TfCD). 15 քայլ (նկարներով)
Տեսախցիկների միջոցով օբյեկտների հայտնաբերում (TfCD). Ognանաչողական ծառայությունները, որոնք կարող են ճանաչել հույզերը, մարդկանց դեմքերը կամ պարզ առարկաները, դեռ զարգացման վաղ փուլում են, սակայն մեքենայական ուսուցման դեպքում այս տեխնոլոգիան գնալով զարգանում է: Մենք կարող ենք ակնկալել, որ այս հրաշքն ավելի շատ կտեսնենք