» kierteet » Korjaus, modernisointi »Kuinka salama taskulampulla käyttötilojen vaihtamiseksi

Kuinka salama taskulampulla käyttötilojen vaihtamiseksi


Tämän materiaalin kirjoittaja ei pitänyt taskulampun BLF A6 normaaleista toimintatavoista. Sitten hän päätti salata taskulampun ohjelmisto-osan asettamalla sen tilat. Kuten kävi ilmi, tämä ei ole niin yksinkertainen, että laiteohjelmistosta ja näytönohjaimista on minimaalisesti tietoa, ja hänen piti kerätä se vähän kerrallaan. Ja jotta hän ei eksy, hän päätti auttaa muita ja järjestää kaiken artikkelissa.

Joten töihin tarvitset seuraavat:
Taskulamppu BLF A6 (todennäköisesti tämä toimii muiden ATtiny-pohjaisten taskulamppujen kanssa).
Pinsetit / ohuet pihdit / pienet sakset.
Laiteohjelmisto, mieluiten Linux-jakelu.
USB ASP / ohjelmoija Työläs / jotain, mitä AVR-ohjelmointi voi tehdä (tietysti USB ASP-ohjelmoija on parempi, mutta velho käytti Arduinoa).
Nopea rautatie-kiskovahvistin [SOIC-8] (voit tehdä ilman sitä, mutta se on erittäin hankalaa).
Kehityskortti ja hyppyjohtimet liitäntää varten.

Firmware.
Laiteohjelmisto BLF A6: lle (ja monille muille taskulampuille) on saatavana täällä. Tästä on saatavilla keskustelufoorumi linkki.
Voit ladata laiteohjelmiston suorittamalla haun "bzr branch lp: flashlight-firmware". Tarvitsetko taskulamppu-firmware / ToyKeeper / blf-a6 -kansio. Se sisältää käännetyn tiedoston. hex, valmiina firmware (blf-a6.hex) ja C-koodi, jota voidaan myös muuttaa (blf-a6.c). Jos haluat salata osakeohjelma, voit ohittaa seuraavan vaiheen ja käyttää vain blf-a6.hex. Jotkut muut tämän arkiston laiteohjelmistot toimivat todennäköisesti myös.

Vaihda laiteohjelmisto.
varovaisuus symbolit, jotta merkitys ei vääristyisi, annetaan ilman käännöstä.
Avaa blf-a6.c haluamassasi tekstieditorissa tai IDE: ssä. Mielenkiintoisimmat rivit ovat moodiryhmät rivien 94 ja 109 välillä. Ne näyttävät tältä:
// Tilaryhmä 1
#define NUM_MODES1 7
// PWM-tasot isolle piirille (FET tai Nx7135)
#define MODESNx1 0,0,0,7,56,137,255
// PWM-tasot pienelle piirille (1x7135)
#define MODES1x1 3,20,110,255,255,255,0
// Otokseni: 6 = 0..6, 7 = 2..11, 8 = 8..21 (15..32)
// Krono-näyte: 6 = 5..21, 7 = 17..32, 8 = 33..96 (50..78)
// Manker2: 2 = 21, 3 = 39, 4 = 47, ... 6? = 68
// PWM-nopeus jokaisessa tilassa
#define MODES_PWM1 VAIHE, FAST, FAST, FAST, FAST, FAST, PHASE
// Tilaryhmä 2
#define NUM_MODES2 4
#define MODESNx2 0,0,90,255
#define MODES1x2 20,230,255,0
#define MODES_PWM2 FAST, FAST, FAST, PHASE

Kullakin ryhmällä MODESN on FET: lle käytetty PWM-arvo ja MODES1 on PWM-arvo, jota käytetään 7135: lle kussakin tilassa. Luku on välillä 0 - 255 ja vastaa valon kirkkautta. Lisätietoja
täällä. (vieritä kohtaan "Tilaohjaus:"). Päällikkö ei ole varma, mikä PWM-nopeus on.Jos joku tietää, kerro minulle kommenteissa. Kenttävaikutteistransistori voi tuottaa enemmän valoa kuin 7135, mutta 7135 pitää valon tason suunnilleen samana koko akun käyttöiän ajan. Kenttätehostetransistoria käytettäessä valo himmentyy, kun akku loppuu.

Täällä voimme säätää PWM-arvoja luoda tiloja mieleiseemme. Voit myös muuttaa moodien lukumäärää, mutta isäntä ei tehnyt tätä, koska hän tarvitsee neljä tilaa, ja tämä on toisen ryhmän numero. Hän halusi tummemman kuutamo-järjestelmän, ja asetti siksi ensimmäisen arvoon 0/1. Hän pitää turbotilaa myös hiukan tarpeettomana, joten korvasin sen 137/255: llä, mikä vastaa kuutta tilaa seitsemän moodin ryhmässä.

Kun sinulla on tarvitsemasi koodi, sinun on käännettävä se .hex-tiedostoksi. Ainakin tarvitset gcc-avr ja avr-libc. Jos sinulla on ongelmia, katso muita riippuvuuksia readme-tiedostossa. Varasto sisältää rakennuskomentosarjan, joten kaikki sinun on suoritettava:
../../bin/build.sh 13 blf-a6
blf-a6-kansiossa. ../../Bin/build.sh on skripti. Kuvio 13 osoittaa, että se on ATtiny13: lle, ja blf-a6 tarkoittaa, että se on tarkoitettu BLF A6: lle.
avr-gcc -Seinä -g -Os -mmcu = attiny13 -c -std = gnu99 -fgnu89-inline -DATTINY = 13 -I .. -I ../ .. -I ../../ .. -lyhyt -enumit -o blf-a6.o -c blf-a6.c
avr-gcc -seinä -g -Os -mmcu = attiny13 -fgnu89-inline -o blf-a6.elf blf-a6.o
avr-objcopy - set-section-flags = .eeprom = alloc, load --change-section-lma .eeprom = 0 - ei-muutos-varoitukset -O ihex blf-a6.elf blf-a6.hex
Ohjelma: 1022 tavua (99,8% täynnä)
tiedot: 13 tavua (20,3% täysi)
Joukkueet on jo optimoitu kooltaan, joten jos kirjoitetaan, että ne ovat yli 100% täynnä, yritä poistaa
#define FULL_BIKING_STROBE

Rivi 125 on pieni sykli vilkkuvalo. Jos tämä ei riitä, on leikattava jotain muuta.
Kun kokoaminen on valmis, kansion tulisi sisältää tiedosto nimeltä blf-a6.hex. Tämä on käännetty koodi, valmis laiteohjelmistoa varten.

Taskulampun purkaminen.
Kierrä taskulampun ajovalaisin irti. Ruuviliitoksia on kaksi. Se, joka on lähempänä taskulampun runkoa, kiinnittää heijastimen ja LEDin, ja se, joka on lähempänä keskustaa, kiinnittää levyn. Tarvitsemme keskiarvon.

Sisäpuolella on napsautusrengas, jossa on jousi ja kaksi reikää reunoilla. Aseta pinsetit / ohuet pihdit / sakset reikiin ja käännä niitä vastapäivään.

Kun rengas on poistettu, sinulla on pääsy pöydälle. Se on edelleen kiinnitetty kahdella johdolla, joten ole varovainen. Ne on kierretty toisiinsa, joten kierrä levyä, kunnes johdot ovat löysät. Käännä sitten lauta ympäri. On välttämätöntä, että siru, jossa merkintä "TINY13A", oli helpommin saatavissa.

Jos johdot ovat lyhyitä ja se ei toimi, sinun on poistettava levy.






Yhteys.
Nyt sinun on valmisteltava kortti laiteohjelmistoa varten.
Ohjattu toiminto käyttää SOIC8: ta ATtiny13-sirun ja ohjelmoijan yhdistämiseen.
Kuinka salama taskulampulla käyttötilojen vaihtamiseksi



Katso kuva, kun ohjattu toiminto muodostaa yhteyden. Huomaa punainen viiva toisessa kuvassa.

Jos käytät USB ASP V2.0 -ohjelmoijaa, sinun on kytkettävä se seuraavasti:
Napa 1 ATtiny13: lla - Napa 5 USB ASP: llä (palauta)
Napa 4 ATtiny13: lla - napa 10 USB ASP: llä (maadoitettu)
Napa 5 ATtiny13: lla - Napa 1 USB ASP: llä (MOSI)
Napa 6 ATtiny13: lla - napa 9 USB ASP: llä (MISO)
Napa 7 ATtiny13: lla - napa 7 USB ASP: llä (SCK)
Tappi 8 ATtiny13: lla - Napa 2 USB ASP: llä (VCC)

Jos käytät Arduinoa, kuten ohjattua toimintoa, toimi seuraavasti:
Avaa Arduino IDE ja varmista, että Arduino on kytketty tietokoneeseen. Etsi ISP-luonnos tiedostosta> Esimerkit> 11.ArduinoISP> ArduinoISP ja lähetä se Arduinoon. Kytke sitten ATtiny13 siihen seuraavasti:
Napa 1 ATtiny13: lla - Napa 10 Arduinolla (nollaa)
Napa 4 ATtiny13: lla - GND Arduinolla (Ground)
Tappi 5 ATtiny13: lla - tappi 11 Arduinolla (MOSI)
Nasta 6 ATtiny13: lla - nasta 12 Arduinolla (MISO)
Nasta 7 ATtiny13: lla - nasta 13 Arduinolla (SCK)
Tappi 8 ATtiny13: lla - VCC / 5 V tai 3,3 V Arduinolla (5 V suositeltava)

Firmware.
Vaihe 5: väläytä se
Laiteohjelmistoa varten on asennettava AVRDUDE. Ohjattu toiminto tarkistaa, toimiiko tämä Arduinon kanssa:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -n
Jos tämä toimii, mene tyhjään kansioon ja rekisteröi:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Flash: r: flash-dump.hex: i -Ueeprom: r: eeprom-dump.hex: i -Ulfuse: r: lfuse -dump.hex: i -Uhfuse: r: hfuse-dump.hex: i
Tee varmuuskopio olemassa olevasta laiteohjelmistosta. Salama alkaa muokatun blf-a6.hex-kansiosta:
avrdude -v -p attiny13 -c stk500v1 -P / dev / ttyUSB0 -b 19200 -u -Flash: w: blf-a6.hex -Ulfuse: w: 0x75: m -Uhuse: w: 0xFF: m
Sinun on määritettävä stk500v1 ohjelmoijana ja määritettävä portin ja tiedonsiirtonopeus. Jos käytät Arduinoa ja olet epävarma, yritä kytkeä ATtiny13 irti Arduinosta ja lataa luonne Arduino IDE: hen käyttämällä nämä asetukset. Tämä ei toimi, mutta saat selville, mitä komentoa käytetään konsoli-ikkunassa. Seuraavaksi voit kopioida määritteet AVRDUDE-komentoon.

Jos käytät USB ASP-ohjelmoijaa, suorita:
avrdude -v -p attiny13 -c usbasp -n
Katso, toimiiko tämä:
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
Tee varmuuskopio:
avrdude -v -p attiny13 -c usbasp -u -Flasu: w: blf-a6.hex -Käyttö: w: 0x75: m -Käyttö: w: 0xFF: m
Salama:
-Uflash: w: blf-a6.hex. Korvaa blf-a6.hex tiedostonimellä, jos se on erilainen.
-Käyttö: w: 0x75: m ja -käyttö: w: 0xFF: m
Jos tapahtuu virhe, tämä tarkoittaa, että kuvatiedosto on liian suuri, jotta se mahtuu sirulle, ja joudut poistamaan osan koodista. Jos kaikki on normaalia, jotkut edistysindikaattorit tulisi näyttää ja sitten sanat "avrdude valmis. Kiitos".
Kun olet sirottanut sirun, koota taskulamppu ja katso jos se toimii.
Kysymys \ aihe julkaistaan ​​automaattisesti sosiaalisessa mediassa. Sivustoverkko - pysy ajan tasalla vastauksista siellä:

Soveltuu aiheeseen

Aiheeseen liittyvät aiheet

Lisää kommentti

    • hymyillähymyileexaxakunnossadontknowyahoonea
      pomonaarmutyperyskylläkyllä-kylläaggressiivinensalaisuus
      anteeksitanssidance2dance3anteeksihelpjuomat
      pysäytysystäväthyvägoodgoodpillipyörtyäkieli
      savutaputusCrayjulistaapilkallinenDon-t_mentiondownload
      lämpöirefullaugh1MDAkokousmoskingnegatiivinen
      not_ipopcornrangaistaluettupelästyttääpelottaaetsi
      kiusatathank_youtämäto_clueumnikakuuttisuostua
      huonoBeeeblack_eyeblum3punastuaylpeilläikävystyminen
      sensuroituhassutussecret2uhatavoittoyusun_bespectacled
      SHOKrespektlolprevedtervetuloakrutoyya_za
      ya_dobryiauttajane_huliganne_othodifludkieltolähellä

Suosittelemme lukemaan:

Anna se älypuhelimelle ...