Inhoudsopgave:

HackerBox 0053: Chromalux - Ajarnpa
HackerBox 0053: Chromalux - Ajarnpa

Video: HackerBox 0053: Chromalux - Ajarnpa

Video: HackerBox 0053: Chromalux - Ajarnpa
Video: #96 HackerBox 0053 ChromaLux 2024, Juli-
Anonim
HackerBox 0053: Chromalux
HackerBox 0053: Chromalux

Groeten HackerBox Hackers over de hele wereld! HackerBox 0053 verkent kleur en licht. Configureer het Arduino UNO-microcontrollerbord en IDE-tools. Sluit een full-color 3,5-inch LCD Arduino-schild aan met touchscreen-ingangen en verken de democode van aanraakverf. Sluit een I2C-kleurensensor aan om de frequentiecomponenten van gereflecteerd licht te identificeren, geef kleuren weer op adresseerbare LED's, soldeer een Arduino prototyping-schild en verken een verscheidenheid aan input/output-componenten met behulp van een multifunctioneel Arduino Experimentation Shield. Verbeter uw soldeervaardigheden voor oppervlaktemontage met een LED Chaser-PCB. Neem een inleidende blik op kunstmatige neurale netwerktechnologie en deep learning.

Deze handleiding bevat informatie om aan de slag te gaan met HackerBox 0053, die u hier kunt kopen zolang de voorraad strekt. Als je elke maand zo'n HackerBox in je mailbox wilt ontvangen, schrijf je dan in op HackerBoxes.com en doe mee aan de revolutie!

HackerBoxes is de maandelijkse abonnementsservice voor hardwarehackers en liefhebbers van elektronica en computertechnologie. Doe mee en leef het HACK LIFE.

Stap 1: Inhoudslijst voor HackerBox 0053

  • TFT-schermscherm 3,5 inch 480x320
  • Arduino UNO Mega382P met MicroUSB
  • Kleursensormodule GY-33 TCS34725
  • Multifunctioneel experimentschild voor Arduino UNO
  • OLED 0,96 inch I2C 128x64
  • Vijf 8 mm ronde adresseerbare RGB-leds
  • Arduino Prototype PCB-schild met pinnen
  • LED Chaser Soldeerset voor opbouwmontage
  • Sticker Man in het midden Hacker
  • Sticker Hackermanifest

Enkele andere dingen die nuttig zullen zijn:

  • Soldeerbout, soldeer en standaard soldeergereedschappen
  • Computer voor het uitvoeren van softwaretools

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 we stellen het zeer op prijs dat u een paar minuten de tijd neemt om de veelgestelde vragen te lezen.

Stap 2: Arduino UNO

Arduino UNO
Arduino UNO

Deze Arduino UNO R3 is ontworpen met gebruiksgemak in het achterhoofd. De MicroUSB-interfacepoort is compatibel met dezelfde MicroUSB-kabels die worden gebruikt met veel mobiele telefoons en tablets.

Specificatie:

  • Microcontroller: ATmega328P (gegevensblad)
  • USB seriële brug: CH340G (stuurprogramma's)
  • Bedrijfsspanning: 5V
  • Ingangsspanning (aanbevolen): 7-12V
  • Ingangsspanning (limieten): 6-20V
  • Digitale I/O-pinnen: 14 (waarvan 6 met PWM-uitgang)
  • Analoge ingangspinnen: 6
  • Gelijkstroom per I/O-pin: 40 mA
  • Gelijkstroom voor 3.3V Pin: 50 mA
  • Flash-geheugen: 32 KB waarvan 0,5 KB gebruikt door bootloader
  • SRAM: 2 KB
  • EEPROM: 1 KB
  • Kloksnelheid: 16 MHz

Arduino UNO-kaarten hebben een ingebouwde USB/seriële bridge-chip. Op deze specifieke variant is de bridge-chip de CH340G. Voor de CH340 USB/Serial-chips zijn er drivers beschikbaar voor veel besturingssystemen (UNIX, Mac OS X of Windows). Deze zijn te vinden via bovenstaande link.

Wanneer u de Arduino UNO voor het eerst in een USB-poort van uw computer steekt, gaat een rood aan/uit-lampje (LED) branden. Vrijwel onmiddellijk daarna begint een rode gebruikers-LED meestal snel te knipperen. Dit gebeurt omdat de processor vooraf is geladen met het BLINK-programma, dat we hieronder verder zullen bespreken.

Als u de Arduino IDE nog niet hebt geïnstalleerd, kunt u deze downloaden van Arduino.cc en als u aanvullende inleidende informatie wilt voor het werken in het Arduino-ecosysteem, raden we u aan de online gids voor de HackerBox Starter Workshop te raadplegen.

Sluit de UNO aan op uw computer met behulp van een MicroUSB-kabel. Start de Arduino IDE-software.

Selecteer in het IDE-menu "Arduino UNO" onder tools>board. Selecteer ook de juiste USB-poort in de IDE onder tools>port (waarschijnlijk een naam met "wchusb" erin).

Laad ten slotte een stukje voorbeeldcode op:

Bestand->Voorbeelden->Basis->Knipperen

Dit is eigenlijk de code die vooraf op de UNO was geladen en nu zou moeten lopen om de rode gebruikers-LED te laten knipperen. Programmeer de BLINK-code in de UNO door op de knop UPLOAD (het pijlpictogram) net boven de weergegeven 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 opnieuw moeten gaan knipperen - mogelijk met een iets andere snelheid.

Zodra u de originele BLINK-code kunt downloaden en de wijziging in de LED-snelheid kunt verifiëren. Bekijk de code goed. Je kunt zien dat het programma de LED aanzet, 1000 milliseconden (één seconde) wacht, de LED uitschakelt, nog een seconde wacht en het dan allemaal 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?

Laad de gewijzigde code in de UNO en uw LED zou 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 embedded programmeur en hardware-hacker te worden.

Stap 3: Full Color TFT LCD 480x320 touchscreen

Full Color TFT LCD 480x320 touchscreen
Full Color TFT LCD 480x320 touchscreen

Het Touch Screen Shield is voorzien van een 3,5-inch TFT-scherm met een resolutie van 480x320 en 16 bit (65K) rijke kleuren.

Het schild wordt rechtstreeks op de Arduino UNO aangesloten, zoals weergegeven. Voor eenvoudige uitlijning, lijnt u de 3.3V-pin van het schild uit met de 3.3V-pin van de Arduino UNO.

Verschillende details over het schild zijn te vinden op de lcdwiki-pagina.

Installeer vanuit de Arduino IDE de MCUFRIEND_kvb-bibliotheek met behulp van Bibliotheekbeheer.

Open Bestand > Voorbeelden > MCUFRIEND_kvb > GLUE_Demo_480x320

Upload en geniet van de grafische demo.

De schets van Touch_Paint.ino die hier is opgenomen, gebruikt dezelfde bibliotheek voor een demo van een felgekleurd verfprogramma.

Deel welke kleurrijke applicaties je kookt voor dit TFT Display Shield.

Stap 4: Kleursensormodule

Kleursensormodule
Kleursensormodule

De GY-33 kleurensensormodule is gebaseerd op de TCS34725 kleurensensor. De GY-33 Color Sensor Module werkt op 3-5V voeding en communiceert metingen via I2C. Het TCS3472-apparaat biedt een digitale retour van rode, groene, blauwe (RGB) en heldere lichtdetectiewaarden. Een IR-blokkeringsfilter, geïntegreerd op de chip en gelokaliseerd op de kleurgevoelige fotodiodes, minimaliseert de IR-spectrale component van het binnenkomende licht en maakt nauwkeurige kleurmetingen mogelijk.

De GY33.ino-schets kan de sensor via I2C lezen, de gedetecteerde RGB-waarden als tekst naar de seriële monitor uitvoeren en de gedetecteerde kleur ook weergeven op een WS2812B RGB-led. De FastLED-bibliotheek is vereist.

EEN OLED-SCHERM TOEVOEGEN: De schets van GY33_OLED.ino laat zien hoe de RGB-waarden ook kunnen worden weergegeven op een 128x64 I2C OLED. Sluit de OLED eenvoudig aan op de I2C-bus (UNO-pinnen A4/A5) parallel samen met de GY33. Beide apparaten kunnen parallel worden aangesloten omdat ze zich op verschillende I2C-adressen bevinden. Sluit ook 5V en GND aan op de OLED.

MEERDERE LED's: De ongebruikte LED-pin in het diagram is "Data Out" als u twee of meer van de adresseerbare LED's in serie wilt schakelen, sluit u eenvoudig Data_Out van LED N aan op Data_In van LED N+1.

PROTOTYPE PCB-SCHILD: De GY-33-module, het OLED-display en een of meer RGB-LED's kunnen op het prototype-schild worden gesoldeerd om een kleurgevoelig instrumentenschild te construeren dat gemakkelijk kan worden bevestigd aan en losgemaakt van de Arduino UNO.

Stap 5: Multifunctioneel Arduino Experimentation Shield

Multifunctioneel Arduino Experimentation Shield
Multifunctioneel Arduino Experimentation Shield

Het multifunctionele Arduino Experimentation Shield kan op de Arduino UNO worden aangesloten om te experimenteren met een verscheidenheid aan componenten, waaronder: rode LED-indicator, blauwe LED-indicator, twee gebruikersinvoerknoppen, resetknop, DHT11-temperatuur- en vochtigheidssensor, analoge ingangspotentiometer, piëzo-zoemer, RGB LED, fotocel om de lichthelderheid te detecteren, LM35D temperatuursensor en een infraroodontvanger.

De Arduino-pin(nen) voor elk onderdeel worden weergegeven op de zeefdruk van het schild. Ook zijn details en democode hier te vinden.

Stap 6: Surface Mount Solderen Praktijk: LED Chaser

Surface Mount Solderen Praktijk: LED Chaser
Surface Mount Solderen Praktijk: LED Chaser

Heb je geluk gehad bij het bouwen van de Freeform LED Chaser van HackerBox 0052?

Hoe dan ook, het is tijd voor een nieuwe SMT-soldeeroefensessie. Dit is hetzelfde LED Chaser-circuit van HackerBox 0052, maar geconstrueerd met SMT-componenten op een PCB in plaats van freeform/deadbug-componenten.

Eerst een peptalk van Dave Jones in zijn EEVblog over Soldering Surface Mount Components.

Stap 7: Wat is een neuraal netwerk?

Wat is een neuraal netwerk?
Wat is een neuraal netwerk?

Een neuraal netwerk (wikipedia) is een netwerk of circuit van neuronen, of in moderne zin, een kunstmatig neuraal netwerk, samengesteld uit kunstmatige neuronen of knooppunten. Een neuraal netwerk is dus ofwel een biologisch neuraal netwerk, bestaande uit echte biologische neuronen, of een kunstmatig neuraal netwerk, voor het oplossen van problemen met kunstmatige intelligentie (AI).

Aanbevolen: