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

Uber I2C LCD վերահսկիչի մոդուլ `6 քայլ
Uber I2C LCD վերահսկիչի մոդուլ `6 քայլ

Video: Uber I2C LCD վերահսկիչի մոդուլ `6 քայլ

Video: Uber I2C LCD վերահսկիչի մոդուլ `6 քայլ
Video: #5 FLProg անալոգային մուտք I2C LCD-ի վրա | ESP32 NodeMCU | Arduino Visual Embedded Programming 2024, Հուլիսի
Anonim
Uber I2C LCD վերահսկիչ մոդուլ
Uber I2C LCD վերահսկիչ մոդուլ
Uber I2C LCD վերահսկիչ մոդուլ
Uber I2C LCD վերահսկիչ մոդուլ
Uber I2C LCD վերահսկիչ մոդուլ
Uber I2C LCD վերահսկիչ մոդուլ

Նախաբան

Այս Instructable- ը մանրամասնում է, թե ինչպես ստեղծել HD44780 LCD- ի վրա հիմնված վերահսկիչի մոդուլ (նկար 1 վերը): Մոդուլը թույլ է տալիս օգտագործողին վերահսկել LCD- ի բոլոր ասպեկտները ծրագրային առումով I2C- ի վրա, որը ներառում է. LCD և էկրան, հակադրություն և հետևի լույսի ինտենսիվություն: Թեև Arduino Uno R3- ն օգտագործվել է դրա նախատիպը պատրաստելու համար, այն հավասարապես լավ կաշխատի ցանկացած միկրոկոնտրոլերի հետ, որն աջակցում է I2C- ին:

Ներածություն

Ինչպես նշվեց վերևում, այս հոդվածը փաստում է I2C LCD Controller մոդուլի ստեղծումը, այն հիմնականում նախատեսված էր որպես նախագծման վարժություն `որոշելու, թե որքան ժամանակ կպահանջվի գործնական աշխատանքային PCB ստեղծելու համար:

Դիզայնը փոխարինում է ստանդարտ ընդհանուր վերահսկիչ մոդուլին (նկ. 3 վերև) և հիմնվում է իմ կողմից ավելի վաղ արտադրված հրահանգների և գրադարանների վրա:

Նախնական հայեցակարգի նախատիպից (նկ. 2 վերև) մինչև ավարտված, լիովին փորձարկված PCB (նկ. 1 վերև) ընդհանուր առմամբ պահանջվել է 5.5 օր:

Ի՞նչ մասեր են ինձ պետք: Տես ստորև կցված նյութերի օրինագիծը

Ինչ ծրագրային ապահովման կարիք ունեմ:

  • Arduino IDE 1.6.9,
  • Kicad v4.0.7, եթե ցանկանում եք փոփոխել PCB- ն: Հակառակ դեպքում պարզապես ուղարկեք 'LCD_Controller.zip' JLCPCB- ին:

Ի՞նչ գործիքների կարիք ունեմ:

  • Առնվազն x3 մանրադիտակ (SMT զոդման համար),
  • SMD զոդման երկաթ (հեղուկ հոսքի գրիչով և հոսքի առանցքով զոդումով),
  • Ուժեղ պինցետ (SMT զոդման համար),
  • Նուրբ տափակաբերան աքցան (մատնացույց և քթած քիթ),
  • DMM լսելի շարունակականության ստուգմամբ:

Ի՞նչ հմտություններ են ինձ պետք:

  • Շատ համբերություն,
  • Ձեռքի մեծ ճարտարություն և ձեռքի/աչքի գերազանց համակարգում,
  • Soldոդման գերազանց հմտություններ:

Coveredածկված թեմաներ

  • Ներածություն
  • Շրջանի ակնարկ
  • PCB Արտադրություն
  • Softwareրագրային ապահովման ակնարկ
  • Դիզայնի փորձարկում
  • Եզրակացություն
  • Օգտագործված հղումներ

Քայլ 1. Շրջանների ակնարկ

Շրջանի ակնարկ
Շրջանի ակնարկ

Բոլոր էլեկտրոնիկայի ամբողջական միացման դիագրամը տրված է վերևում 1 -ին նկարում, ինչպես նաև ստորև նշված PDF- ում:

Շղթան նախագծվել է որպես ստանդարտ PCF8574A I2C LCD Controller մոդուլի ճշգրիտ փոխարինող ՝ հետևյալ կատարելագործումներով.

  • I2C օգտագործողի կողմից ընտրելի 3v3 կամ 5v համատեղելիություն,
  • Կոնտրաստի թվային հսկողություն կամ սովորական կաթսայի կարգավորումը,
  • Հետևի լույսի ինտենսիվության փոփոխական ընտրություն `քառանկյուն թեթևացման գործառույթի վերահսկմամբ` հարթ մարումին հասնելու համար:

LCD ցուցադրման հսկողություն

Սա ստանդարտ I2C LCD Controller մոդուլի ֆաքսիմիլն է, որն օգտագործում է PCF8574A (IC2) I2C- ի զուգահեռ փոխակերպման համար:

Դրա կանխադրված I2C հասցեն 0x3F է:

3v3 կամ 5v I2C համատեղելիություն

3v3 շահագործման համար տեղավորվում են Q1, Q2 ROpt1, 2, 5 & 6, IC1, C2 և C2:

Եթե պահանջվում է 5 վ գործողություն, ապա մի՛ տեղավորեք 3v3 բաղադրիչներին ՝ դրանք փոխարինելով 0 Օմ 3 և 4 դիմադրիչներով:

Թվային հակադրություն

Կոնտրաստի թվային վերահսկողությունը ձեռք է բերվում U2 MCP4561-103E/MS և C4, R5 թվային պոտենցիոմետրի օգտագործման միջոցով:

Եթե պահանջվում է սովորական մեխանիկական պոտենցիոմետր, ապա այն կարելի է տեղադրել PCB, RV1 10K, U2, C4 և R5 փոխարեն: Համատեղելի պոտենցիոմետրի համար տե՛ս BoM:

Brատկող J6- ի կամրջմամբ I2C հասցեն 0x2E է: Ենթադրվում էր, որ նորմալ շահագործման համար դա կամրջված է:

Հետևի լույսի ինտենսիվության փոփոխական ընտրություն

Հետևի լույսի փոփոխական ինտենսիվությունը վերահսկվում է LCD LED հետևի լույսի PWM մոդուլյացիայի միջոցով U1 կապ 6 -ի և ATTiny85- ի միջոցով: Ստանդարտ I2C LCD Controller մոդուլ R1 մոդուլի հետ լիարժեք համատեղելիությունը պահպանելու համար T1 R7 և T2- ն օգտագործվում են +ve մատակարարման երկաթուղու մոդուլացման համար:

Դրա համար կանխադրված I2C հասցեն 0x08 է: Սա ընտրելի է օգտվողի կողմից ՝ կազմման ժամանակ ՝ մինչև U1 ծրագրավորումը:

Քայլ 2: PCB- ի արտադրություն

PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն
PCB Արտադրություն

Ինչպես ավելի վաղ նշվեց, այս Հրահանգը վարժություն էր, որն առաջին հերթին նպատակ ուներ որոշելու, թե որքան ժամանակ կպահանջվի դիզայնը (որն ուներ գործնական նպատակ):

Այս դեպքում ես մտածեցի սկզբնական հայեցակարգի մասին շաբաթ կեսօրին և նախատիպը լրացրել էի մինչև շաբաթ երեկոյան նկար 1 -ը: Իմ գաղափարն, ինչպես նշվեց, այն էր, որ ստեղծեի I2C LCD վերահսկիչ մոդուլի իմ սեփական տարբերակը `նույնական հետքերով, որն առաջարկում էր LCD- ի ամբողջական ծրագրային վերահսկողություն I2C- ի նկատմամբ:

Սխեմատիկ դիագրամը և PCB- ի դասավորությունը մշակվել են Kicad v4.0.7 նկարներով 2 և 3:

Բաղադրիչները չորեքշաբթի ժամանեցին Ֆարնելից, որին հաջորդեցին JLCPCB- ի PCB- ները հինգշաբթի (ես գործի արագացման համար օգտագործել եմ DHL առաքման ծառայությունը) նկարներ 4, 5, 6 և 7:

Հինգշաբթի երեկոյան երկու տախտակ (3v3 և 5v տարբերակներ) կառուցվել էին և հաջողությամբ փորձարկվել 4 -ից 20 LCD էկրանով: Լուսանկարներ 8, 9 և 10:

Amazingարմանալի 5,5 օր սկզբնական հայեցակարգից մինչև ավարտը:

Ինձ ապշեցնում է, թե որքան արագ JLCPCB- ն ի վիճակի է պատվիրել, արտադրել երկկողմանի PTH PCB և առաքել այն Միացյալ Թագավորություն: 2 օր արտադրության և 2 օր առաքման համար: Սա ավելի արագ է, քան Մեծ Բրիտանիայում հիմնված PCB արտադրողները և գնի մի փոքր մասով:

Քայլ 3: Softwareրագրաշարի ակնարկ

Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ
Softwareրագրային ապահովման ակնարկ

Theրագրակազմի երեք հիմնական բաղադրիչ մասեր կան, որոնք անհրաժեշտ են I2C LCD հսկիչի մոդուլը վերահսկելու համար.

1. LiquidCrystal_I2C_PCF8574 Arduino գրադարան

Հասանելի է այստեղ

Օգտագործել ձեր Arduino էսքիզում ՝ LCD էկրանը կառավարելու համար:

Նշում. Սա հավասարապես լավ է աշխատում Generic I2C LCD մոդուլի վերահսկիչի հետ: Միայն այն տալիս է ֆունկցիոնալություն, քան մյուս գրադարանները:

2. MCP4561_DIGI_POT Arduino գրադարան

Օգտագործվել ձեր ուրվագծում `LCD հակադրությունը ծրագրայինորեն վերահսկելու համար

Հասանելի է այստեղ

3. LCD հետևի լուսավորության մակարդակների ծրագրային հսկողություն `օգտագործելով PWM և Quartic lehting գործառույթը` հարթ մարումին հասնելու համար:

Ինչպես ավելի վաղ նշվեց, տախտակը պարունակում է մեկ ATTiny85, որն օգտագործվում է էկրանի հետևի լույսի աստիճանական մարումը վերահսկելու համար:

Այս ծրագրաշարի մանրամասները տրված են ավելի վաղ հրահանգվող «Smooth PWM LED Fading With the ATTiny85» - ում

Այս դեպքում PCB- ի վերջնական չափերը նույնը պահելու համար, ինչ LCD- ի վերահսկիչի ընդհանուր մոդուլը, ընտրվել է ATTiny85- ի SOIC տարբերակը: 1 -ին և 2 -րդ նկարները ցույց են տալիս, թե ինչպես է ATTiny85 SOIC- ը ծրագրավորվել և փորձարկվել ստեղծված նախատիպում:

ATTiny85- ում ծրագրված ծածկագիրը «Tiny85_I2C_Slave_PWM_2.ino» էր ՝ հասանելի այստեղ

Մանրամասների համար, թե ինչպես ստեղծել ձեր սեփական ATTiny85 ծրագրավորողը տե՛ս այս հրահանգը ՝ «mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino As ISP»

Քայլ 4: Դիզայնի փորձարկում

Դիզայնի փորձարկում
Դիզայնի փորձարկում
Դիզայնի փորձարկում
Դիզայնի փորձարկում

Դիզայնը փորձարկելու համար ես ստեղծեցի «LCDControllerTest.ino» անունով ուրվագիծ, որը թույլ է տալիս օգտագործողին տեղադրել LCD- ի ցանկացած հատուկ պարամետր անմիջապես սերիական տերմինալային միացման միջոցով:

Էսքիզը կարելի է գտնել իմ GitHub պահոցում I2C-LCD-Controller-Module

Վերևում նկար 1 -ը ցույց է տալիս 5v I2C- ի համապատասխան տախտակի մամլիչը, որը տեղադրված է 4 -ից 20 LCD- ով և նկար 2 -ի կանխադրված էկրանը `առաջին անգամ փորձարկման կոդը գործարկելիս:

Այն օգտագործում է հետևյալ լռելյայն արժեքները հետին լուսավորության և հակադրության համար.

  • #սահմանել DISPLAY_BACKLIGHT_LOWER_VALUE_DEFAULT ((անստորագիր երկար) (10))
  • #սահմանել DISPLAY_CONTRAST_VALUE_DEFAULT ((uint8_t) (40))

Ես գտա, որ դրանք լավ են աշխատում 4 -ից 20 LCD էկրանով, որն ունեի պահեստային մասում:

Քայլ 5: Եզրակացություն

Երբ ես սկսեցի աշխատել էլեկտրոնիկայի/ծրագրաշարի արդյունաբերության մեջ բավականին ժամանակ առաջ, մեծ շեշտ էր դրվում մետաղալարերի կամ վերվոդային կոնստրուկցիաների օգտագործման վրա `նախնական սխեմայով վերջնական սխեմայի նախատիպերի ստեղծման համար, եթե սխալվել եք:, հաշվի առնելով տախտակի վերամշակման արժեքը և տևողությունը:

Սխալը սովորաբար ձեզ վրա նստեց մի քանի շաբաթ ժամանակացույցի համաձայն և փչացրեց շահույթի մարժան (և, հնարավոր է, ձեր աշխատանքը):

PCB- ները կոչվում էին «արվեստի գործեր», քանի որ դրանք իսկապես արվեստի գործեր էին: Ստեղծվել է երկու անգամ լրիվ չափի ՝ օգտագործելով «հետք» կամ վարագույրի կողմից սև կպչուն ժապավենի ժապավեն և լուսանկարչականորեն կրճատվել է գործարանի կողմից, որպեսզի լուսանկարը դիմադրի տրաֆարետներին:

Շրջանային սխեմաները նույնպես ստեղծվել են հետագծողների կողմից և ձեռքով կազմվել ձեր դիզայնի գրառումներից: Պատճենները արվում էին ֆոտոստատիկորեն և կոչվում «կապույտ տպագրություններ»: Քանի որ դրանք անընդհատ կապույտ էին:

Միկրոհսկիչները դեռ նորածնության մեջ էին և, որպես կանոն, միացված էին միացման սխեմայի, եթե ձեր ընկերությունը կարող էր իրեն թույլ տալ մեկին `ուղեկցող բարդ և թանկարժեք զարգացման միջավայրով:

Որպես արտադրող այն ժամանակ, ծրագրաշարի մշակման գործիքի շղթայի արժեքը միայն արգելք էր, դուք անխուսափելիորեն ստիպված եղաք վեցանկյուն արժեքներ ուղղակիորեն ներդնել EPROM- ի մեջ (RAM/Flash, եթե դուք շատ հաջողակ լինեիք), այնուհետև ժամեր ծախսեիք ՝ մեկնաբանելով արդյունքում ստացվող վարքը: ձեր ծածկագիրը կատարում էր, եթե այն չաշխատեր այնպես, ինչպես սպասվում էր (բիթը «թրթռալու» կամ սերիական տպագրությունը վրիպազերծման ամենահայտնի տեխնիկան է: Որոշ բաներ երբեք չեն փոխվում): Սովորաբար դուք պետք է գրեիք ձեր բոլոր գրադարանները, քանի որ դրանք մատչելի չէին (իհարկե ինտերնետի նման հարուստ աղբյուր չկար):

Սա նշանակում է, որ դուք շատ ժամանակ եք ծախսել ՝ հասկանալու համար, թե ինչպես է ինչ -որ բան աշխատում, և ավելի քիչ ժամանակ եք ծախսում ստեղծագործելու համար:

Ձեր բոլոր գծապատկերները գծված են ձեռքով, սովորաբար A4 կամ A3- ի վրա և պետք է մանրակրկիտ մտածված լինեն ՝ տալով ազդանշանային ուղու տրամաբանական հոսք ձախից աջ: Սովորաբար ուղղումները նշանակում էին, որ անհրաժեշտ է սկսել նոր թերթիկով:

Մեծ մասամբ ձեր վերջնական սխեման մշակվել է veroboard- ի միջոցով `մշտականության համար և տեղադրվել է ABS- ի պարզ պատյանում` դրան «մասնագիտական հպում» հաղորդելու համար:

Ի հակադրություն, ես այս ամբողջ նախագիծը մշակեցի 5,5 օրվա ընթացքում `օգտագործելով բարձրորակ անվճար ծրագիր, որի արդյունքում ստացվեց մասնագիտական ստանդարտ PCB: Եթե ցանկությունը տանի ինձ, ես կարող էի այն տեղադրել իմ պատրաստած 3D տպագրված տուփի մեջ:

Մի բան, որի մասին կարելի էր միայն երազել ավելի քան մեկ տասնամյակ առաջ:

Ինչպես ամեն ինչ փոխվեց դեպի լավը:

Քայլ 6: Օգտագործված հղումներ

KiCAD սխեմատիկ գրավում և PCB ձևավորում

KiCAD EDA

Arduino ORG ծրագրակազմի մշակման գործիք

Արդուինո

LiquidCrystal_I2C_PCF8574 Arduino գրադարան

Այստեղ

MCP4561_DIGI_POT Arduino գրադարան

Այստեղ

Հարթ PWM LED- ի մարում ATTiny85- ի հետ

Այստեղ

Mingրագրավորում ATTiny85, ATTiny84 և ATMega328P. Arduino որպես ISP

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