Inhoudsopgave:

HackerBox 0038: TeknoDactyl - Ajarnpa
HackerBox 0038: TeknoDactyl - Ajarnpa

Video: HackerBox 0038: TeknoDactyl - Ajarnpa

Video: HackerBox 0038: TeknoDactyl - Ajarnpa
Video: #41 Hacker Box #0038 TechnoDactyl 2024, Juli-
Anonim
HackerBox 0038: TeknoDactyl
HackerBox 0038: TeknoDactyl

HackerBox Hackers onderzoeken elektronische vingerafdrukherkenning en mechanisch spinnerspeelgoed met een op het oppervlak gemonteerde microcontroller en LED-circuits. Deze Instructable bevat informatie om aan de slag te gaan met HackerBox #0038, die hier kan worden gekocht zolang de voorraad strekt. Als u ook maandelijks zo'n HackerBox in uw mailbox wilt ontvangen, schrijf u dan in op HackerBoxes.com en doe mee aan de revolutie!

Onderwerpen en leerdoelen voor HackerBox 0038:

  • Ontdek elektronische vingerafdrukherkenning
  • Configureer en programmeer de Arduino Nano-microcontroller
  • Interface vingerafdruksensormodules naar microcontrollers
  • Integreer vingerafdruksensoren in embedded systemen
  • Oefen soldeertechnieken voor opbouwmontage
  • Stel een acryl LED fidget spinner-project samen
  • Configureer en programmeer de Digispark-microcontroller
  • Experimenteer met payloads met USB-toetsaanslaginjectie

HackerBoxes is de maandelijkse abonnementsservice voor doe-het-zelf-elektronica en computertechnologie. Wij zijn hobbyisten, makers en experimenteerders. Wij zijn de dromers van dromen.

HACK DE PLANEET

Stap 1: HackerBox 0038: Inhoud van de doos

Image
Image
  • Vingerafdruksensormodule
  • Arduino Nano 5V 16MHz microUSB
  • LED Fidget Spinner Soldeerset
  • CR1220 Muntcellen voor Spinner Kit
  • USB Digispark-microcontrollermodule
  • ESD-pincet
  • Desoldeer vlecht
  • Twee vierweg spanningsniveauverschuivers
  • USB-verlengkabel
  • Exclusieve HackerBox Smeden Sticker
  • Exclusieve "Quad Cut Up" hacker sticker
  • Exclusieve Chairborne Iron-On Patch

Enkele andere dingen die nuttig zullen zijn:

  • Soldeerbout, soldeer en standaard soldeergereedschappen
  • Soldeerflux (voorbeeld)
  • Verlicht vergrootglas (voorbeeld)
  • Computer voor het uitvoeren van softwaretools
  • Vingers voor fidget spinnen
  • Vingers voor vingerafdrukexperimenten

Het belangrijkste is dat je gevoel voor avontuur, hackergeest, geduld en nieuwsgierigheid nodig hebt. Het bouwen van en experimenteren met elektronica, hoewel zeer de moeite waard, kan soms lastig, uitdagend en zelfs frustrerend zijn. Het doel is vooruitgang, niet perfectie. Als je volhoudt en geniet van het avontuur, kan er veel voldoening uit deze hobby worden gehaald. Neem elke stap langzaam, let op de details en wees niet bang om hulp te vragen.

Er is een schat aan informatie voor huidige en toekomstige leden in de HackerBoxes FAQ. Bijna alle niet-technische ondersteunings-e-mails die we ontvangen, worden daar al beantwoord, dus stel het zeer op prijs dat u een paar minuten de tijd neemt om de veelgestelde vragen te lezen.

Stap 2: Elektronische vingerafdrukherkenning

Arduino Nano Microcontroller-platform
Arduino Nano Microcontroller-platform

Vingerafdrukscanners zijn biometrische beveiligingssystemen voor het analyseren van wrijvingsribbels van een menselijke vingertop, ook wel een vingerafdruk (dactylograaf) genoemd. Deze scanners worden gebruikt bij wetshandhaving, identiteitsbeveiliging, toegangscontrole, computers en mobiele telefoons.

Iedereen heeft sporen op zijn vingers. Ze kunnen niet worden verwijderd of gewijzigd. Deze tekens hebben een patroon dat de vingerafdruk wordt genoemd. Elke vingerafdruk is speciaal en anders dan alle andere ter wereld. Omdat er talloze combinaties zijn, zijn vingerafdrukken een ideaal identificatiemiddel geworden.

Een vingerafdrukscannersysteem heeft twee basistaken. Eerst wordt een afbeelding van de vinger vastgelegd. Vervolgens wordt bepaald of het patroon van richels en dalen in deze afbeelding overeenkomt met het patroon van richels en dalen in vooraf gescande afbeeldingen. Alleen specifieke kenmerken, die uniek zijn voor elke vingerafdruk, worden gefilterd en opgeslagen als een versleutelde biometrische sleutel of wiskundige weergave. Er wordt nooit een afbeelding van een vingerafdruk opgeslagen, alleen een reeks cijfers (een binaire code), die wordt gebruikt voor verificatie. Het algoritme kan niet worden teruggedraaid om de gecodeerde informatie weer om te zetten in een vingerafdrukbeeld. Dit maakt het uiterst onwaarschijnlijk dat bruikbare vingerafdrukken worden geëxtraheerd of gedupliceerd uit de gecodeerde beeldinformatie.

(Wikipedia)

Stap 3: Arduino Nano Microcontroller-platform

Een Arduino Nano of vergelijkbaar microcontrollerbord is een uitstekende keuze voor interfaces met vingerafdrukscannermodules. Het meegeleverde Arduino Nano-bord wordt geleverd met header-pinnen, maar deze zijn niet aan de module gesoldeerd. Laat de pinnen er voorlopig af. Voer deze eerste tests van de Arduino Nano-module uit VOORDAT u de header-pinnen van de Arduino Nano soldeert. Het enige dat nodig is voor de volgende paar stappen is een microUSB-kabel en de Arduino Nano precies zoals deze uit de tas komt.

De Arduino Nano is een op het oppervlak te monteren, breadboard-vriendelijk, geminiaturiseerd Arduino-bord met geïntegreerde USB. Het is verbazingwekkend volledig uitgerust en gemakkelijk te hacken.

Functies:

  • Microcontroller: Atmel ATmega328P
  • Spanning: 5V
  • Digitale I/O-pinnen: 14 (6 PWM)
  • Analoge ingangspennen: 8
  • Gelijkstroom per I/O-pin: 40 mA
  • Flash-geheugen: 32 KB (2KB voor bootloader)
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Kloksnelheid: 16 MHz
  • Afmetingen: 17 mm x 43 mm

Deze specifieke variant van de Arduino Nano is het zwarte Robotdyn-ontwerp. De interface is via een ingebouwde MicroUSB-poort die compatibel is met dezelfde MicroUSB-kabels die worden gebruikt met veel mobiele telefoons en tablets.

Arduino Nano's hebben een ingebouwde USB/seriële bridge-chip. Op deze specifieke variant is de bridge-chip de CH340G. Merk op dat er verschillende andere soorten USB/seriële bridge-chips worden gebruikt op de verschillende soorten Arduino-kaarten. Met deze chips kan de USB-poort van uw computer communiceren met de seriële interface op de Arduino-processorchip.

Het besturingssysteem van een computer vereist een apparaatstuurprogramma om te communiceren met de USB/seriële chip. De driver zorgt ervoor dat de IDE kan communiceren met het Arduino-bord. Het specifieke apparaatstuurprogramma dat nodig is, hangt af van zowel de versie van het besturingssysteem als het type USB/seriële chip. Voor de CH340 USB/Serial-chips zijn er drivers beschikbaar voor veel besturingssystemen (UNIX, Mac OS X of Windows). De maker van de CH340 levert die drivers hier.

Wanneer u de Arduino Nano voor het eerst aansluit op een USB-poort van uw computer, moet het groene aan / uit-lampje gaan branden en kort daarna moet de blauwe LED langzaam beginnen te knipperen. Dit gebeurt omdat de Nano vooraf is geladen met het BLINK-programma, dat draait op de gloednieuwe Arduino Nano.

Stap 4: Arduino Integrated Development Environment (IDE)

Arduino geïntegreerde ontwikkelomgeving (IDE)
Arduino geïntegreerde ontwikkelomgeving (IDE)

Als je de Arduino IDE nog niet hebt geïnstalleerd, kun je deze downloaden van Arduino.cc

Als je aanvullende inleidende informatie wilt over het werken in het Arduino-ecosysteem, raden we je aan de gids voor de HackerBoxes Starter Workshop te raadplegen.

Steek de Nano in de MicroUSB-kabel en het andere uiteinde van de kabel in een USB-poort op de computer, start de Arduino IDE-software, selecteer de juiste USB-poort in de IDE onder tools>port (waarschijnlijk een naam met "wchusb" erin). Selecteer ook "Arduino Nano" in de IDE onder tools>board.

Laad ten slotte een stukje voorbeeldcode op:

Bestand->Voorbeelden->Basis->Knipperen

Dit is eigenlijk de code die vooraf op de Nano was geladen en nu zou moeten lopen om de blauwe LED langzaam te laten knipperen. Als we deze voorbeeldcode laden, verandert er dus niets. Laten we in plaats daarvan de code een beetje aanpassen.

Als je goed kijkt, kun je zien dat het programma de LED aanzet, 1000 milliseconden (één seconde) wacht, de LED uitschakelt, nog een seconde wacht en dan alles opnieuw doet - voor altijd.

Wijzig de code door beide "delay(1000)"-instructies te wijzigen in "delay(100)". Deze aanpassing zorgt ervoor dat de LED tien keer sneller knippert, toch?

Laten we de gewijzigde code in de Nano laden door op de knop UPLOADEN (het pijlpictogram) net boven uw gewijzigde code te klikken. Bekijk hieronder de code voor de status info: "compileren" en dan "uploaden". Uiteindelijk zou de IDE "Uploading Complete" moeten aangeven en zou uw LED sneller moeten knipperen.

Zo ja, gefeliciteerd! Je hebt zojuist je eerste stukje embedded code gehackt.

Als uw snel knipperende versie eenmaal is geladen en actief is, waarom zou u dan niet kijken of u de code opnieuw kunt wijzigen zodat de LED twee keer snel knippert en dan een paar seconden wacht voordat u dit herhaalt? Probeer het eens! Wat dacht je van andere patronen? Als je er eenmaal in bent geslaagd om een gewenst resultaat te visualiseren, te coderen en te observeren om te werken zoals gepland, heb je een enorme stap gezet om een competente hardware-hacker te worden.

Stap 5: Solderen van de Arduino Nano Header Pins

Solderen van de Arduino Nano Header Pins
Solderen van de Arduino Nano Header Pins

Nu uw ontwikkelcomputer is geconfigureerd om code naar de Arduino Nano te laden en de Nano is getest, koppelt u de USB-kabel los van de Nano en maakt u zich klaar om de headerpinnen te solderen. Als het je eerste keer in een vechtclub is, moet je solderen.

Er zijn veel geweldige handleidingen en video's online over bijvoorbeeld solderen. Als je denkt dat je extra hulp nodig hebt, probeer dan een lokale makersgroep of hackerruimte bij jou in de buurt te vinden. Ook zijn amateurradioclubs altijd uitstekende bronnen van elektronica-ervaring.

Soldeer de twee enkele rij headers (elk vijftien pinnen) aan de Arduino Nano-module. De zes-pins ICSP-connector (in-circuit serial programming) wordt in dit project niet gebruikt, dus laat die pinnen er gewoon af. Controleer na het solderen zorgvuldig op soldeerbruggen en/of koude soldeerverbindingen. Sluit ten slotte de Arduino Nano weer aan op de USB-kabel en controleer of alles nog goed werkt.

Stap 6: Vingerafdruksensormodule

Vingerafdruksensormodule
Vingerafdruksensormodule

De vingerafdruksensormodule heeft een seriële interface waardoor het super eenvoudig is om toe te voegen aan je projecten. De module heeft een geïntegreerd FLASH-geheugen om vingerafdrukken op te slaan die het is getraind om te herkennen, een proces dat bekend staat als inschrijving. Sluit eenvoudig vier draden aan op uw microcontroller, zoals hier wordt weergegeven. Merk op dat VCC 3,3V is (niet 5V).

Adafruit heeft een hele mooie Arduino-bibliotheek voor vingerafdruksensoren gepubliceerd. De bibliotheek bevat enkele bruikbare schetsen. "enroll.ino" laat bijvoorbeeld zien hoe u vingerafdrukken kunt registreren (trainen) in de module. Na de training demonstreert "fingerprint.ino" hoe u een vingerafdruk kunt scannen en deze kunt doorzoeken met de getrainde gegevens. Adafruit's documentatie voor de bibliotheek is hier te vinden. U kunt daar extra vingerafdruklezers krijgen of enkele verenmodules bekijken.

INTEGRATIE

Vingerafdruksensoren kunnen worden toegevoegd aan verschillende projecten, waaronder beveiligingssystemen, deursloten, tijdregistratiesystemen, enzovoort. Het maakt bijvoorbeeld een geweldige upgrade naar projecten van de Locksport HackerBox.

Deze video toont een voorbeeldsysteem dat werkt met een vingerafdruksensor.

Stap 7: Fidget Spinner LED-kit

Fidget Spinner LED-kit
Fidget Spinner LED-kit

De draaiende LED-kit maakt gebruik van twee Microchip PIC-controllers en 24 LED's om verschillende kleurrijke patronen weer te geven. De patronen zijn zichtbaar met behulp van een Persistence of Vision (POV) techniek. De patronen kunnen worden gewijzigd door op de knop te drukken.

Voordat we beginnen, moet u alle hierboven genoemde stukken doornemen. Er zitten waarschijnlijk wat extra weerstanden, condensatoren, LED's, schroeven en stukjes acryl in de kit, dus laat dat je niet verwarren. Zelfs als uw kit een instructieblad bevat, zouden de instructies hier een stuk gemakkelijker te volgen moeten zijn.

Stap 8: Fidget Spinner LED Kit - Schema en PCB

Fidget Spinner LED Kit - Schema en PCB
Fidget Spinner LED Kit - Schema en PCB

Onze eerste vraag bij het bekijken van dit schema zou moeten zijn: Hoe stuur je precies 24 LED's aan met slechts tien I/O-lijnen? Magie? Ja, de magie van Charlieplexing.

ONDERDEEL ORINTATIE OPMERKING. Bekijk het diagram van de polariteitsmarkeringen op de PCB nauwkeurig. De twee microcontrollers moeten in de juiste richting worden gedraaid. Ook zijn de LED's gepolariseerd en moeten ze correct worden georiënteerd. In contract kunnen de weerstanden en condensatoren in elke richting worden gesoldeerd. De knop past maar op één manier.

Stap 9: Fidget Spinner - Beginnen met SMT-solderen

Fidget Spinner - Beginnen met SMT-solderen
Fidget Spinner - Beginnen met SMT-solderen

De printplaat van de fidget-spinnerkit is een technologie voor oppervlaktemontage (SMT), wat meestal een behoorlijke uitdaging is om te solderen. De lay-out van de printplaat en de componentenselectie maken deze SMT-kit echter relatief eenvoudig te solderen. Als je nog nooit met SMT-solderen hebt gewerkt, zijn er een aantal hele leuke demovideo's online (bijvoorbeeld).

START MET SOLDEREN: De knop en zijn 10K ("103") weerstand zijn waarschijnlijk de gemakkelijkste plek om te beginnen, omdat er veel ruimte omheen is. Neem de tijd en zorg dat beide componenten op hun plaats worden gesoldeerd.

Onthoud dat zelfs als je solderen niet helemaal succesvol is, de reis buiten je huidige comfortzone de beste praktijk is. Ook zal de geassembleerde kit nog steeds werken als een cool ogende, op elektronica geïnspireerde spinner, zelfs als de LED's niet perfect functioneel zijn.

Stap 10: Fidget Spinner - Microcontroller solderen

Fidget Spinner - Microcontroller Solderen
Fidget Spinner - Microcontroller Solderen

Soldeer de twee microcontrollers (let op de oriëntatiemarkering). Volg met de twee 0.1uF-condensatoren die zich net naast de microcontrollers bevinden. De condensatoren zijn niet gepolariseerd en kunnen in beide richtingen worden georiënteerd.

Stap 11: Fidget Spinner - LED-solderen

Fidget Spinner - LED-solderen
Fidget Spinner - LED-solderen

Er zijn twee rijen LED's op de printplaat en twee stroken LED-componenten. Elke strip heeft een andere kleur (rood en groen), dus houd de LED's van elke strip bij elkaar in dezelfde rij op de print. Het maakt niet uit welke rij groen en welke rood is, maar dezelfde gekleurde LED's moeten wel allemaal samen in dezelfde rij staan.

Er is een "-" markering op elk PCB-pad voor de LED's. Deze markeringen wisselen van kant terwijl u langs de rij pads gaat, wat betekent dat de oriëntatie van de LED's in de rij heen en weer zal schakelen. De groene markeringen aan één kant van elke LED moeten gericht zijn op de "-" die voor die LED-pad zorgt.

Stap 12: Fidget Spinner - Voltooi het solderen

Fidget Spinner - Solderen afmaken
Fidget Spinner - Solderen afmaken

Soldeer de zes 200 Ohm ("201") Weerstanden. Deze zijn niet gepolariseerd en kunnen in beide richtingen worden geplaatst.

Soldeer de drie knoopcelbatterijclips door ze in de onderkant van de printplaat te steken en vervolgens in de twee gaten vanaf de bovenkant van het bord te solderen.

Plaats drie muntcellen en druk op de knop om de LED's te testen. U zult de POV-patronen niet kunnen zien terwijl de printplaat stilstaat, maar u zult verschillende helderheidswaarden tussen de twee rijen LED's opmerken terwijl u door de weergavemodi bladert. Merk op dat kort drukken en lang drukken verschillende effecten hebben.

Stap 13: Fidget Spinner - Bereid acrylbehuizing voor

Fidget Spinner - Acrylbehuizing voorbereiden
Fidget Spinner - Acrylbehuizing voorbereiden

Verwijder het beschermpapier van de acrylstukken.

Leg de vijf stukken acryl en de PCB neer zoals genummerd in de afbeelding. Dit vertegenwoordigt de volgorde van de laatste stapel.

Let op de drie kleine cirkels in elk stuk. Draai alle stukjes om totdat de kleine cirkels allemaal in dezelfde richting zijn georiënteerd.

Begin met laag 2, die met cirkels ter grootte van een knoopcel in elk van de drie armen.

Plaats het lager in het midden van laag 2 en forceer het in het grote gat. Dit zal veel kracht vergen. Probeer hierbij het acryl niet te kraken. Dat gezegd hebbende, kan zich een enkele kleine scheur rond het montagegat van het lager vormen. Dit is perfect acceptabel.

Stap 14: Fidget Spinner - Mechanische montage

Fidget Spinner - Mechanische montage
Fidget Spinner - Mechanische montage

Stapel de lagen op - 1 tot en met 5.

Merk op dat stukken 4 en 5 eigenlijk op dezelfde laag staan.

Plaats drie van de messing koppelingen met schroefdraad.

Plaats laag 6 op de stapel.

Merk op dat de lagen 1 en 6 kleinere gaten hebben om de messing koppelingen op hun plaats te houden.

Gebruik de zes korte schroeven om de lagen 1 en 6 aan de messing koppelingen te bevestigen.

Stap 15: Fidget Spinner - Center Hub

Fidget Spinner - Center Hub
Fidget Spinner - Center Hub

Verwijder het beschermpapier van drie van de acrylcycli - twee grote en een kleine.

Steek een lange schroef door een van de grote acrylcirkels; stapel de kleine acrylcirkel op de schroef; en draai een messing koppelstuk met schroefdraad op de schroef om een stapel te maken zoals weergegeven in de afbeelding.

Steek de stapel door de middennaaf.

Leg de stapel vast in de hub door de resterende grote acrylcirkel met een lange schroef op de open zijde te bevestigen.

C'est fin! Laissez les bon fidget rouler.

Stap 16: Digispark en USB Rubber Ducky

Digispark en USB Rubber Ducky
Digispark en USB Rubber Ducky

Digispark is een open source-project dat oorspronkelijk werd gefinancierd via Kickstarter. Het is een superminiatuur op ATtiny gebaseerd Arduino-compatibel bord dat de Atmel ATtiny85 gebruikt. De ATtiny85 is een 8-pins microcontroller die nauw verwant is aan de typische Arduino-chip, de ATMega328P. De ATtiny85 heeft ongeveer een kwart van het geheugen en slechts zes I/O-pinnen. Het kan echter worden geprogrammeerd vanuit de Arduino IDE en het kan nog steeds zonder problemen Arduino-code uitvoeren.

De USB Rubber Ducky is een favoriete hackertool. Het is een toetsaanslaginjectie-apparaat vermomd als een generieke flashdrive. Computers herkennen het als een gewoon toetsenbord en accepteren automatisch de voorgeprogrammeerde toetsaanslagen met meer dan 1000 woorden per minuut. Volg de link om alles te weten te komen over Rubber Duckies van Hak5 waar je ook de real deal kunt kopen. In de tussentijd laat deze video-tutorial zien hoe je een Digispark als een Rubber Ducky kunt gebruiken. Een andere video-tutorial laat zien hoe je Rubber Ducky-scripts kunt converteren om op het Digispark te draaien.

Stap 17: HackLife

HackLife
HackLife

We hopen dat je genoten hebt van de reis van deze maand naar doe-het-zelf-elektronica. Reik uit en deel uw succes in de reacties hieronder of op de HackerBoxes Facebook Group. Laat het ons zeker weten als je vragen hebt of ergens hulp bij nodig hebt.

Feest mee. Leef het HackLife. Je kunt elke maand een coole doos met hackbare elektronica en computertechnologieprojecten rechtstreeks in je mailbox krijgen. Surf gewoon naar HackerBoxes.com en abonneer u op de maandelijkse HackerBox-service.

Aanbevolen: