Zeimeris ir Kreizas PCB pjaustymui

September 19th, 2020

Padariau sau keletą PCB su kiek didesniu STM čipu (tikrai originaliu, kurių šimtais išmetė viena įmonė). Ir viską sutalpinau į 5×5cm plokštelę. Tačiau mažiausia PCB yra 10×10cm. Taigi, copy-paste ir turim jau 4 vienodus dizainus. Reikėtu, kad kinai supjaustytu, bet tada išauga PCB gamybos kaina. O kai išauga kaina, tada atsiranda ne tik mokesčiai, bet ir suknisti muitinės tarpininkai. Todėl nutariau pats susipjaustyti.
Norėjau pjaustyti su deimantiniu diskeliu, bet fazendoje tokio neturiu. Užtat turiu “popieriaus dulkių" baldinės plokštės atraižų ir kelis stalčių “bėgelius". Vienas momentas apie bėgelius- tai kokybiški, Japoniški bėgeliai iš dauginimo aparatų ar kokios nors kitos technikos. Kokybė ir tvirtumas nesulyginama su pigiena kur dedama į baldus mūsų krašte. Puikiaisiai atsimenu, kad atidariau vieno dauginimo aparato stalčių ir užlipau ant jo su savo nepilnu 100kg. Ir stalčius atlaikė. Tačiau šiam projektui gal tiks ir buitinis šlamštas. Susikonstruojam Zeimerį arba Kreizą.

PCB kreizas pjaustymas

Pasidarom judanti staliuką ir su termoklijais pritvirtinam kažkokį “ala Dremelį" prie pagrindo. Toliau su taip pačiai klijais pasidarom atramas. Deimantinis (arba kaip nuotraukoje- abrazyvinis) diskelis neturi pjauti per visą PCB storį. Plokštes reikia pjauti per abi puses. Taip nesusidaro “zausencai" - aštrios vario ir stiklo audinio atplaišos.

PCB kreizas pjaustymas

Rekomenduoju pjaustyti kieme arba su priverstiniu oro ištraukimu, nes pjaustant PCB netik smirda, bet ir susidaro stiklo pluošto dulkės. Pjūviai gavosi teisingi ir atsikartojantys. Gal net kiek per aštriom briaunom, todėl visas PCB perbraukiai su smulkiu švitriniu popierium. Poto gerai išploviau su indų plovikliu.

PCB kreizas pjaustymas

Bus juokinga, jei PCB bus su klaidom ir reikės išmesti. Šiaip čia turi būti STM32F103RET6, tikros originalios. Naudosiu vietoje kiniškų “blue pill", nes jos visos feikinės: arba per mažos arba kažkokios neteisingos. O ir šitos, RET6 kiek didesnės.

IBM Selectric - mechaninė beprotybė

September 13th, 2020

Tai dar vienas biudžeto naikinimo objektų. Tai, jau galima sakyti, senovinė rašymo mašinėlė IBM Selectric II. Ši mašinėlė kaip ir elektrinė, tačiau elektra suka tik motorą. Viskas toliau veikia grynai mechaniškai. Kaip sakė vienas žmogus iš interneto- tai mechaninė beprotybė (mechanical maddness).

IBM Selectric typewrite rasymo masinele
Read the rest of this entry »

Rogue: hardcorinis smurtinis žaidimas

September 10th, 2020

Yra toks tekstinis (!) žaidimas pavadinimu Rogue. Pasinorėjau pažaisti, pajusti tikrą 2D grafiką (smegenyse), todėl paieškojau guglėje. Radau, bet nepatiko valdymo mygtukai. Todėl nutariau persidaryti į savo variantą, tuo labiau, kad source kodas yra. Kompiliuojant pasipylė srautas “warningų", o aš mėgstu, kai kompiliuojasi visiškai be nieko… Teko pavargti kelias dienas- senovės programišiai labai mėgo “nutylėjimus" ir ignoravo viską iš eilės. Dabar rezultatas sumažėjo iki vieno įspėjimo:


> “make.exe" all
cc -g -c -DUNIX -DUNIX_SYS5 -Iinc -MMD -MP -MF"build/levo.d" src/levo.c -o build/levo.o
cc -g build/monster.o build/ring.o build/rogue.o build/levo.o build/random.o build/machdep.o build/object.o build/zap.o build/play.o build/main.o build/inventory.o build/save.o build/pack.o build/room.o build/level.o build/instruct.o build/init.o build/hit.o build/move.o build/score.o build/trap.o build/throw.o build/use.o build/message.o build/spec_hit.o build/lcurses.o -lcurses -Wl,-Map=build/../rogue.exe.map,–cref -Wl,–gc-sections -o build/../rogue.exe
/usr/lib/gcc/i686-pc-msys/6.4.0/../../../../i686-pc-msys/bin/ld: symbol `stdscr' missing from main hash table
size build/../rogue.exe
text data bss dec hex filename
114789 22240 5405 142434 22c62 build/../rogue.exe

> Process Exit Code: 0
> Time Taken: 00:01

Mano indelis- kogero visi “h" failai ir “makefile". Sekantis etapas- šis smurtinis žaidimas turi suktis ant mikrokontrolerio.

Rogue source code C ir sukompiliuotas EXE failas. Veikia ant Windows 10.

Kaip susikompiliavo? Tikrai nežinau. Mano kompe pilna visokių C kompiliatorių ir kažkuris pasirodo kompiliuoja ir windowsinius exe failus.

Biški nesąmonių pirkau

August 31st, 2020

O, tai tik dalelė nesąmonių kur taškomas biudžetas:

mini tesla coil
Mini tesla coil. Tikriausiai veikia radio dažniu. Degina pirštus. Kaina- 1.91€ viso.
Read the rest of this entry »

ARM:0018 STM32CubeMX hack - printerio klasė

August 29th, 2020

Tai projektas kuris pilnai užstrigo dėl mano neprofesionalumo ir dėl dokumentacijos trūkumo. Užduotis- konvertuoti vieną iš STM32CubeMX projektų į printerio klasę (Printer Class). Tam reikalui panaudojau CDC klasę ir perdariau pagal savo seną AVR projektą į printerio klasę. Ir jis, rupužė, neveikia taip kaip reikia.

Ką daro publikuotas projektas:

  • Prisijungia kaip kompo kaip USB įrenginys, nuskaito standartinius deskriptorius ir kompiuteris mato kaip printerio klasę.
  • Printeris duoda 1284 stringą į hostą, tačiau ar teisingai hostas tai interpretuoja nežinau.
  • Printeris spausdina. Tačiau veikia tik uni ir bi- directional režime. Kažkodėl 1284.4 režime mano windows pastringa.
  • Printeris nesigavo pilnai “plug ir peilis". Jį reikia dagrūsti rankiniam režime. Mano AVR variantas buvo pilnas “plug and play".
  • Kaip ir AVR versijoje nesugebu perduoti STATUS (baigėsi popierius, printeris “on-line/selected") į hostą. Lygtai viską parašiau, bet windows draiveris paprasčiausiai neklausia ir ignoruoja mano bandymus.
  • “MS descriptor" teoriškai padarytas (0xEE), bet kažkodėl neveikia. Gal Windows neklausia, arba klausia taip, kad aš nepastebiu.

Kad atkartoti projektą, reikia pradėti STM32CubeMX su USB ir CDC klase. Poto, viską CDC pašalinti ir sudėti mano source. Kas svarbu- “midlevares"- klasė “PRINTER". Pagrindiniam “src": usbd_princer_if.c - printerio ryšis su USB, usbd_conf ir usb_desc - ne pilnai išvalyti nuo CDC klasės ir kiek pribūrta dėl MS deskriptoriaus.
Tačiau jei laikyti kodą teisingu, tai useriui reikalingas tik vienas failas- printer_hardware.c. Tai pats fizinis spausdinimas. Šiuo metu nuvestas į USARTą. Prisijungus išorinį UART (COM adapterį) galima lengvai debuginti ir monitorinti kas vyksta.

Dėmesio! Nepergeneruokit kubiko kodo, nes nužudys kai kuriuos failus.

Download STM32CubeMX USB PRINTER CLASS demo code (source and compiled hex for bluepill STM32F103C8.

Kodėl tai sunkiai einasi ir kodėl dedu nepilną kodą? Todėl, kad nėra free programų, kurie lengvai analizuotu kas vyksta ant USB. Todėl, kad dokumentacijos labai mažai- daug kas rašo kodą ir daro aparačiukus kurie naudoją printerius, tačiau visiškai niekas nedaro pačių printerių. Todėl, kad USB.ORG tik apibrėžė klasę, o realiam pasaulyje tiek microsoftas, tie obuolys, tie printerių gamintojai prisigalvojo savo “piblūdų ir navarotų" kuriuos mažai kur viešai publikavo. Ir dar aišku, visiškai nėra laiko tokiems žaidimams, o ir šiaip, nėra tiek žinių, kad greitai perprasti svetimą kodą. Ypač kai kodą rašo narkomanai- vien ko vertas STM inžinierių “universalus" metodas bendrauti tarp usb device, usb interface ir userio kodo per pointerius ir pointerių struktūras. Ar pointerių struktūrų pointerius struktūruose per pointerius ar panašiai :) (gi narkomanai rašė).

O postinu, kad kiti gal pasinaudos, o ir pats turėsiu rezervinę kopiją.

Ultra hipster foto insta aparatas

August 22nd, 2020

Fotkinimas su mobiliu telefonus tai trendas, tačiau fotkinimas su kokiu nors Fuji Instax irgi jau laikyčiau trendu tarp hipsteriu. Tačiau jei hipsteris turi smegenų ir biški pakaupęs elektroninio gėrio… (Nu, yra toks žanras, fantastika vadinasi. Nes kad hipsteris turėtu smegenų… :P ).
Taigi, jei netikras hipsteris nori iškristi iš trendo ir daryti tokias “insta" nuotraukas:

hipster photo fotografija juodai balta
Read the rest of this entry »

Printeris iš kalkuliatoriaus 1

August 16th, 2020

Vieni renka markutes, kiti sprendžia kryžiažodžius. O man kartais patinka pajungti kokį nesąmoningą prietaisą ir sužinoti kaip jis veikia. Šį kartą radau Citizen CX-123II kalkuliatorių. Toks kalkuliatorius moka spausdinti skaičiukus ant popieriaus juostos. O kaip gi tokio “printerio" neprijungus prie kokio nors mikrokontrolerio.

citizen cx-123ii printing calculator hack
Read the rest of this entry »

Dizainas - Atari XL serija

August 3rd, 2020

Visi kažkaip mano, kad obuoliai visada buvo stilingi ir dizaino pradininkai. Tačiau užtenka pažiūrėti į kitus to meto kompiuterius ir supranti, kad tada dizainas buvo kažkoks drąsesnis. Nelyginus aš super brangius kompiuterius iš SGI serijos. Pažiūrėkim į to meto flagmaną- Atari:

Atari XL series design line

Tai mano turimi eksponatai. Dar kiek žinau vienas specifinis printeris, touchpadas, kasetinis skaitytuvas ir Atari 1200XL. Kolekcija kol kas ne pilna.
Bet tikrai matosi 80′ metų stiliukas, kai viskas buvo drasu.

Deja, abu printeriai neveikia dėl plastiko senėjimo. Tačiau diskasukis puikiausiai veikia ir skaito senus diskelius.

Augaliniai LED

July 16th, 2020

Nežinau ar tie purpuriniai LED kažkiek padeda žaliems augalams. Ir kažkaip nekilo ranka investuoti pinigus tokiom lempom. Tačiau prieš kelias dienas viena Lietuvos firma utilizavo kalną LED produkcijos ir ten buvo keletas tokių prožektorių. Dalis LED šviestuvų suveikdavo, tačiau po kelių minučių pradėdavo mirksėti ar mirgėti. Ir kai taip vyksta, manau visi šio blogo skaitytojai žino kas ten kaltas- kondensatoriai.

LED
Patys žibintai nežinomos galios, pardavėjas deklaruoja 13W (kaina 34€). LED matricoje dviejų rušių- mėlyni ir kažkokie su liuminiforu. Radiatoriai dideli, bet kontaktas tarp LED Al plokštelės ir radiatoriaus minimalus.
Read the rest of this entry »

Jungės- blogis ir gėris šalia

July 6th, 2020

Fazendoje kabinau šviestuvus. O ten, visur kur sena instaliacija, išvedžiota aliumininiais laidais. Per 40 metų tie laidai pasidarė trapūs, o izoliacija sukietėjo iki standaus plastiko. Todėl ten, kur neišvedžioti nauji variniai laidai, naudoju laidų junges. kažkaip nepagalvojau apie jas nieko blogo, tik jungdamas pastebėjau, kad jos nepatogios. O kartais patogios. Pasirodo, jos, nors ir skirtos to pačio storio laidams, turi esminį skirtumą:

geros ir blogos laidų jungės
Kairėje “blogosios", tikriausiai pirktos senukuose ar dar kur nors, o dešinėje, “gerosios"- išluptos iš kažkokio prietaiso ar šiaip, trofėjinės.
Atrodo minimalus skirtumas atstume tarp varžtelių, bet kaip viskas iš esmės skiriasi. Šiaip, jei jungi kažkokius vienalyčius laidus, tai laida perkiši per abu varžtelius (jei leidžia storis). O jei staiga jungi skirtingo storio (nebetelpa du laidai) ar net skirtingų metalų laidus? Kiek tvirčiau laikosi dešininis variantas, ypač jei jungę suki pasistiebęs palubėje? Kai jungęs centre nėra “vidurio" ribotuvo? Kai laidą kiek perkiši ir kitas nebe prisisuka?

Kodėl gaminamos blogosios? Pagalvokit, kiek susitaupo metalo gaminant “biliardus" vienetų.

Unhappy Tikbalang