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

Արևային եղանակային կայան ՝ 5 քայլ
Արևային եղանակային կայան ՝ 5 քայլ

Video: Արևային եղանակային կայան ՝ 5 քայլ

Video: Արևային եղանակային կայան ՝ 5 քայլ
Video: 5 բան, որ պետք է չանել քնելուց առաջ 2024, Նոյեմբեր
Anonim
Արևային եղանակային կայան
Արևային եղանակային կայան

Երբևէ ցանկացե՞լ եք իրական ժամանակի մասին եղանակի մասին տեղեկություններ ձեր բակից: Այժմ դուք կարող եք գնել եղանակային կայան խանութում, բայց դրանք սովորաբար պահանջում են մարտկոցներ կամ պետք է միացված լինեն վարդակին: Այս եղանակային կայանը կարիք չունի միացված լինել ցանցին, քանի որ այն ունի արևային վահանակներ, որոնք ավելի արդյունավետության համար պտտվում են դեպի արև: Իր ՌԴ մոդուլներով այն կարող է տվյալներ փոխանցել դրսի կայարանից ձեր տան ներսում գտնվող Raspberry Pi- ին: Raspberry Pi- ն հյուրընկալում է կայք, որի վրա կարող եք դիտել տվյալները:

Քայլ 1: Հավաքեք նյութեր

Նյութեր

  • Raspberry Pi 3 մոդել B + + ադապտեր + Micro SD քարտ 16 ԳԲ
  • Արդուինո Ունո
  • Arduino Pro Mini + FTDI հիմնական ճեղքում
  • 4 6V 1W արեւային վահանակներ
  • 4 18650 մարտկոց
  • Խթանիչ 5 վ
  • 4 TP 4056 մարտկոցի լիցքավորիչ
  • Adafruit DHT22 ջերմաստիճանի և խոնավության ցուցիչ
  • BMP180 Բարոմետրիկ ճնշման ցուցիչ
  • 4 LDR
  • ՌԴ 433 ընդունիչ և հաղորդիչ
  • 2 Nema 17 Stepper շարժիչներ
  • 2 DRV8825 Stepper շարժիչի վարորդ
  • LCD 128*64
  • Շատ լարեր

Գործիքներ և նյութեր

  • Սոսինձ
  • Փայտե տախտակներ
  • Տեսավ
  • Պտուտակներ + պտուտակահան
  • Բադի ժապավեն
  • 2 ալյումինե ժապավեն

Քայլ 2: Մեխանիկական ձևավորում

Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում
Մեխանիկական նախագծում

Օդերևութաբանական կայանի մարմինը պատրաստված է նրբատախտակից: Պետք չէ փայտ օգտագործել, այն կարող եք պատրաստել ցանկացած նյութից, որը նախընտրում եք: Շարժիչի ամրացման համար ես ամբողջը փորեցի մի բլոկի մեջ, այնուհետև պտուտակով պտուտակեցի շարժիչի լիսեռին, որն ավելի լավ է աշխատում, քան սպասում էի: Այդ կերպ ձեզ հարկավոր չէ 3 -րդ տպել շարժիչի տեղադրիչը, և այն հեշտ է պատրաստել: Հետո ես թեքեցի ալյումինե 2 շերտ, որպեսզի շարժիչները շատ ամուր պահեմ: Այնուհետև ես կտրեցի մի տախտակ և դրա մեջ անցքեր բացեցի արևային վահանակների համար: Այնուհետև սոսնձեք դրա վրա արևային վահանակները և լարերը կպցրեք արևային վահանակներին: Այնուհետեւ դուք նույնպես պետք է խաչ պատրաստեք սեւ նյութից: Եթե սև բան չունեք, կարող եք օգտագործել սև ժապավեն: Այս խաչը կպահի LDR յուրաքանչյուր անկյունում, որպեսզի Arduino- ն կարողանա համեմատել LDR- ի չափումները և հաշվարկել, թե ինչ ուղղությամբ է այն պետք շրջվել: Այսպիսով, յուրաքանչյուր անկյունում փորեք փոքր մեծություններ, որպեսզի կարողանաք այնտեղ տեղավորել LDR: Մնում է հիմքի ափսե պատրաստել և ինչ -որ բան տեղադրել էլեկտրոնիկան: Հիմնական ափսեի համար անհրաժեշտ է ամբողջը փորել դրա մեջ `բոլոր լարերը դեպի միջով անցնելու համար: Չափումների համար ես ձեզ ոչինչ չեմ տա, քանի որ իսկապես ձեզանից է կախված, թե ինչպես եք ցանկանում դա նախագծել: Եթե ունեք այլ շարժիչներ կամ այլ արևային վահանակներ, ապա ստիպված կլինեք ինքնուրույն պարզել չափումները:

Քայլ 3: Էլեկտրական դիզայն

Ուժ

Ամբողջ համակարգը աշխատում է մարտկոցներով (բացառությամբ Raspberry Pi- ի): Ես շարեցի 3 մարտկոց: 1 մարտկոցը միջինում 3.7 Վ է, այնպես որ 3 սերիան ձեզ տալիս է մոտ 11 Վ: Այս 3s մարտկոցի փաթեթը օգտագործվում է շարժիչների և ՌԴ հաղորդիչի համար: Մնացած մարտկոցը օգտագործվում է Arduino Pro Mini- ի և տվիչների սնուցման համար: Մարտկոցները լիցքավորելու համար ես օգտագործել եմ 4 TP4056 մոդուլ: Յուրաքանչյուր մարտկոց ունի 1 TP4056 մոդուլ, յուրաքանչյուր մոդուլ միացված է արևային վահանակին: Քանի որ մոդուլն ունի B (in) և B (out), ես կարող եմ դրանք առանձին լիցքավորել և լիցքավորել դրանք շարքով: Համոզվեք, որ դուք գնել եք ճիշտ TP4056 մոդուլները, քանի որ ոչ բոլոր մոդուլներն ունեն B (in) և B (out):

Կոնտրոլ

Arduino Pro Mini- ն վերահսկում է տվիչները և շարժիչները: Arduino- ի չմշակված և մանրացված քորոցը միացված է 5V ուժեղացուցիչին: 5V ուժեղացուցիչը միացված է մեկ մարտկոցին: Arduino Pro Mini- ն ունի շատ ցածր էներգիայի սպառում:

Բաղադրիչներ

DHT22. Ես այս տվիչը միացրեցի VCC- ին և Ground- ին, այնուհետև տվյալների կապը միացրեցի թվային 10 -ին:

BMP180. Ես այս սենսորը միացրեցի VCC- ին և Ground- ին, ես SCL- ն միացրեցի Arduino- ի SCL- ին և SDA- ն `Arduino- ին: Carefulգույշ եղեք, քանի որ Arduino Pro Mini- ի SCL և SDA կապերը գտնվում են տախտակի մեջտեղում, այնպես որ, եթե դուք կապում եք գրատախտակին և դնում այն տախտակի մեջ, այն չի աշխատի, քանի որ միջամտություն կունենաք այլ կապում: Ես կպցրեցի այդ 2 կապում տախտակի վերևում և մի մետաղալար միացրեցի անմիջապես դրան:

ՌԴ հաղորդիչ. Ես սա միացրել եմ 3s մարտկոցի տուփին `ավելի լավ ազդանշանի և ավելի մեծ հեռավորության համար: Ես փորձեցի Arduino- ից այն միացնել 5 Վ -ին, բայց այն ժամանակ ՌԴ ազդանշանը չափազանց թույլ է: Հետո տվյալների կապը միացրեցի թվային 12 -ի:

LDR. Ես 4 LDR- ն միացրեցի A0, A1, A2, A3 անալոգային կապումներին: Ես դրել եմ LDR- ները 1K դիմադրության հետ միասին:

Շարժիչներ. Շարժիչներն առաջնորդվում են 2 DRV8825 կառավարման մոդուլներով: Սրանք շատ հարմար են, քանի որ դրանք տանում են ընդամենը 2 մուտքային տող (ուղղություն և քայլ) և կարող են շարժիչներին արտադրել մինչև 2 Ա յուրաքանչյուր փուլում: Ես դրանք միացրել եմ 2, 3 և 8, 9 թվային կապումներին:

LCD. Ես LCD- ը միացրեցի Raspberry Pi- ին `նրա IP հասցեն ցույց տալու համար: Հետևի լույսը կարգավորելու համար օգտագործեցի հարմարվողական սարք:

ՌԴ ընդունիչ. Ես ընդունիչը միացրել եմ Arduino Uno- ին 5V և Ground- ով: Ստացողը չպետք է վերցնի 5 Վ -ից ավելի: Հետո ես տվյալների կապը միացրեցի թվային կապի 11. Եթե կարող եք գտնել այս ՌԴ մոդուլների գրադարան, որն աշխատում է Raspberry Pi- ի վրա, ապա ձեզ հարկավոր չէ օգտագործել Arduino Uno- ն:

Raspberry Pi. The Raspberry Pi- ն միացված է Arduino Uno- ին USB մալուխի միջոցով: Arduino- ն ՌԴ ազդանշանները փոխանցում է Raspberry Pi- ին սերիական կապի միջոցով:

Քայլ 4: Եկեք սկսենք կոդավորումը

Arduino Pro Mini- ին կոդավորելու համար ձեզ հարկավոր կլինի FTDI ծրագրավորող: Քանի որ Pro Mini- ն չունի USB պորտ (էներգիա խնայելու համար), ձեզ հարկավոր կլինի այդ բեկումնային տախտակը: Ես ծրագրավորեցի կոդը Arduino IDE- ում, կարծում եմ, որ դա ամենահեշտ ձևն է դա անելու համար: Վերբեռնեք ծածկագիրը ֆայլից, և այն պետք է լավ լինի:

Arduino Uno- ն կոդավորելու համար ես այն միացրել եմ իմ համակարգչին USB մալուխի միջոցով: Կոդը վերբեռնելուց հետո այն միացրի Raspberry Pi- ին: Ես կարողացա նաև փոխել Raspberry Pi- ի ծածկագիրը, որովհետև ես տեղադրել եմ Arduino IDE- ն, ուստի կարող եմ ծրագրավորել այն այնտեղից: Կոդը շատ պարզ է, այն ընդունիչից վերցնում է մուտքագրումը և սերիական պորտի միջոցով ուղարկում Raspberry Pi:

Raspberry Pi- ն ծածկագրելու համար ես տեղադրեցի Raspbian- ը: Հետո ես օգտագործեցի Putty ՝ դրան SSH միացման միջոցով միանալու համար: Այնուհետև ես կարգավորում եմ ազնվամորին, որպեսզի կարողանամ դրան միանալ VNC- ի միջոցով և, հետևաբար, ունենալ GUI: Ես տեղադրեցի Apache վեբ սերվեր և սկսեցի ծածկագրել այս նախագծի հետևի և ֆրոնտենդը: Դուք կարող եք գտնել կոդը github- ում ՝

Քայլ 5: Տվյալների բազա

Տվյալները պահելու համար ես օգտագործում եմ SQL տվյալների բազա: Ես ստեղծեցի տվյալների բազան MySQL Workbench- ում: Տվյալների բազան պահում է սենսորների ընթերցումները և տվիչների տվյալները: Ես ունեմ 3 աղյուսակ ՝ մեկը սենսորային արժեքները ժամանակային նշաններով պահելու համար, մյուսը ՝ սենսորների մասին տեղեկատվություն պահելու և վերջինը ՝ օգտվողների մասին տեղեկությունները պահելու համար: Ես չեմ օգտագործում Օգտվողների աղյուսակը, քանի որ ես չեմ կոդավորել նախագծի այդ հատվածը, քանի որ այն իմ MVP- ում չէր: Ներբեռնեք SQL ֆայլը և կատարեք այն, և տվյալների բազան պետք է լավ լինի:

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