KeyChainino - de eerste spel sleutelhanger programmeerbare met Arduino (3 / 14 stap)

Stap 3: Analyse van de schets-Init


Nu uitleggen ik u, stap voor stap alle regels van de schets.

De eerste #include regels worden gebruikt om de specifieke code van avr voor handvat, in volgorde te importeren:

  • Interrupt bibliotheek om de interrupt van timer 1 en knoppen. De interrupts van de twee knoppen worden gebruikt voor de microcontroller wakker na het gaat om te slapen om macht verbruiken.
  • PROGMEM bibliotheek wordt gebruikt dat er constante variabele aan het flitsgeheugen in plaats van het RAM-geheugen. Het wordt gebruikt omdat alle variabelen gebruikt op de schets worden opgeslagen in het RAM-geheugen van de microcontroller en, meestal, de RAM lager dan het FLASH-geheugen is.
    Dus, als ik gebruik een groot aantal constante variabelen - als de matrix van getallen - moet ik zetten in de flitser voor de instandhouding van het RAM-geheugen.
    Ik wil u mededelen dat de IDE van Arduino, meestal, niet wordt weergegeven als het RAM-geheugen van de microcontroller vol is. Als u de gehele RAM hebben ingevuld, gewoon de schets op een gegeven moment zal verpletteren en u zult gek zijn omdat je niet achterhalen waarom het gebeurt.
    Dus, als u grote constante variabelen, zoals multidimensionale array, gebruik dan PROGMEM.
  • Slapen bibliotheek wordt gebruikt om de microcontroller in een diepe staat waar het verbruikt weinig stroom.
  • Bibliotheek van de macht wordt gebruikt om de macht van de randapparatuur in de microcontroller - zoals de ADC, timers, enz. Als we geen aan deze randapparatuur behoefte afsluiten wij hen.

Vervolgens hebben we de constante waarde voor de matrix, de pinnen en de knoppen:

 #define MATRIX_ROW 5#define MATRIX_COL 6#define PIN_NUMBER 7#define BUTTON_A 6 //pin 6 - PCINT6#define BUTTON_B 8 //pin 8 - INT0 

In volgorde:

  • MATRIX_ROW is het nummer van de LEDs rijen. In dit geval 5 LEDsper regel.
  • MATRIX_COL is het nummer van de LEDs cols. In dit geval 6 LEDs op kolom.
  • PIN_NUMBER is het aantal pinnen gebruikt voor de 6 x 5 LEDs Charlieplexing Matrix.
  • Button_A is het pin-nummer van de linker knop. Deze knop trigger de PCINT6 interrupt
  • Knop _B is het pin-nummer van de rechterknop. Deze knop trigger de INT0 interrupt.

Nu hebben we de variabelen die worden gebruikt voor de Charlieplexing LEDs Matrix:

  • pinnen [PIN_NUMBER] is een array die de 7 pinnen gebruikt voor de Charlieplexing slaat.
  • connectionMatrix [MATRIX_ROW] [MATRIX_COL] [2] is een multidimensionale Array waarin de enige aansluiting van de LED in de Charlieplexing Matrix.
    Het eerste getal van de twee getallen tussen de accolades, is de Anode.
    Het tweede getal is de kathode.

  • matrixState [MATRIX_ROW] [MATRIX_COL] is de multidimensionale array die wordt aangegeven welke LEDs moeten worden ingeschakeld of uitgeschakeld. Als u een beetje van deze matrix, de bijbehorende LED van OFF volgens welke bits u invoegen is ingeschakeld: 1 brandt, 0 is uit.
    Deze Matrix wordt altijd gebruikt in de schets omdat zodat object, zoals een pad en bal, moet ze schreef in deze matrix. Dus u moet verwijderen van de vorige positie doordat de coördinaat van het object in de matrixState op 0, en vervolgens kunt u de nieuwe positie door de invoering van de 1 naar de nieuwe coördinaten. Altijd in de matrixState.

    Als u weergeven een gezicht in de matrix LED's wilt, moet u elke bit van uw gezicht matrix doorgeven aan de matrixState. Magisch de LEDs neemt je gezicht matrix! :)
    Dit omdat de Charlieplexing Matrix automatisch - met timer 1 overflow interrupt bijgewerkt wordt - volgens alleen voor de matrixState Matrix.

Gerelateerde Artikelen

Het eerste gebruik van ESP8266 met Arduino Uno

Het eerste gebruik van ESP8266 met Arduino Uno

Vandaag, ga ik om u te tonen die hoe kunnen we onze module ESP8266 voor gebruik met Arduino UNO voorbereiden.De noodzaak lijst:1. Arduino UNO (met USB-kabel die op uw computer via USB-kabel aangesloten, ook wordt gebruikt de spanning)2. uw computer (
Kraan spel Revival! Met Arduino.

Kraan spel Revival! Met Arduino.

Hallo! Ik ben Noboyu.Ik ga vaak naar amusement arcade in Japan. Ik wil in het bijzonder de kraan game machine.Een dag... Ik kreeg een deel van de spel speelgoed kraan in een ongewenste winkel, het was gewoon weggooien als onverkochte vuilnis.En dat w
Bluetooth spel controller(Joystick) met Arduino en Jetpack

Bluetooth spel controller(Joystick) met Arduino en Jetpack

Hey, wil ik laten zien van een gemakkelijke manier om het bouwen van een fundamentele spelbesturing met joystick. De Jetpack zendt de gegevens uit de joystick serieel via Bluetooth. U kunt een spel spelen op uw PC met dit, je hoeft alleen te wijzigen
Aan de slag met Arduino - twee speler Arduino Pong

Aan de slag met Arduino - twee speler Arduino Pong

In deze tutorial gaan we een arduino gebaseerde controller die we gebruiken kunnen om te bepalen van een spel voor 2 spelers van pong bouwen.We gaan een paar van dial potentiometers (het draaien van knoppen) gebruiken om te controleren de pong vleerm
Leuk spel met arduino en processing

Leuk spel met arduino en processing

Dit leerprogramma zal u tonen hoe maak je een first person FPS-shooter in verwerking met behulp van een arduino. Dit project werd overhandigd aan ons als een eindexamen in een technische specialisatiecursus (bovenste middelbare school).Video van het
Hoe u een eenvoudig spel van de verwerking met Arduino

Hoe u een eenvoudig spel van de verwerking met Arduino

Hoi allemaalIn dit Instructable, zullen we zien hoe maak je een "link" tussen een Processing Schets en een Arduino-kaart. In dit voorbeeld worden een ultrasone module worden gebruikt voor het besturen van een vliegtuig in een eenvoudig spel. Nog
Speler 2 Pong met behulp van Arduino

Speler 2 Pong met behulp van Arduino

ben ik begonnen met de Instructable van Kyle Brinckerhoff;Bedankt Kyle!en het volgende achter maken tijdschrifthttp://blog.makezine.com/Archive/2007/08/Arduino-Pong.htmlen ik zie dat de oorspronkelijke code wordt toegeschreven aan Pete LamonicaThanks
Eerste stap naar uw smarthome met Arduino

Eerste stap naar uw smarthome met Arduino

de eerste stap in het creëren van een smarthome, is het simpelweg wissel voort en vandoor lichten.Om te beginnen van dit project zijn de volgende items nodig:• Relais module compatibel met Arduino (betekent werken bij 5V)• een Arduino, ik kies de Meg
Toetsenbord met Arduino zonder met behulp van toetsenbord bibliotheek (eerste Tutorial)

Toetsenbord met Arduino zonder met behulp van toetsenbord bibliotheek (eerste Tutorial)

Toetsenbord gebruikt meestal in de meeste projecten om de klant om te gaan met het project zoals (Real Time Clock (RTC) aan te passen van de dag, tijd, toegangscontrole,... enz) maar als je het gebruikt met de bibliotheek van het toetsenbord van Ardu
Programmeerbare 8 lussen pedaal switcher met Arduino Mega2560

Programmeerbare 8 lussen pedaal switcher met Arduino Mega2560

laatste update: februari 17 2016Dit is het tweede deel van mijn vorige tutorial over hoe het te doen eenvoudige programable pedalen switcher (of looper) nu met een Arduino MEGA2560 tot 8 Opbergbare lussen op 8 voorinstellingen.Merk op dat het mogelij
Het eerste gebruik van 0.96" I2C OLED-display met Arduino UNO

Het eerste gebruik van 0.96" I2C OLED-display met Arduino UNO

Vandaag, ga ik u tonen hoe te gebruiken 0.96" I2C OLED-display met Arduino UNO bord. Er zijn een heleboel verschillende type OLED displays. Ik heb 4-gespeld OLED display met mij. Deze worden weergegeven kunnen worden met SPI pinnen in plaats van I2C.
LED paraplu met Arduino

LED paraplu met Arduino

de LED paraplu met Arduino combineert een paraplu, een 8 x 10 LED matrix en een Arduino microcontroller maken een controleerbaar, programmeerbare LED ervaring in de privacy van uw eigen paraplu. Dit project werd geïnspireerd door de elektrische parap
Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Het gebruik van IR-afstandsbedieningen met Arduino (huidige en bijgewerkte)

Ik ben moe van deze ingewikkelde tutorials over het gebruik van bepaalde dingen. Ik hou van eenvoudige, gemakkelijk te begrijpen, stap voor stap instructies. Mijn grootste probleem was met IR en POV. Ik heb eindelijk onder de knie hoe u kunt besturen
Mind Reader met Arduino

Mind Reader met Arduino

Hallo iedereen!!Dit is mijn Mind Reader voor Arduino.De Mind Reader kan u vertellen welke letter van het alfabet (ABC), of met slechts enkele vragen die spelen kaart u hebben gedacht.Het is een eenvoudig project voor montage en met enkele draad verbi