Բովանդակություն:

Մինիմալիստական հեծանիվի ցուցիչ, հպումով միացված: 10 քայլ (նկարներով)
Մինիմալիստական հեծանիվի ցուցիչ, հպումով միացված: 10 քայլ (նկարներով)

Video: Մինիմալիստական հեծանիվի ցուցիչ, հպումով միացված: 10 քայլ (նկարներով)

Video: Մինիմալիստական հեծանիվի ցուցիչ, հպումով միացված: 10 քայլ (նկարներով)
Video: Why is My Sprained Ankle Still Painful & Swollen? [Causes & Treatment] 2024, Նոյեմբեր
Anonim
Image
Image

Ողջույն! Սա իմ առաջին հրահանգն է: Ես միշտ ցանկացել եմ ամեն ինչ զրոյից դարձնել ՝ պարզապես տեսնելու, թե ինչպես է այն աշխատում, և ո՞վ չի սիրում 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ուցանիշների վահանակի զոդում

Sուցանիշի վահանակի զոդում
Sուցանիշի վահանակի զոդում
Sուցանիշի վահանակի զոդում
Sուցանիշի վահանակի զոդում
Sուցանիշի վահանակի զոդում
Sուցանիշի վահանակի զոդում

Եթե դուք սկսնակ եք զոդման, ստուգեք այս ձեռնարկը `դրա հիմունքները այստեղ սովորելու համար (Ինչպես զոդել): Եթե դուք եռակցման մասնագետ եք, եկեք սկսենք:

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ուցանիշների վահանակի ինտեգրում հպման տախտակի հետ

Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ
Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ
Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ
Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ
Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ
Indուցանիշների վահանակի ինտեգրում Touchpad- ի հետ

Միացնելով այն 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- ով և վերջնական կոդով

Հեռակա փորձարկում VNC- ով և վերջնական կոդով
Հեռակա փորձարկում VNC- ով և վերջնական կոդով
Հեռակա փորձարկում VNC- ով և վերջնական կոդով
Հեռակա փորձարկում 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ուցանիշի որոշ նկարներ

Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ
Picturesուցանիշի որոշ նկարներ

Շնորհակալություն այս Ուղեցույցը կարդալու համար: Հուսով եմ, որ այն ձեզ դուր եկավ այնպես, ինչպես ես պատրաստեցի այն:

Timամանակացույց. Վերջնական փորձարկում Վերոնշյալ հատվածում կարող եք տեսնել, որ սենյակը մթնելուն պես «Գիշերային տեսողությունը» միանում է և պայծառանալուն պես անմիջապես անջատվում է:

Elineամանակացույց. Պատրաստ է գլորման Տեսանյութի համար քույրերիս հեծանիվ վարելու բոլոր վարկերը:

Խորհուրդ ենք տալիս: