» Motīvi » Remonts, modernizācija »Kā mirgot lukturītim, lai mainītu darba režīmus

Kā mirgot lukturītim, lai mainītu darba režīmus


Šī materiāla autoram nepatika parastie lukturīšu BLF A6 darbības režīmi. Tad viņš nolēma mirgot programmatūras lukturīša daļā, iestatot tā režīmus. Kā izrādījās, tas nav tik vienkārši, par programmaparatūru un pinouts ir minimāls informācijas daudzums, un viņam tas bija jāapkopo pamazām. Un, lai viņa nepazustu, viņš nolēma palīdzēt citiem un visu sakārtot rakstā.

Tātad, darbam jums būs nepieciešams:
Lukturis BLF A6 (iespējams, tas darbosies ar citām lukturītēm, kuru pamatā ir ATtiny).
Pincete / plānas knaibles / mazas šķēres.
Dators programmaparatūrai, vēlams ar Linux izplatīšanu.
USB ASP / programmētājs Arduino / kaut kas tāds, ko var izdarīt AVR programmēšana (acīmredzot USB ASP programmētājs ir labāks, bet vednis izmantoja Arduino).
Ātrgaitas dzelzceļa-sliedes pastiprinātājs [SOIC-8] (jūs varat iztikt bez tā, taču tas ir ļoti neērti).
Attīstības dēlis un džempera vadi savienošanai.

Programmaparatūra.
Ir pieejama programmaparatūra BLF A6 (un daudzām citām zibspuldzēm) šeit. Par to ir pieejams diskusiju forums saite.
Jūs varat lejupielādēt programmaparatūru, palaižot meklēšanu "bzr branch lp: flashlight-firmware". Nepieciešama zibspuldzes programmaparatūra / ToyKeeper / blf-a6 mape. Tas satur apkopotu failu. hex, gatavs programmaparatūrai (blf-a6.hex) un C kods, kuru var arī mainīt (blf-a6.c). Ja vēlaties mirgot akciju programmaparatūru, varat izlaist nākamo darbību un vienkārši izmantot blf-a6.hex. Iespējams, ka darbosies arī kāda cita šajā krātuvē esošā programmaparatūra.

Mainīt programmaparatūru.
Uzmanību simboli, lai nesagrozītu nozīmi, ir doti bez tulkojuma.
Vēlamajā teksta redaktorā vai IDE atveriet blf-a6.c. Interesantākās līnijas ir režīmu grupas starp 94. un 109. līniju. Tās izskatās šādi:
// 1. režīma grupa
#definēt NUM_MODES1 7
// PWM līmeņi lielajai shēmai (FET vai Nx7135)
#definēt MODESNx1 0,0,0,7,56,137,255
// PWM līmeņi mazajai shēmai (1x7135)
#definēt MODES1x1 3,20,110,255,255,255,0
// Mans paraugs: 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32)
// Krono paraugs: 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78)
// Manker2: 2 = 21, 3 = 39, 4 = 47, ... 6? = 68
// PWM ātrums katrā režīmā
#define MODES_PWM1 FASE, FAST, FAST, FAST, FAST, FAST, FASE
// 2. režīma grupa
#definēt NUM_MODES2 4
#definēt MODESNx2 0,0,90,255
#definēt MODES1x2 20,230,255,0
#definēt MODES_PWM2 ĀTRI, ĀTRI, ĀTRI, FĀZI

Katrā grupā MODESN ir PWM vērtība, ko izmanto FET, un MODES1 ir PWM vērtība, ko katrā režīmā izmanto 7135. Cipars ir diapazonā no 0 līdz 255 un atbilst gaismas spilgtumam. Vairāk informācijas
šeit. (ritiniet uz leju līdz režīma kontrolei:). Meistars nav pārliecināts, kāds ir PWM ātrums.Ja kāds zina, pastāstiet man komentāros. Lauka efekta tranzistors var radīt vairāk gaismas nekā 7135, bet 7135 saglabā gaismas līmeni gandrīz vienādu visā akumulatora darbības laikā, savukārt, lietojot lauka efekta tranzistoru, gaisma zūd, kad akumulators izlādējas.

Šeit mēs varam pielāgot PWM vērtības, lai izveidotu režīmus pēc mūsu vēlmēm. Varat arī mainīt režīmu skaitu, taču kapteinis to nedarīja, jo viņam nepieciešami četri režīmi, un tas ir numurs otrajā grupā. Viņš gribēja tumšāku mēnessgaismas režīmu un tāpēc uzstādīja pirmo uz 0/1. Viņš arī turbo režīmu uzskata par nedaudz bezjēdzīgu, tāpēc es to aizstāju ar 137/255, kas ir līdzvērtīgs sestajam režīmam septiņu režīmu grupā.

Kad jums ir nepieciešamais kods, tas jāapkopo .hex failā. Vismaz jums ir nepieciešami gcc-avr un avr-libc. Ja rodas problēmas, apskatiet citas readme faila atkarības. Repozitorijā ir izveidots skripts, tāpēc viss, kas jums jādara, ir palaist:
../../bin/build.sh 13 blf-a6
mapē blf-a6. ../../Bin/build.sh ir skripts. 13 norāda, ka tas ir paredzēts ATtiny13, un blf-a6 norāda, ka tas ir paredzēts BLF A6.
avr-gcc -Wall -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89-inline -DATTINY = 13 -I .. -I ../ .. -I ../../ .. -short -enumi -o blf-a6.o -c blf-a6.c
avr-gcc -Wall -g -Os -mmcu = attiny13 -fgnu89-inline -o blf-a6.elf blf-a6.o
avr-objcopy - sākuma sekcijas-karodziņi = .eeprom = alloc, load --change-section-lma .eeprom = 0 --no-mainīt-brīdinājumi -O ihex blf-a6.elf blf-a6.hex
Programma: 1022 baiti (99,8% pilnībā)
dati: 13 baiti (pilns ar 20,3%)
Komandas jau ir optimizētas pēc lieluma, tāpēc, ja ir rakstīts, ka tās ir vairāk nekā 100% pilnas, mēģiniet izdzēst
#definēt FULL_BIKING_STROBE

125.rindas burvestības ir mazas velosipēds zibspuldzes gaisma. Ja ar to nepietiek, būs jāsamazina kaut kas cits.
Kad kompilācija ir pabeigta, mapē jābūt failam ar nosaukumu blf-a6.hex. Šis ir apkopots kods, gatavs programmaparatūrai.

Zibspuldzes demontāža.
Atskrūvējiet lukturīša galveno lukturi. Ir divi skrūvju savienojumi. Tas, kas atrodas tuvāk lukturīša korpusam, fiksē atstarotāju un gaismas diodi, un tas, kurš ir tuvāk vidum, fiksē dēli. Mums vajag vidējo.

Iekšā jūs redzēsit fiksējošu gredzenu ar atsperi un diviem caurumiem gar malām. Ievietojiet pinceti / plānās knaibles / šķēres caurumos un pagrieziet tos pretēji pulksteņrādītāja virzienam.

Kad gredzens ir noņemts, jums būs pieeja dēlim. Tas joprojām ir piestiprināts ar diviem vadiem, tāpēc esiet piesardzīgs. Tie ir savīti kopā, tāpēc pagrieziet dēli, līdz vadi ir vaļīgi. Pēc tam apgrieziet dēli. Nepieciešams, lai mikroshēma ar uzrakstu "TINY13A" būtu pieejamāka.

Ja vadi ir īsi un tas neizdodas, tad dēlis ir jānoņem.






Savienojums.
Tagad jums ir jāsagatavo tāfele programmaparatūrai.
Vednis izmanto SOIC8, lai savienotu mikroshēmu ATtiny13 un programmētāju.
Kā mirgot lukturītim, lai mainītu darba režīmus



Skatiet fotoattēlu, kā vednis izveido savienojumu. Ievērojiet sarkano līniju otrajā attēlā.

Ja izmantojat USB ASP V2.0 programmētāju, tas jāpieslēdz šādi:
1. piespraude ATtiny13 ierīcē - 5. piespraude USB ASP (atiestatīt)
4. piespraude ATtiny13 ierīcē - 10. piespraude USB ASP (iezemējums)
5. piespraude ATtiny13 ierīcē - 1. piespraude USB ASP (MOSI)
ATtiny13 6. piespraude - USB ASP (MISO) 9. piespraude
7. piespraude ATtiny13 ierīcē - 7. piespraude USB ASP (SCK)
8. piespraude ATtiny13 ierīcē - 2. piespraude USB ASP (VCC)

Ja izmantojat Arduino, piemēram, vedni, rīkojieties šādi:
Atveriet Arduino IDE un pārliecinieties, vai Arduino ir pievienots datoram. Atrodiet ISP skici mapē Fails> Piemēri> 11.ArduinoISP> ArduinoISP un augšupielādējiet to Arduino. Pēc tam pievienojiet ATtiny13 šādi:
ATtiny13 1. tapa - Arduino 10. piespraude (atiestatīt)
4. tapa uz ATtiny13 - GND uz Arduino (Ground)
5. piespraude ATtiny13 - 11. piespraude Arduino (MOSI)
6. piespraude ATtiny13 - 12. piespraude Arduino (MISO)
7. piespraude ATtiny13 - 13. piespraude Arduino (SCK)
8. piespraude uz ATtiny13 - VCC / 5 V vai 3,3 V Arduino (vēlams 5 V)

Programmaparatūra.
5. solis: mirgo
Lai iegūtu programmaparatūru, jums jāinstalē AVRDUDE. Lai pārbaudītu, vai tas darbojas ar Arduino, vednis raksta komandu:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -n
Ja tas darbojas, dodieties uz tukšo mapi un reģistrējieties:
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
Izveidojiet esošās programmaparatūras rezerves kopiju. Lai mirgo, mapē ar modificēto blf-a6.hex tas sākas:
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
Kā programmētājs jāprecizē stk500v1, kā arī jānorāda porta un datu pārsūtīšanas ātrums. Ja izmantojat Arduino un rodas šaubas, mēģiniet atvienot ATtiny13 no Arduino un augšupielādējiet skici Arduino IDE, izmantojot šie iestatījumi. Tas nedarbosies, bet jūs uzzināsit, kura komanda tiek izmantota konsoles logā. Pēc tam atribūtus var nokopēt komandā AVRDUDE.

Ja izmantojat USB ASP programmētāju, palaidiet:
avrdude -v -p attiny13 -c usbasp -n
Lai redzētu, vai tas darbojas:
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
Veidojiet dublējumu:
avrdude -v -p attiny13 -c usbasp -u -Flash: w: blf-a6.hex -Lietotai izmantošanai: w: 0x75: m -Ufuse: w: 0xFF: m
Lai mirgo:
-Uflash: w: blf-a6.hex. Aizvietojiet blf-a6.hex ar faila vārdu, ja tas atšķiras.
-Neizmantojams: w: 0x75: m un -neeksistē: w: 0xFF: m
Ja rodas kļūda, tas nozīmē, ka attēla fails ir pārāk liels, lai ietilptu mikroshēmā, un jums būs jādzēš daļa koda. Ja viss ir normāli, būtu jāparāda daži progresa rādītāji un pēc tam vārdi "avrdude darīts. Paldies."
Pēc mikroshēmas uzliesmošanas salieciet lukturīti un pārbaudiet, vai tas darbojas.
Jautājums \ tēma tiek automātiski publicēta sociālajā tīklā. vietņu tīkls - sekojiet līdzi atbildēm tur:

Piemērots tēmai

Saistītās tēmas

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...