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

Customրամեկուսացման հարմարեցված որոնվածը BLF A6 լապտերի վրա `5 քայլ
Customրամեկուսացման հարմարեցված որոնվածը BLF A6 լապտերի վրա `5 քայլ

Video: Customրամեկուսացման հարմարեցված որոնվածը BLF A6 լապտերի վրա `5 քայլ

Video: Customրամեկուսացման հարմարեցված որոնվածը BLF A6 լապտերի վրա `5 քայլ
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Նոյեմբեր
Anonim
Պատվերով որոնվածը թրծում է BLF A6 լապտերի վրա
Պատվերով որոնվածը թրծում է BLF A6 լապտերի վրա

Վերջերս ես ձեռք բերեցի BLF A6: Դա շատ գեղեցիկ է, բայց ինձ դուր չի գալիս ռեժիմների լռելյայն խումբը, այնպես որ ես փոխեցի որոնվածը `նախընտրած պայծառությունները օգտագործելու համար: Տեղեկատվությունը դժվար էր գտնել, ուստի ես իմ և ուրիշների համար այստեղ եմ դնում այն ամենը, ինչ սովորել եմ:

Պարագաներ

BLF A6 (հավանաբար կաշխատի ATtiny- ի վրա հիմնված այլ լապտերների հետ)

Պինցետներ / բարակ տափակաբերան աքցան / փոքր մկրատ / ինչ -որ բան ՝ վարորդի տախտակի ամրացման օղակը ետ շրջելու համար

Համակարգիչը լուսավորելու համար, նախընտրելի է Linux բաշխում

USB ASP ծրագրավորող / Arduino / մի բան, որը կարող է կատարել AVR ծրագրավորում (ըստ երևույթին, USB ASP ծրագրավորողը խորհուրդ է տրվում, բայց ես օգտագործել եմ Arduino)

SOIC8 հոլովակ (հնարավոր է անել առանց դրա, բայց դա շատ անհեթեթ է և ամենևին խորհուրդ չի տրվում)

(ըստ ցանկության) Միացվող տախտակի և (կամ) ցատկերի լարեր `միացումն ավելի դյուրին դարձնելու համար

Քայլ 1: Ներբեռնեք որոնվածը

BLF A6- ի (և շատ այլ լապտերների) որոնվածը հասանելի է այստեղ: Հեղինակը դրա մասին խոսում է այստեղ: Դուք կարող եք ներբեռնել այն գործարկելով ՝

bzr մասնաճյուղ lp: ~ խաղալիք/լապտեր-որոնված/blf-a6-final

տերմինալում: (գուցե հարկ լինի տեղադրել bzr)

Նշում. Այս հրահանգի նախորդ խմբագրման փոխարեն ես օգտագործել եմ «bzr branch lp: flashlight-firmware»: Այդ ժամանակվանից ես իմացա, որ սա ներբեռնում է հնացած տարբերակ `ժամանակին անջատված կոնդենսատորի համար սխալ արժեքներով, ինչը կոճակն անհարմար երկար սեղմում է: (Reddit- ի այս թեմայի շնորհիվ)

Ձեր ուզած թղթապանակը blf-a6-final/ToyKeeper/blf-a6 է: Այն պարունակում է կազմված. Hex ֆայլ, որը պատրաստ է բռնկման (blf-a6.hex) և C կոդ, որը կարող եք փոփոխել: (blf-a6.c) Եթե ցանկանում եք լուսավորել ֆիրմայի որոնվածը, կարող եք բաց թողնել հաջորդ քայլը և պարզապես օգտագործել blf-a6.hex: Այդ պահեստի մյուս ծրագրակազմը, հավանաբար, նույնպես կաշխատի:

Քայլ 2: Փոփոխեք որոնվածը

Բացեք blf-a6.c- ը ձեր նախընտրած տեքստային խմբագրիչում կամ IDE- ում: Ամենահետաքրքիր տողերն են ռեժիմի խմբերը 116 -րդ և 131 -րդ տողերի միջև: Նրանք ունեն այս տեսքը.

// Ռեժիմ խումբ 1 #սահմանել NUM_MODES1 7 // PWM մակարդակները մեծ միացման համար (FET կամ Nx7135) #սահմանել MODESNx1 0, 0, 0, 7, 56, 137, 255 // PWM մակարդակները փոքր միացման համար (1x7135) # սահմանել MODES1x1 2, 20, 110, 255, 255, 255, 0 // Իմ նմուշը ՝ 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32) // Krono նմուշ ՝ 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78) // Տնօրեն 2: 2 = 21, 3 = 39, 4 = 47,… 6? = 68 // PWM արագությունը յուրաքանչյուր ռեժիմի համար #սահմանել MODES_PWM1 PHASE, FAST, FAST, FAST, FAST, FAST, PHASE // ռեժիմի խումբ 2 #սահմանել NUM_MODES2 4 #սահմանել MODESNx2 0, 0, 90, 255 #սահմանել MODES1x2 20, 230, 255, 0 #սահմանեք MODES_PWM2 FAST, FAST, FAST, PHASE

Յուրաքանչյուր խմբի համար MODESN- ը FET- ի համար օգտագործվող PWM արժեքն է, իսկ MODES1- ը ՝ յուրաքանչյուր ռեժիմում 7135 -ի համար օգտագործվող PWM արժեքը: Թիվը 0 -ից 255 -ի սահմաններում է և համապատասխանում է լույսի պայծառությանը: Լրացուցիչ տեղեկություններ այստեղ: (ոլորեք դեպի «Ռեժիմի կարգավորում.»): Ես վստահ չեմ, թե որն է ճշգրիտ PWM արագությունը: Եթե ինչ -որ մեկը գիտի, ասեք ինձ մեկնաբանություններում: FET- ը կարող է ավելի շատ լույս արտադրել, քան 7135 -ը, բայց 7135 -ը լույսի մակարդակը քիչ թե շատ նույնն է պահում մարտկոցի կյանքի ընթացքում, մինչդեռ FET- ը մթնում է, քանի որ մարտկոցը սպառվում է:

Այստեղ դուք կարող եք հարմարեցնել PWM- ի արժեքները ՝ ձեր նախընտրած ռեժիմներն արտադրելու համար: Դուք, հավանաբար, կարող եք նաև փոխել ռեժիմների քանակը, բայց ես դա չեմ փորձել, քանի որ ուզում էի չորս ռեժիմ, որը երկրորդ խմբի թիվն է: Ես ուզում էի ավելի մուգ լուսնային ռեժիմ, ուստի առաջինը սահմանեցի 0/1, և տուրբո ռեժիմը մի փոքր անիմաստ եմ համարում, ուստի այն փոխարինեցի 137/255 -ով ՝ յոթ ռեժիմի վեց ռեժիմի համարժեքով: Հավանաբար, անհրաժեշտության դեպքում կարող եք փոփոխել մնացած ծածկագիրը, բայց ես չեմ փորձել:

Երբ դուք ստանում եք ձեր ուզած կոդը, դուք պետք է այն կազմեք. Hex ֆայլում: Առնվազն ձեզ հարկավոր են gcc-avr և avr-libc: Եթե խնդիրներ ունեք, նայեք որոնվածի ընթերցման մյուս կախվածություններին: Պահեստը ներառում է կառուցման սցենար, բայց ես չկարողացա այն գործի դնել: Փոխարենը, ես ներբեռնեցի հին տարբերակը հետ

bzr մասնաճյուղ lp: լապտեր-որոնվածը

և պատճենեց հին կառուցման սցենարը (որ ես կարողանամ աշխատել) նորի վրա: Հետո վազեցի.

../../bin/build.sh 13 blf-a6

blf-a6 թղթապանակում: (դա պետք է լինի ավելի լավ միջոց).. (duh) Այն պետք է ասի ձեզ, թե ինչ հրամաններ է այն աշխատում և ձեզ տալիս է ելք: Իմն ունի այս տեսքը.

avr -gcc -Wall -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89 -inline -DATTINY = 13 -I.. -I../.. -I../../.. -fshort -enums -o blf -a6.o -c blf -a6.cavr -gcc -Wall -g -Os -mmcu = attiny13 -fgnu89 -inline -o blf -a6.elf blf -a6.o avr -objcopy --set -section-flags.) Տվյալներ ՝ 13 բայթ (20,3% լրիվ)

Հրամանները արդեն օպտիմիզացված են չափի համար, այնպես որ, եթե այն ասում է, որ այն 100% -ից ավել է, փորձեք մեկնաբանել

#սահմանեք FULL_BIKING_STROBE

147 -րդ տողում `ավելի փոքր նվազագույն հեծանվավազքի ստրոբ օգտագործելու համար: Եթե այն դեռ չի տեղավորվում, հավանաբար ինչ -որ տեղ պետք է ավելի շատ կոդ հեռացնեք: Կոմպիլյացիայի ավարտից հետո պանակում պետք է լինի blf-a6.hex անունով ֆայլ: Սա ձեր կազմած ծածկագիրն է, որը պատրաստ է բռնկման:

Քայլ 3: Ապամոնտաժեք լապտերը

Ապամոնտաժել լապտերը
Ապամոնտաժել լապտերը
Ապամոնտաժել լապտերը
Ապամոնտաժել լապտերը
Ապամոնտաժել լապտերը
Ապամոնտաժել լապտերը

Պտուտակեք լամպի ծայրը ժամացույցի սլաքի հակառակ ուղղությամբ: Այստեղ կա երկու պտուտակային հոդ: Լապտերի լամպի ծայրին ավելի մոտ գտնվողը բացում է ռեֆլեկտորը և LED- ը, իսկ կեսին ավելի մոտը ՝ վարորդի տախտակը: Դուք ցանկանում եք, որ մեկը ավելի մոտ լինի կեսին:

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

Մատանին հանելուց հետո ազատեք վարորդի տախտակը: Այն դեռ ամրացված է երկու լարերով, այնպես որ զգույշ եղեք: Նրանք ոլորված են միասին, այնպես որ պտտեք տախտակը այս կամ այն կերպ, մինչև լարերը թուլանան: Երբ բավականաչափ ազատություն ունեք, շրջեք տախտակը: Դուք դա ցանկանում եք այնպես, որ դրա վրա «TINY13A» մակագրությամբ չիպը ավելի բարձր և հասանելի լինի: Եթե այն սխալ կողմում է, շրջեք այն այլ ճանապարհով: Գարունը կողքի տակ կպցրու: Սա ժամանակավորապես կպահի այն տեղում և ավելի հեշտ կդարձնի չիպին հասնելը: Եթե դրա հետ կապված խնդիրներ ունեք, հավանաբար կարող եք պտուտակն այլ պտուտակն անջատել և ապամոնտաժել մյուս լարերը մյուս կողմից, որպեսզի կարողանաք ամբողջությամբ հեռացնել տախտակը, բայց ես դա չեմ փորձել:

Քայլ 4: Միացրեք Flashing Hardware- ը

Միացրեք Flashing Hardware- ը
Միացրեք Flashing Hardware- ը
Միացրեք Flashing Hardware- ը
Միացրեք Flashing Hardware- ը
Միացրեք Flashing Hardware- ը
Միացրեք Flashing Hardware- ը

Այժմ դուք օգտագործում եք SOIC8 տեսահոլովակը ATtiny13 չիպը և ձեր ծրագրավորողը միացնելու համար: Իմ SOIC8 հոլովակով, եթե ես երկու ծայրերի ձախ կողմում ունեմ կարմիր մետաղալար, ապա սեղմակի ծայրին ինձ ավելի մոտ գտնվող կապում շարանը համապատասխանում է միակցիչի ծայրին ինձ ավելի մոտ գտնվող կապանների շարքին, երբ միակցիչը թեքված է ներքև: (տես իմ գերարվեստի գծապատկերը) Այս ուղեցույցը խորհուրդ է տալիս օգտագործել USB ASP V2.0 ծրագրավորող: Եթե ունեք, միացրեք այն այսպես.

  • Կցեք 1 -ը ATtiny13- ին, 5 -ը ՝ USB ASP- ին (վերականգնում)
  • 4 -րդ կապը ATtiny13- ին, USB ASP- ի 10 -ին ամրացնելու համար (հիմք)
  • Կցեք 5 -ը ATtiny13- ին 1 -ին USB ASP- ին (MOSI)
  • 6 -րդ կապ ATtiny13- ին, 9 -ը USB ASP- ին (MISO)
  • 7 -րդ կապը ATtiny13- ին USB 7 ASP- ի (SCK) միացման համար
  • 8 -րդ կապը ATtiny13- ին, 2 -րդը USB ASP- ի (VCC) վրա

Եթե դուք, ինչպես և դուք, օգտագործում եք Arduino- ն, ապա պետք է մի փոքր ավելի շատ պատրաստվեք: Հետևեք այս ուղեցույցի զրո և երկրորդ քայլերին.

Բացեք Arduino IDE- ն և համոզվեք, որ ձեր Arduino- ն միացված է ձեր համակարգչին: Գտեք մատակարարի էսքիզը Ֆայլ> Օրինակներ> 11. ArduinoISP> ArduinoISP և վերբեռնեք այն ձեր Arduino- ում: Այնուհետև ATtiny13- ը միացրեք դրան հետևյալ կերպ.

  • Կցեք 1 -ը ATtiny13- ին և ամրացրեք 10 -ը Arduino- ում (վերականգնում)
  • 4 կապում ATtiny13- ին GND- ին Arduino- ում (գետնին)
  • Կցեք 5 -ը ATtiny13- ին, 11 -ը Arduino- ին (MOSI)
  • 6 -րդ կապը ATtiny13- ի վրա, 12 -ը Arduino- ի վրա (MISO)
  • 7 -րդ կապ ATtiny13- ին, 13 -ին Arduino- ին (SCK)
  • 8 -րդ կապ ATtiny13- ից VCC / 5V / 3.3V Arduino- ում (ցանկացածը պետք է աշխատի, բայց 5V- ն ավելի հուսալի է) (VCC)

Ես տեղադրեցի նաև ապարատային փաթեթը, բայց հավանաբար դա անհրաժեշտ չէր: Եթե կասկածում եք, փորձեք այն: Դա ոչ մի վնաս չի հասցնի: Բայց մի այրեք բեռնախցիկը, քանի որ այն, հավանաբար, կբարձրացնի ձեր լապտերը:

Քայլ 5: Լրացրեք այն

Firmրագիրը որոնելու համար անհրաժեշտ է տեղադրել AVRDUDE: Ստուգելու համար, որ այն աշխատում է իմ Arduino- ի հետ, ես գործարկում եմ.

avrdude -v -p attiny13 -c stk500v1 -P /dev /ttyUSB0 -b 19200 -n

Եթե այն աշխատի, ես ինչ -որ տեղ տեղափոխում եմ դատարկ թղթապանակ և գործարկում.

avrdude -v -p attiny13 -c stk500v1 -P /dev /ttyUSB0 -b 19200 -u -Uflash: r: flash -dump.hex: i -Ueeprom: r: eeprom -dump.hex: i -Ulfuse: r: lfuse -dump.hex: i -Uhfuse: r: hfuse -dump.hex: i

Առկա որոնվածը պահուստավորելու համար: Եվ այն բռնկելու համար փոփոխված blf-a6- ով թղթապանակից ես վազում եմ.

avrdude -v -p attiny13 -c stk500v1 -P /dev /ttyUSB0 -b 19200 -u -Uflash: w: blf -a6.hex -Ulfuse: w: 0x75: m -Uhfuse: w: 0xFF: m

Չգիտես ինչու, ես պետք է նշեմ stk500v1- ը որպես ծրագրավորող, և այն չաշխատեց, եթե չնշեցի պորտի և բաուդ արագությունը: Եթե դուք օգտագործում եք Arduino և կասկածում եք, փորձեք անջատել ձեր ATtiny13- ը Arduino- ից և վերբեռնել ուրվագիծը Arduino IDE- ում ՝ օգտագործելով այստեղի կարգավորումները: Այն ձախողվելու է, բայց այն պետք է ասի, թե ինչ հրաման է այն օգտագործում վահանակի պատուհանում: Դուք կարող եք պատճենել հատկանիշները ձեր AVRDUDE հրամանի մեջ:

Եթե դուք օգտագործում եք USB ASP ծրագրավորող, փոխարենը գործարկեք.

avrdude -v -p attiny13 -c usbasp -n

Տեսնելու համար, թե արդյոք այն աշխատում է և.

avrdude -v -p attiny13 -c usbasp -u -Uflash: r: flash -dump.hex: i -Ueeprom: r: eeprom -dump.hex: i -Ulfuse: r: lfuse -dump.hex: i -Uhfuse: r: hfuse-dump.hex: i

Կրկնօրինակ ստեղծելու և.

avrdude -v -p attiny13 -c usbasp -u -Uflash: w: blf -a6.hex -Ulfuse: w: 0x75: m -Uhfuse: w: 0xFF: m

Flashրամեկուսացնելու համար:

-Uflash: w: blf-a6.hex- ը վերաբերում է այն ֆայլին, որը փայլում է: Փոխարինեք blf-a6.hex- ը ձեր ֆայլի անունով, եթե այն այլ է:

-Ulfuse: w: 0x75: m և -Uhfuse: w: 0xFF: m են ապահովիչները: Ձերը կարող է տարբեր լինել, այնպես որ կրկնակի ստուգեք լապտեր-որոնվածի/bin/flash-tiny13-fuses.sh- ի արժեքները:

Եթե դա թույլ է տալիս տիրույթից դուրս սխալ, նշանակում է, որ պատկերը չափազանց մեծ է չիպի վրա տեղավորվելու համար, և դուք պետք է հեռացնեք ծածկագրի մի մասը: Եթե այն հաջողությամբ թարթում է, այն պետք է ցուցադրի առաջընթացի մի քանի սանդղակներ, այնուհետև ասի «Ավարտված է: Շնորհակալություն»:

Եթե այնտեղ գրված է «սարքի անվավեր ստորագրություն», և ձեր ծրագրավորողի jumper- ը սահմանվել է 3.3 վ, փորձեք այն սահմանել 5 վ:

Այն վառելուց հետո նորից հավաքեք ձեր լապտերը և տեսեք, արդյոք այն աշխատում է: Իմը արել, սակայն ժամկետները համար որոշ ̶r̶e̶a̶s̶o̶n̶.̶ է երկար մամլիչներ պետք է լինի մոտ երեք վայրկյան փոխարեն ̶1̶.̶5̶.̶ Ես չգիտեմ, եթե ̶i̶t̶'̶s̶ ինչ-որ բան պետք է անել, Arduino, կամ որովհետեւ ̶I̶'̶v̶e̶ օգտագործվում որ սխալ կարգավորումները ̶s̶o̶m̶e̶w̶h̶e̶r̶e̶.̶, եթե դուք ունեք որեւէ գաղափար, ̶ թող ինձ տեղյակ չէ ̶c̶o̶m̶m̶e̶n̶t̶s̶.̶

Խմբագրել. Ես ուղղեցի: (տես քայլ 1)

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