Բովանդակություն:
- Քայլ 1. Շրջանների ակնարկ
- Քայլ 2: PCB- ի արտադրություն
- Քայլ 3: Softwareրագրաշարի ակնարկ
- Քայլ 4: Դիզայնի փորձարկում
- Քայլ 5: Եզրակացություն
- Քայլ 6: Օգտագործված հղումներ
Video: Uber I2C LCD վերահսկիչի մոդուլ `6 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Նախաբան
Այս 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- ի արտադրություն
Ինչպես ավելի վաղ նշվեց, այս Հրահանգը վարժություն էր, որն առաջին հերթին նպատակ ուներ որոշելու, թե որքան ժամանակ կպահանջվի դիզայնը (որն ուներ գործնական նպատակ):
Այս դեպքում ես մտածեցի սկզբնական հայեցակարգի մասին շաբաթ կեսօրին և նախատիպը լրացրել էի մինչև շաբաթ երեկոյան նկար 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րագրաշարի ակնարկ
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
Խորհուրդ ենք տալիս:
Xbox 360 անլար վերահսկիչի պատյան փոխարինելը. 15 քայլ (նկարներով)
Xbox 360 անլար վերահսկիչի պատյան փոխարինելը. Քայլ առ քայլ ուղեցույց ՝ Xbox 360 վերահսկիչի պատյանը նոր պատյանով փոխարինելու համար: Այս ձեռնարկը կարող է օգտագործվել ուսանողներին տեսախաղերի միջոցով հիմնական պատկերացում կազմելու ապարատային, էլեկտրական/համակարգչային տեխնիկայի և համակարգչային գիտության սկզբունքների մասին
Vintage Nikko R/C վերահսկիչի վերանորոգում. 5 քայլ
Vinkage Nikko R/C Controller- ի վերանորոգում. Ինձ կանչելով 11 -ամյա վշտահար պատանու կողմից, ով պատահաբար կոտրեց իր հայրիկի խաղողի մեքենայի վերահսկիչի ալեհավաքը, ես ընդունեցի այն վերանորոգելու մարտահրավերը ՝ առանց ակնհայտ դարձնելու, որ վերանորոգված է: Վիրավորող վերահսկիչի ցուցադրումը
I2C / IIC LCD էկրան - Օգտագործեք SPI LCD I2C LCD էկրանին ՝ օգտագործելով SPI- ից IIC մոդուլը Arduino- ով. 5 քայլ
I2C / IIC LCD էկրան | Օգտագործեք SPI LCD I2C LCD էկրանին ՝ օգտագործելով SPI- ից IIC մոդուլ Arduino- ով. Բարև տղերք, քանի որ սովորական SPI LCD 1602 -ը չափազանց շատ լարեր ունի միացնելու, այնպես որ շատ դժվար է այն միացնել arduino- ին, բայց շուկայում կա մեկ մոդուլ, որը կարող է փոխակերպեք SPI էկրանը IIC էկրանին, այնպես որ դուք պետք է միացնեք ընդամենը 4 լար
1602 LCD ստեղնաշարի վահանի մոդուլ I2C ուսապարկով ՝ 6 քայլ
1602 LCD ստեղնաշարի վահանի մոդուլ I2C ուսապարկով. Որպես ավելի մեծ ծրագրի մի մաս, ես ցանկանում էի ունենալ LCD էկրան և ստեղնաշար `որոշ պարզ ընտրացանկերում նավարկելու համար: Ես կօգտագործեմ Arduino- ի I/O նավահանգիստները շատ այլ աշխատանքների համար, ուստի ես ուզում էի I2C ինտերֆեյս LCD- ի համար: Այսպիսով, ես որոշ սարքավորումներ գնեցի
I2C / IIC LCD էկրան - Փոխարկեք SPI LCD- ը I2C LCD էկրանին `5 քայլ
I2C / IIC LCD էկրան | Փոխարկեք SPI LCD- ը I2C LCD էկրանին. Spi LCD էկրանին օգտագործելու համար չափազանց շատ կապեր են անհրաժեշտ, ինչը իսկապես դժվար է անել: Ես գտա մի մոդուլ, որը կարող է i2c LCD- ը վերածել spi LCD- ի, ուստի եկեք սկսենք