Բովանդակություն:
- Քայլ 1: Սկսելու նյութեր
- Քայլ 2: Բաղադրիչների փորձարկում
- Քայլ 3. oldուցանիշների վահանակի զոդում
- Քայլ 4: Putուցանիշի վահանակը փորձարկեք
- Քայլ 5. icուցանիշների վահանակի ինտեգրում հպման տախտակի հետ
- Քայլ 6: Դարձրու այն խելացի:
- Քայլ 7: Ներկում և հավաքում
- Քայլ 8. Հեռակա փորձարկում VNC- ով և վերջնական կոդով
- Քայլ 9. Մալուխների կառավարում և վերջնական հավաքում
- Քայլ 10. Someուցանիշի որոշ նկարներ
Video: Մինիմալիստական հեծանիվի ցուցիչ, հպումով միացված: 10 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Ողջույն! Սա իմ առաջին հրահանգն է: Ես միշտ ցանկացել եմ ամեն ինչ զրոյից դարձնել ՝ պարզապես տեսնելու, թե ինչպես է այն աշխատում, և ո՞վ չի սիրում DIY (ինքդ արա) իրեր, երբ կարող ես ինչ -որ բան փոփոխել ըստ քո կարիքների: Որքան էլ DIY- ը հնչի հետաքրքիր, դա իրականացնելու համար մի փոքր ջանք է հարկավոր: Instructables- ի վեբ կայքը դիտելը հիանալի միջոց է ձեր DIY- ի ձգտումները սկսելու համար, և այդպես ես ավելի վաղ սկսեցի կառուցել իմ որոշ նախագծեր, բայց ես երբեք չէի մտածում, որ դրանք պատրաստելու եմ:
Asիշտ այնպես, ինչպես առիթը եկավ, ես պատրաստեցի հեծանիվների ցուցիչ `մինիմալիստական դիզայնով և հպումով միացված: Ես գիտեմ, որ հեծանիվների ցուցիչի համար կան բազմաթիվ հրահանգներ կամ առցանց աղբյուրներ, բայց նրանցից շատերը կա՛մ ավելի շատ տեղ են զբաղեցրել, կա՛մ բավական խելացի չեն դրանք որոշակի ձևով փոխելու համար: Եթե դուք փնտրում եք այնպիսի ցուցանիշ, որը բավական խելացի է ձեր կարիքները բավարարելու համար և հնարավորություն է տալիս դրանք փոփոխել ըստ ձեր կարիքների, ապա այս Instructable- ը ձեզ համար է:
Ինչու՞ հեծանիվի ցուցիչ:
Ես սիրում եմ հեծանիվ վարել քաղաքում: Ես վերցնում եմ իմ ցիկլը և պարզապես զբոսնում եմ առավոտյան կամ երեկոյան: Երբեմն, գիշերը, դժվար է քշել, քանի որ ձեր հետևի երթևեկը չի կարողանա նկատել ձեզ, և դա վտանգավոր նշան է: Ահա թե ինչու ես ինքս ցանկացա կառուցել icուցանիշ ՝ այն բոլոր նյութերով, որոնք ունեի տանը և նաև հիանալի է թվում հեծանիվի վրա, երբ քաղաքում զբոսնելիս միացնում եք ցուցիչները:
Նախագծի պատրաստում ՝ առանց որևէ խնդիրների բախվելու, չի պատահում: Բայց ես ձեզ կասեմ իմ կատարած բոլոր սխալները ՝ սա կառուցելիս, որպես «Հարմար խորհուրդ», որպեսզի չփորձեք դրանք թույլ տալ: YouTube- ի տեսանյութը պարունակում է պատկերազարդում, թե ինչպես է կառուցվում նախագիծը, փոքր անիմացիաներ, որոնք կփոխանցեն, թե ինչպես են գործերն աշխատում, և ինչպես է ցուցիչը նայում ճանապարհին: Առավել մանրամասն տեղեկատվությունը տրված է սույն Հրահանգում: Շարունակելով, ես իմ YouTube տեսանյութի հատվածները կնշեմ որպես «elineամանակացույց» ՝ յուրաքանչյուր քայլի համար, որպեսզի տեսնեք, թե ինչպես են գործերը գործնականում գործում: Լրացուցիչ տեղեկություններ կարող եք ստանալ ՝ կտտացնելով մատնանշված ընդգծված հղումները:
Այս նախագծի առանձնահատկությունները
- Աջ շրջադարձի ցուցում
- Ձախ շրջադարձի ցուցում
- Գիշերային տեսողության ցուցում
- Touch- Միացված է
Քայլ 1: Սկսելու նյութեր
- Ռեզիստորներ (330 օմ և 120 օմ) ՝ 330 օմ և 120 օմ
- Ազնվամորու Pi 3: RPi 3
- Breadboard: Breadboard
- Թռչկոտող լարեր (արական, արական, իգական, իգական, իգական).
- Բազմաշերտ մետաղալարեր
- Capacitive Touch Sensor (TTP223) - (2). Հղում
- RGB LED (ընդհանուր կաթոդի տեսակ) - (13) ՝ RGB LED ընդհանուր կաթոդ
- Սովորական լուսադիոդներ - (2). LED
- Sոդման նյութեր. Oldոդման հավաքածու
- Perf տախտակներ. Perf Board
- Powerbank: Powerbank
- 1 միկրո Ֆարադի էլեկտրոլիտիկ կոնդենսատոր `էլեկտրոլիտիկ կոնդենսատոր
- LDR (լույսից կախված դիմադրություն). LDR
- Մալուխային կապեր. Մալուխային կապեր
- Մալուխի թաքցնող `մալուխային թաքցնող
- Ակրիլային ներկ և խոզանակներ (ըստ ցանկության). Ներկ և խոզանակներ
- Երկու պահեստային տուփ հավաքման համար: (1 մեծ և 1 միջին չափի)
Միշտ պահեք լրացուցիչ քանակություն ՝ վերը նշվածի վերաբերյալ: Ես կապել եմ Amazon- ի բաղադրիչները և զոդման նյութերի լավագույն գնման հավաքածուն:
Timամկետ ՝ նյութեր հավաքել
Քայլ 2: Բաղադրիչների փորձարկում
Եկեք փորձարկենք ձեր բաղադրիչները: Սա իսկապես օգտակար է առանձնացնել այն բաղադրիչները, որոնք վնասված են կամ ինչ-ինչ պատճառներով տարօրինակ են գործում, և այս փուլը թույլ է տալիս ձեռք բերել բաղադրիչների հետ գործնական փորձ և մի փոքր սովորել ամբողջ նախագիծը կառուցելուց առաջ:
Փորձարկում RGB LED- ի տեսակի համար
Գոյություն ունի շուկայում RGB LED- ների երկու տեսակ: Ընդհանուր կաթոդի տեսակը և ընդհանուր անոդի տեսակը:
Սա հարմար հուշում է (թեև ավելի մեծ), քանի որ ես միացրի LED- ները, ինչպես երևում է այս տեսանյութից այստեղ, և LED- ը չի լուսավորվում այնպես, ինչպես և սպասվում էր, նույնիսկ մի քանի անգամ սխեմայի խաչմերուկ ստուգումից հետո: Հետո ես հասկացա, որ այս LED- ի երկու տեսակ կա և անցնելով տվյալների թերթիկ ՝ ես վերջապես լուծում ստացա: Իմ սխեմայի խնդիրն այն էր, որ ընդհանուր կաթոդի միակցիչը միացված էր 3.3 Վ -ին, ինչպես նշվեց, և ես GPIO կապով պահել էի HIGH- ում, այնպես որ և՛ ընդհանուր կաթոդի քորոցը, և՛ մյուս 3 կապում նույն ներուժն էին:
Լուծում. Ես միացրի ընդհանուր կաթոդի կապը գետնին, և LED- ը վառվեց: Պատճառն այն է, որ ես չեմ փոխել իմ ծածկագիրը ՝ GPIO կապումներն OWԱՐ պահելու համար, քանի որ հետագայում մենք ավելի շատ լուսադիոդներ ենք օգտագործելու, և RPi- ն մեզ տալիս է ընդամենը երկու կապում 3.3 Վ լարման դեպքում, որը մեզ անհրաժեշտ է նաև այլ նպատակների համար:
Ինչպե՞ս փորձարկել տեսակը:
Մուլտիմետրը պահեք անընդհատության ռեժիմում: Հպեք մուլտիմետրի կարմիր ծայրով և սև ծայրով ամենաերկար կապարին, կտտացրեք մյուս կապանքներից որևէ մեկին: Եթե LED- ը լուսավորվի ՝ կատարելով վերը նշված քայլը, դա սովորական անոդ RGB LED է:. Եթե դա այդպես չէ, այժմ շրջեք բազմիմետրի հուշումը: Սև ծայրով և կարմիր ծայրով ցանկացած այլ կապիչով հպեք ամենաերկար կապարին: Այժմ այն կլուսավորվի ՝ ցույց տալով, որ LED- ը սովորական կաթոդ RGB LED է:
Օգտակար խորհուրդ. Ես այս նախագծում օգտագործել եմ ընդհանուր կաթոդի տեսակը: Փորձեք ձեռք բերել միայն այս տեսակները, բայց նույնիսկ եթե առկա է մյուս տեսակը, մի անհանգստացեք: Շղթայի միացումները մնում են անփոփոխ, միակ տարբերությունը պետք է կատարվի այն ծածկագրի մեջ, որը ես որպես մեկնաբանություն կտամ փաստացի կոդի գծի կողքին, որտեղ դուք պետք է փոխեք: Շունչ քաշեք:
Timամանակացույց. Փորձարկել RGB
Տեղեկանք. Ինչպես ստուգել RGB- ը
RGB LED լուսավորվում է:
Դա անելու համար ստուգեք վերևի նկարներում տրված կապի դիագրամը և կապեք ըստ կապերի ՝ տախտակի միջոցով (սկզբից ապահով պահելու համար):
ԿԱՐՄԻՐ. Պին 11 (330 օմ դիմադրություն)
Կանաչ: Պին 13 (120 օմ դիմադրություն)
ԿԱՊՈ:ԹՅՈՆ. Պին 15 (120 օմ դիմադրություն)
Ռեզիստորի արժեքները տարբերվում են հոսանքալարերի տարբեր առաջային լարման պատճառով:
Երբ դրանք ճիշտ միացնեք, ծածկագրեք RPi- ն իր ներկառուցված պիթոնի IDE- ում:
ներմուծեք RPi. GPIO- ն որպես GPIO
#Փին համարները համապատասխանում են RPi GPIO- ի ճշգրիտ թվին Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Միացրեք ընդհանուր կաթոդի քորոցը 6 -րդ պտույտին միացնելուց (փին) ՝ GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. HIGH) #GPIO.output (pin, GPIO. LOW) ընդհանուր անոդի համար def turnOff (pin) ՝ GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO: OUT) GPIO.output (pin, GPIO. LOW) #GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) փորձեք. իսկ True: cmd = մուտքագրում ("Մուտքագրեք ձեր հրամանը."), եթե cmd == "կարմիր ": #տիպի մուտքագրման հրամաններ, ինչպես նշված է հենց ներսում" "redOn () elif cmd ==" red off ": redOff () elif cmd ==" green on ": greenOn () elif cmd ==" green off ": greenOff () elif cmd == "կապույտ": blueOn () elif cmd == "կապույտ անջատված".
Ես հղում կատարեցի այս հրահանգին: Ստուգեք սա մանրամասն նկարագրության և ծածկագրի համար:
Օգտագործելով վերը նշված նույն ծածկագիրը, կարող եք ստուգել բազմաթիվ LED- ների առկայությունը `դրանք զուգահեռաբար միացնելով սեղանի վրա և հանել մեկ կետը միասին միացված ցանկացած կապումներից: Օգտագործեք ռեզիստորի տարբեր արժեքներ յուրաքանչյուր քորոցի համար `ձեր LED- ների պայծառությունը ստուգելու համար
Օգտակար խորհուրդ. Համոզվեք, որ միացնում եք միևնույն կապի տիպի զուգահեռը: Այսինքն, մեկ LED- ի կարմիր քորոցը միանում է միայն մյուս LED- ի կարմիր քորոցին:
Timամանակացույց. Դարձրեք դրանք փայլուն:
TouchPad- ի փորձարկում
Շղթայի միացումն ինչպես ցույց է տրված այստեղ (elineամանակացույց): Միացրեք դրանք, ինչպես ցույց է տրված, և փորձեք ձեր հպման վահանակները ՝ օգտագործելով հետևյալ ծածկագիրը:
Կոդ:
ներմուծեք RPi. GPIO- ն որպես GPIO
ժամանակից ներմուծել քուն GPIO.setmode (IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup (touchpad1, GPIO. IN) GPIO.setup (touchpad2, GPIO. IN) #Մենք կարող ենք միացնել երկուսն էլ վերը նշված հայտարարությունները միասին որպես # GPIO.setup ([touchpad1, touchpad2], GPIO. IN) փորձեք ՝ while True: if (GPIO.input (touchpad1) == True): print ("Touchpad 1 touchged") sleep (2) elif (GPIO.input (touchpad2) == Trueշմարիտ). Տպել («Touchpad 2 դիպչել») քուն (2) այլ ՝ տպել («Not Touched») բացառությամբ KeyboardIntruptrupt: GPIO.cleanup () #CTRL-C ՝ դուրս գալու համար
LED- ի փորձարկում
Անդրադառնացեք այս հիանալի հրահանգին `ձեր LED- ը փորձարկելու համար:
Բոլոր վերը նշված բաղադրիչները փորձարկելուց հետո պատրաստ եք կառուցել դրա ավելի մեծ տարբերակը:
Քայլ 3. oldուցանիշների վահանակի զոդում
Եթե դուք սկսնակ եք զոդման, ստուգեք այս ձեռնարկը `դրա հիմունքները այստեղ սովորելու համար (Ինչպես զոդել): Եթե դուք եռակցման մասնագետ եք, եկեք սկսենք:
Indուցանիշների վահանակ
Դուք կարող եք պատկերազարդել, թե ինչպես դրանք զոդել օծանելիքի տախտակի վրա ՝ վերևի պատկերներում:
Մենք վահանակի համար օգտագործում ենք 13 RGB LED: Առանձնացրեք դրանք երեք մասի `ձախ, աջ և համապատասխան` եռակցման:
Կարևոր է. LED- ների տարածություն
Ես LED- ների միջև թողել եմ 3 տող: Ինչպես ցույց է տրված երկրորդ նկարում: Սա կարևոր է, որպեսզի LED վահանակը լավ տեսք ունենա և լավ զգա: Մենք չենք ցանկանում, որ LED- ները շատ հեռու մեծացնեն տարածքը կամ շատ մոտ, որպեսզի չկարողանան տարբերել լույսը հեռվից:
Օգտակար խորհուրդ. Սկսեք նախ զոդել բոլոր սովորական կաթոդի կապում
Օգտակար խորհուրդ. LED- ները միմյանց միացնելու համար օգտագործեք բազմաշերտ մետաղալարեր, քանի որ դրանք ավելի քիչ ամուր են և հեշտ է թեքվել: Կարճ հեռավորությունները միացնելու համար կարող եք օգտագործել LED- ների լրացուցիչ կտրող կապում
Աջ հատված. (5 LED)
- Միացրեք բոլոր Red Pins- ը միասին
- Միացրեք բոլոր Green Pins- ը միասին
- Միացրեք բոլոր սովորական կաթոդի կապում միասին
Ձախ հատված. (5 LED)
- Միացրեք բոլոր Red Pins- ը միասին
- Միացրեք բոլոր Green Pins- ը միասին
- Միացրեք բոլոր սովորական կաթոդի կապում միասին
Կենտրոնի բաժին. (3 LED)
Օգտակար խորհուրդ. Այս բաժինը բավական զգուշավորություն է պահանջում: Մի ամրացրեք բոլոր կապում միասին, ինչպես դա արեցինք վերը նշված երկու հատվածներում:
- Միացրեք բոլոր Red Pins- ը միասին
- Միացրեք միայն վերևի և ներքևի LED- ները ՝ Green Pin- ը:
- Միացրեք բոլոր սովորական կաթոդի կապում միասին
Լարերը
Մեզ ավելի երկար լարեր են պետք վահանակը GPIO տախտակին միացնելու համար:
Հարմար խորհուրդ
- Օգտագործեք միայնակ շղթաներ: Նրանք բավական ամուր են ՝ դիմակայելու դրա վրա գործադրվող մեխանիկական սթրեսներին:
- Հաղորդալարերը մի փոքր ավելի երկար պահեք, քան վահանակի և RPi- ի միջև անհրաժեշտ իրական երկարությունը (սա շատ հարմար է հետագայում լարերը կառավարելիս: (elineամանակացույց. Չափումներ)
- Ulateոդումից հետո մեկուսացրեք: Շատ կարեւոր
. Ոդման համար օգտագործեք jumper մետաղալար և մեկ թել մետաղալար: Թռիչքի մետաղալարերի մի ծայրը պետք է լինի կին միակցիչ: oldոդեք դրանք, ինչպես ցույց է տրված այստեղ (ժամանակացույց)
Գույնը լարերը կոդավորեք որպես կարմիր, կանաչ և սև: որը համապատասխանաբար համապատասխանում է կարմիր կապին, կանաչին և սովորական կաթոդին:
Մենք պահանջում ենք 3 սև լար, 3 կարմիր լար և 3 կանաչ լար:
Երբ լարերը պատրաստ են: Wոդեք լարերը ցուցիչ LED- ներին:
Օգտակար խորհուրդներ
- Համոզվեք, որ LED- ները միացված են ըստ տրված միացումների:
- Համոզվեք, որ տեղում ամրացրել եք դիմադրության ճիշտ արժեքները: Եթե արժեքները փոխվեն, դա կազդի լուսադիոդների լուսավորության վրա
- Ձեր LED- ների բոլոր սարքերի աշխատանքում համոզվելու եղանակներից մեկն այն է, որ կիրառեք 2 -րդ քայլում տրված մուլտիմետր հաշվիչը: Սա շատ հարմար է, քանի որ կիմանաք, որ կարճ միացում կա, LED- ները չեն լուսավորվի:
- Մի պոկեք լարերի ծայրերը պահանջվածից ավելի երկար: Դժվար կլինի դրանք տեղում պահել, ինչպես նաև կարճ միացման ավելի մեծ ռիսկ:
- LED- ների միջև միացման համար օգտագործեք բազմաշերտ մետաղալար:
- Բաժինները RPi- ին միացնելու համար օգտագործեք միաշղթա մետաղալար:
Քայլ 4: Putուցանիշի վահանակը փորձարկեք
Փառք! Եթե դուք ճիշտ կպցրել եք վահանակը: Եկեք շարունակենք icուցանիշի կոդավորումը:
Ինչպես արդեն նշվեց, մենք ցույց կտանք աջ շրջադարձ, ձախ շրջադարձ և գիշերային տեսադաշտի միացում/անջատում:
Անդրադարձեք 3 -րդ քայլի սխեմայի միացմանը:
Միացրեք վահանակի լարերը, ինչպես նշված է ստորև.
- Կարմիր աջ - Pin 7
- Կանաչ աջ - PIN 11
- Ընդհանուր կաթոդ աջ - PIN 6 (GND)
- Կարմիր ձախ - PIN 13
- Կանաչ ձախ - քորոց 15
- Ընդհանուր կաթոդ ձախ - PIN 9 (GND)
- Կենտրոնական կարմիր - PIN 16
- Կենտրոն կանաչ (վերև և ներքև) - կապում 18
- Կենտրոնի ընդհանուր կաթոդ - PIN 14 (GND)
Թեստի կոդ:
ներմուծեք RPi. GPIO- ն որպես GPIO
ժամանակից ներմուծում քուն #Միացեք ըստ ստորև նշված քորոցների (Green_right, Green_top_bottom, 0) def left_turn (): print ("Turning Left") թարթել (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x տիրույթում (10). GPIO.putput ([pin1, pin2], GPIO. HIGH) sleep (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) sleep (0.5) այլ ՝ GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x տիրույթում (10). GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) քուն (0.5) GPIO. ելք ([pin1, pin2, pin3], GPIO. LOW) քուն (0.5) def night_sight (): print («Night Sight ON») թարթել (Red_left, Red_right, Red_center) try: while True: cmd = input (" Ստուգեք LED- ը ՝ "" if cmd == "right turn": right_turn () elif cmd == "left turn": left_turn () elif cmd == "night sight": night_sight () else: print ("Invalid Command") բացառությամբ Ke yboardIntruptured: GPIO.cleanup ()
Եթե ձեր վահանակը մաքրում է բոլոր փորձարկման փուլերը, ինչպես ծածկագրում է, լավ արված: Պատրաստվեք հաջորդ քայլին:
Եթե վահանակը չի լուսավորվում, համոզվեք, որ բոլոր քայլերը ճիշտ եք կատարել և նախկինում ուսումնասիրել եք օգտակար խորհուրդները: Եթե խնդիրը դեռ շարունակվի, կարող եք մեկնաբանել ներքևում, ես պատրաստ եմ օգնել:
Elineամանակացույց. Թեստ ONE (Ստուգեք տեսանյութը աշխատանքային նախատիպի համար)
Քայլ 5. icուցանիշների վահանակի ինտեգրում հպման տախտակի հետ
Միացնելով այն RPi- ին
Կատարեք կապերը, ինչպես ցույց է տրված վերևում նկարում:
Աջ վահանակ
Touchpad:
- GND քորոց - կապ 34
- VCC քորոց - PIN 1
- SIG քորոց - 29
LED:
Անոդ (+) քորոց - կապ 33
Ձախ վահանակ
Touchpad:
- GND քորոց - կապում 30
- VCC քորոց - կապում 17
- SIG քորոց - կապում 31
LED:
Անոդ (+) քորոց - կապ 35
Ընդհանուր GND: Պին 39 (LED- ների երկուսի կաթոդի համար) - Ընդհանուր գրունտի զոդում (ժամանակացույց)
Թեստի կոդ:
ներմուծեք RPi. GPIO- ն որպես GPIO
ժամանակից ներմուծում քուն right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (channel): (right_led, GPIO. HIGH) գլոբալ հրահրված գործարկվեց = 1 տպում («Շրջվելով աջ») թարթում (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) գլոբալ գործարկվեց triggered = 1 print ("Turning Ձախ ») թարթել (Green_left, Green_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO. FALLING, backback bound = ձախ pin2): GPIO.setup ([pin1, pin2], GPIO. OUT) x տիրույթում (10). GPIO.output ([pin1, pin2], GPIO. HIGH) քուն (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) քուն (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) գլոբալ գործարկումը գործարկվեց = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) գլոբալ ակտիվացված է, եթե (գործարկվում է == 0). Տպել («Գիշերային տեսողությունը միացված է») GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) քնի (0.27) GPIO. ելք ([Red_center, Red_left, Red_right], GPIO. LOW) քուն (0.27) այլ ՝ տպել («Night Sight OFF») GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) try: night_sight () բացառությամբ Ստեղնաշարի Անընդհատ: GPIO.cleanup ()
Հպեք touchpad- ին ՝ ձեր լույսը փայլելու համար:
Elineամանակացույց (առանց նշման LED). Թեստ երկրորդ
Elineամանակացույց (LED ցուցիչով). Թեստ 3
Կոդի բացատրություն. Մենք ցանկանում ենք, որ գիշերային տեսողությունը անընդհատ աշխատի, և երբ դիպչում ենք սենսորային դարակին, այն պետք է կանգ առնի և կատարի սենսորային դիպչակի գործառույթը: Դա միաժամանակ անելու համար մենք օգտագործում ենք մի բան, որը հայտնի է որպես «Ընդհատում» պիթոնում: Սա թույլ է տալիս մեզ գործարկել մեր սովորական ծածկագիրը, որն այստեղ գիշերային տեսարան է, ինչպես նաև առաջացնում է իրադարձություն, երբ դիպչում է հայտնաբերվում: Մենք օգտագործում ենք գործարկվող փոփոխականը որպես դրոշ ՝ գիշերային տեսողությունը դադարեցնելու համար:
Ընդհատումների մասին լրացուցիչ տեղեկությունների համար ստուգեք այս հղումը:
Sոդել վահանակը
Այժմ եկեք զոդենք սենսորային վահանակները, որոնք կգնան հեծանիվի ղեկին: Անդրադառնացեք վերևում նկարում տրված միացումներին:
Այժմ, երբ դուք փորձարկել եք ձեր LED- ն ու հպման վահանակը, լավ կլինի: Եթե դուք արդեն չեք փորձարկել, դիմեք այս Քայլին և նախորդ Քայլերին:
Տեղադրեք touchpad- ը ղեկի մոտ, ինչպես ցույց է տրված տեսանյութում: Այսինքն, աջ հպման վահանակի համար հպման տախտակն աջից և ձախից ձախ է: Նմանապես, ձախ touchpad- ի համար led- ը աջ կողմում է, իսկ touchpad- ը ՝ ձախ, ինչը հեշտացնում է բութ մատի հասնելը:
Հ. Գ. Հետևաբար, ես այն պարզապես դրեցի վահանակի վրա ՝ երկկողմանի ժապավենով:
Միացրեք վահանակը RPi- ին ՝ օգտագործելով ավելի երկար լարեր:
Քայլ 6: Դարձրու այն խելացի:
Այո՛ Այժմ, երբ մենք ունենք allուցանիշի մեր բոլոր հիմնական տարրերը գործարկված: Եկեք մեկ քայլ առաջ անենք այն խելացի դարձնելու համար:
Այստեղ խելացի է սահմանվում նաև մարտկոցի լիցքը խնայելը: Ինչպես երևի նկատել եք, գիշերային տեսողությունը միշտ միացված է, և երբեմն դա չի պահանջվում պայծառ արևոտ օրը: Այս խնդիրը հաղթահարելու համար թույլ ենք տալիս ինտեգրվել LDR (Light Dependent Resistor) ՝ մեզ տալով լույսի ինտենսիվության տվյալներ, որոնք մենք կարող ենք հավաքել և համապատասխանաբար մշակել մեր ցուցիչը:
LDR- ի փորձարկում
Ես հղում կատարեցի այս կայքին `LDR- ը փորձարկելու համար` լուսավորության ինտենսիվությունը և այն արժեքը, որը վերադարձնում է:
Շրջանակի համար դիմեք վերևում նշված էջին և LDR- ի աշխատանքի օրինակին:
LDR- ի ինտեգրում մեր կոդին
Միացրեք LDR- ը սենսորային վահանակի աջ վահանակին, ինչպես ցույց է տրված վերևի միացման դիագրամում:
Պինները ճիշտ տեղում զոդելուց հետո ժամանակն է ծածկագրման վերջին բիթին: Վերջնական կոդը!
- Միացրեք կոնդենսատորի կաթոդի (-) և LDR- ի ընդհանուր կետը RPi- ի 36-րդ կապին
- Կոնդենսատորի անոդը միացված է Քայլ 5 -ում նշված Common Ground կետին
Վերջնական ծածկագիր:
ներմուծեք RPi. GPIO- ն որպես GPIO
ժամանակից ներմուծում քուն կարգավորում ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def:_ աջ GPIO.output (right_led, GPIO. HIGH) գլոբալ հրահրված գործարկվեց = 1 տպագիր («Շրջվելով աջ») թարթում (Green_right, Green_top_bottom) def left_turn (channel): GPIO.output (left_led, GPIO. HIGH) գլոբալ հրահրված գործարկվեց = 1 տպում («Ձախ շրջվել») թարթել (Green_left, Green_top_bottom) GPIO.add_event_detect (right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect (left_touch, GPIO_foundet, (ldr). հաշվել = 0 #Ելք կապում GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) քուն (0.1) #Chang ե քորոցը վերադարձեք մուտքի GPIO.setup (ldr, GPIO. IN) #Հաշվեք մինչև քորոցը բարձրանա մինչ (GPIO.input (ldr) == GPIO. LOW)): GPIO.setup ([pin1, pin2], GPIO. OUT) x միջակայքում (10). GPIO.putput ([pin1, pin2], GPIO. HIGH) քուն (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) քուն (0.5) GPIO.output ([right_led, left_led], GPIO. LOW) գլոբալ գործարկվեց triggered = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) գլոբալ գործարկվել է, եթե (light_sensing (ldr)> 7800). (0.27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) քուն (0.27) այլ ՝ տպել («Night Sight OFF») GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) փորձել: night_sight () բացառությամբ KeyboardIntruptrupt: GPIO.cleanup ()
Վոյա! Եվ ցուցանիշը պատրաստ է գլորվել:
Օգտակար խորհուրդ. RPi և այլ բաղադրիչներ ցիկլին հավաքելուց առաջ համոզվեք, որ այս ծրագիրը ճիշտ եք ստուգել: Գործարկեք այն մի քանի անգամ ՝ սխալները շտկելու համար:
Քայլ 7: Ներկում և հավաքում
Պահանջվող նյութեր
- Մետաղալար կտրող/ մերկացնող գործիքներ
- Մեկ մեծ պահեստային տուփ, որը տեղավորվում է Raspberry Pi- ում
- Smallուցանիշի վահանակին տեղավորվող մեկ փոքր պահեստային տուփ
- Ներկել
- Ներկերի խոզանակներ
Սկսեք ներկել icուցանիշի վահանակը և սենսորային վահանակները սև գույնով: Ես այստեղ օգտագործել եմ Ակրիլային ներկեր: Դուք կարող եք դրանք օգտագործել ձեր ընտրությամբ, որը լավ է միախառնվում օծանելիքի տախտակին: Օգտագործեք սև ֆոն, որպեսզի LED վահանակը դարձնեք ավելի աշխույժ և ավելի աչքի ընկնող: Կատարեք անցքերը տաքացվող պտուտակահանով կամ պլաստմասը հալեցնելու համար օգտագործեք ցանկացած մետաղական առարկա:
Նշում. Խնդրում ենք զգույշ լինել անցքեր կատարելիս:
Timամկետ ՝ ներկ
Օգտակար խորհուրդ. Ես օգտագործել եմ պլաստիկ տուփեր, և ներկը հեշտությամբ թափվում է: Համոզվեք, որ լավ որակի ներկեր եք օգտագործում
Onceուցանիշը և վահանակները ներկվելուց հետո դրանք չորացրեք արևի տակ և պատրաստվեք հավաքման:
Cutուցանիշի վահանակի և առջևի վահանակի լրացուցիչ տարածքը կտրել եմ տարածք խնայելու համար:
Ստուգեք տեսահոլովակը հավաքման համար:
Timամանակացույց ՝ Վրիժառուներ: Հավաքվել: (Boxesուցանիշի վահանակի և RPi- ի հավաքում տուփերով)
Ինչպես երևում է տեսանյութում, համապատասխանաբար լարերը դրեք ՝ ավելի մեծ տուփի մեջ երեք անցք կատարելով: Մեկը RPi հզորության բանկի մետաղալարերի համար, մեկը touchpad- ի վահանակների համար և մեկը `ցուցիչի վահանակի համար: Փոքր տուփի համար պահանջվում է միայն մեկ անցք:
Օգտակար խորհուրդ. Ստուգեք լարերի մեկուսացումը և ստուգեք, արդյոք լարերը պատշաճ կերպով կպցվա՞ծ են, նախքան դրանք վանդակում միացնելը:
Քայլ 8. Հեռակա փորձարկում VNC- ով և վերջնական կոդով
Oneուցանիշի լիարժեք պատրաստ լինելուց մեկ վերջին փորձարկում: Միացրեք ձեր RPi- ն VNC Viewer- ին և գործարկեք ծրագիրը:
Ես միշտ օգտագործում եմ VNC սերվեր `ծրագիրը գործարկելու և ծրագրում առկա ցանկացած սխալ վրիպելու համար: Այս կերպ ես կարող եմ RPi- ն տեղադրել անմիջապես այն վայրում, որտեղ ցանկանում եմ փորձարկել ՝ առանց մոնիտորը արտաքինից միացնելու:
Ստուգեք այս էջը ՝ ձեր RPi- ն VNC սերվերին միացնելու համար: (VNC սերվեր)
RPi- ն VNC սերվերին միացնելուց հետո: Դուք կարող եք գործարկել կոդը վիրտուալ աշխատասեղանի վրա և կարգաբերել սխալները:
Timամանակացույց. Գործարկեք գործարկման ժամանակ
Օգտակար խորհուրդ. Երբ ձեր Raspberry Pi- ն միացնեք վիրտուալ աշխատասեղանին, դուք մուտք կգործեք RPi- ի IP հասցեով: Բայց եթե սխալ եք ստանում, նշելով, որ RPi- ն մերժել է կապը, դա RPI- ում IP հասցեի փոփոխության պատճառով է: Դա կարող է տեղի ունենալ, երբ վերագործարկեք ձեր երթուղիչը կամ WiFi թեժ կետը, ապա փորձեք մուտք գործել հին հասցեով: Ուղղորդիչը նոր IP է տալիս ամեն անգամ, երբ այն վերագործարկում եք: Բայց եթե հիշում եք RPi- ի հին IP հասցեն, պարզապես ավելացրեք վերջին նիշը 1 -ով և մուտք գործեք: Օրինակ. Եթե հին IP հասցեն 190.148.1.100 է, ապա մուտք գործեք ՝ օգտագործելով 190.148.1.101
Երբ ստուգեք, արդյոք ամեն ինչ ճիշտ է աշխատում, վերջնական հավաքի ժամանակն է:
Միշտ մենք չենք կարող ունենալ վիրտուալ աշխատասեղան `վերահսկելու կամ գործարկելու python սցենարը: Այսպիսով, եկեք դա անենք գործարկման ժամանակ:
Մենք ցանկանում ենք, որ մեր ծրագիրը գործարկվի RPi- ի գործարկումից հետո: Ստուգեք այս կայքը այս մասին ավելի մանրամասն:
Եթե ձեր RPi- ն ավտոմատ մուտքի կարգավորման մեջ է, ապա շարունակեք.
Գործարկեք հետևյալ հրամանները RPi տերմինալում
sudo nano /etc /profile
Ոլորեք ներքև և ավելացրեք հետևյալ տողը.
sudo python file_path &
Այստեղ file_path- ը վերաբերում է պիթոնի ֆայլի ուղուն, որտեղ պահվում է ձեր վերջնական կոդը:
Նշում. Ֆայլի վերջում Ampersand- ը (&) պետք է ավելացվի այնպես, որ ձեր ծրագիրը զուգահեռ աշխատի համակարգի բեռնման հետ: Քանի որ մեր ծրագիրը պարունակում է անվերջանալի հանգույց, այս քայլը պարտադիր է, որպեսզի նույնիսկ եթե ծրագիրը չաշխատի ըստ սպասվածի, մենք դեռ կարող ենք օգտագործել RPi աշխատասեղանը `կարգավորումները փոխելու համար:
Սրանից հետո երկու անգամ սեղմեք CTRL-X և այնուհետև YPress Enter և դուք կվերադառնաք հրամանի տերմինալ:
Վերագործարկեք Pi- ն
Այժմ կոդը պետք է գործարկվի գործարկման ժամանակ:
Քայլ 9. Մալուխների կառավարում և վերջնական հավաքում
Շնորհավորում եմ: այս նախագիծն ավարտելու վրա: Ես նրան տվեցի նվազագույն բառը, ինչպես տեսաք, մենք ավելի քիչ LED- ներ ենք օգտագործել `անհրաժեշտ բոլոր ցուցումները ցույց տալու համար, ինչպես նաև հարմարեցված գույներով: Ազատորեն օգտագործեք տարբեր գույներ ձեր LED- ների համար, օրինակ `դեղին շրջադարձի ցուցիչների կամ ցանկացած այլի համար:
Եթե դուք իրականացրել եք այս նախագիծը, կտտացրեք «Ես դա արեցի» և կիսվեք ձեր փորձով: Կիսեք ձեր մտքերը, ինչպես նաև այս նախագծի վերաբերյալ որևէ առաջարկ կամ մեկնաբանություն: Ես շատ կցանկանայի դա լսել:
Մալուխների կառավարում
Այո՛ Ինչպես երևի նկատել եք, այնքան շատ լարեր են մտնում ցիկլերի մեջ և դրանց շուրջը, և դրանք կառավարելը բուռն է: Ես օգտագործել եմ մալուխային պիտակներ, մեկուսիչ ժապավեններ և մալուխի պատյան ՝ լարերը թաքցնելու համար, ինչպես նաև դրանք նկարել եմ սև, ինչպես տեսել եք նկարը:
Օգտակար խորհուրդ. Քանի որ ձեր մալուխներից լրացուցիչ դյույմներ եք թողել, քան պահանջվում է, այժմ օգտակար է դրանք ճիշտ կառավարել ՝ առանց դրանք շեշտելու: Եթե ձեր LED- ներից մեկը լուսավորվի, իսկ մյուսները ՝ նույնիսկ եթե ամեն ինչ ճիշտ եք արել, խնդիրը RPi- ին միացված Jumper Wires- ը, կլինի չամրացված շփում: Եթե դա շարունակվի, օգտագործեք արականից իգական ցատկող մետաղալար `մետաղալարը երկարացնելու և դրանք միացնելու համար: Լարերը տեղում պահելու համար օգտագործեք մալուխային կապեր, որպեսզի այն չշարժվի:
Այժմ icուցանիշը պատրաստ է Ride- ի համար: Վայելիր
Հ. Գ. Հետագա հրահանգների դեպքում ես իսկապես կցանկանայի նվազեցնել շրջանագծի լարերի թիվը և ավելի լավ պլան կազմել: Եթե ես դա անեմ, ես դրա մասին կներկայացնեմ Instructable!
Քայլ 10. Someուցանիշի որոշ նկարներ
Շնորհակալություն այս Ուղեցույցը կարդալու համար: Հուսով եմ, որ այն ձեզ դուր եկավ այնպես, ինչպես ես պատրաստեցի այն:
Timամանակացույց. Վերջնական փորձարկում Վերոնշյալ հատվածում կարող եք տեսնել, որ սենյակը մթնելուն պես «Գիշերային տեսողությունը» միանում է և պայծառանալուն պես անմիջապես անջատվում է:
Elineամանակացույց. Պատրաստ է գլորման Տեսանյութի համար քույրերիս հեծանիվ վարելու բոլոր վարկերը:
Խորհուրդ ենք տալիս:
Մինիմալիստական բառի ժամացույց ՝ 28 քայլ (նկարներով)
Մինիմալիստական բառի ժամացույց. Շնորհակալություն Super Make Something- ի, քանի որ այս նախագիծը ոգեշնչված էր նրանց Neopixel Word Clock- ով: Այս ժամացույցը ես ստեղծել եմ որպես IGCSE դիզայնի մի մաս & Տեխնոլոգիայի դասընթաց և դրա համար ստացել է A*: CAD մոդելը նախապես կառուցվել էր միաձուլման վրա, այսպիսով
Կարո՞ղ եք դա անել Kindle հպումով: 15 քայլ (նկարներով)
Կարո՞ղ եք դա անել KIndle Touch- ով. Հետո իմ մեծահասակ երեխաներն ինձ Kindle Touch տվեցին, և ես գտա ուղիներ, թե ինչպես դա անել ինձ համար այն, ինչ անում է խելացի հեռախոսը կամ iPad- ը այլ մարդկանց համար: Մի օր այն կփոխարինի իմ ծերացմանը
Գործարկեք ձեր արձակուրդային նկարների սլայդերի ցուցադրումը կախարդական հպումով: 9 քայլ (նկարներով)
Գործարկեք ձեր արձակուրդային նկարների սլայդ -շոուն կախարդական հպումով: Տարիների ընթացքում ես սովորություն ունեմ ճանապարհորդելիս փոքր արձանիկ վերցնել ինձ հետ. այն համապատասխանում է այն երկրի դրոշին և թեմային, որին ես այցելում եմ (այս դեպքում ՝ Սիցիլիա): Տ
Էլեկտրաֆիկացրեք ձեր հպումով դաշնամուրը ՝ 9 քայլ (նկարներով)
Electrify Your Tap-A-Tune Piano: Ստեղծեք փորձնական punk երաժշտություն և սարսափ ֆիլմերի ձայնային էֆեկտներ այս նախագծով ՝ ոգեշնչված Ռանդոֆոյի «Electric Cigar Box Guitar»-ից: Instructable և EvanKale's «Electric Ukelele with Tone Control» Instructable. The tap-a-tune piano is
Թղթային լամպի ստվերով հպումով վերահսկվող լույս. 14 քայլ (նկարներով)
Touch Controlled Light With Paper Lamp Shad. կամ անջատել լույսը ՝ դիպչելով