Arduino tekst LCD animatie (7 / 9 stap)

Stap 7: De tank animeren loopvlakken

Nadat ik de eerste beweging van de tank gaan, ging ik op naar de loopvlakken gedragen de manier waarop die ik wilde maken.  In de eerste vertoning van het Wetboek had ik een instelling van elke-other pixel voor de loopvlakken--één pixel enerzijds, uit.  Maar met sommige experimenten, vond ik dat een drie-pixel loopvlak (twee op, eenmalige) zag er beter uit.

De tekening van de tank had om deze configuratie te starten, maar echt wat het betekende was dat ik alle de pixels van het loopvlak op naar de eerste (binnen de lange int-matrix), en vervolgens turn off veranderen kon elke derde pixel.  Afhankelijk van de positie van de vergaarbak, modulo 3, zou ik een andere set van pixels uitschakelen.

De eerste eis, was echter dat het totale aantal pixels in het loopvlak een veelvoud van drie zijn.  Anders zou de animatie overslaan punten hit.

Dus, ik heb gedefinieerd een aparte treadx locatie (niet echt een x-positie, meer als een teller die zou lus 0, 1, 2, 0, 1, 2,...) en op basis van haar waarden, zou ik uitzoeken die loopvlak bits uit te schakelen.  In mijn tekening, zou dit alleen gebeuren in de onderste vier lijnen, die met "y"-waarden 4, 5, 6 en 7 corresponderen.

Aangezien de bits van het loopvlak van de tank waren allen op om te beginnen, kon ik de C XOR-functie gebruiken hen om uit te schakelen.  Ik zou die wijziging toegepast op de lange ints voordat het zou worden verschoven naar de positie van 0..4 bitsgewijs verplaatsen, en dat, natuurlijk, gebeuren zou voordat de lange ints werden opgesplitst in bytes.

int treadx = 0;

void loop {}
...
voor (int y = 0; y < 8; y ++)
{
... doen de andere verwerking van het torentje omhoog hier

deze sectie behandelt de loopvlak animatie
schakelaar (treadx) {}
Case 0:
schakelaar (y) {}
Case 4:
lval ^ = 0x2cb0; breken;
Case 7:
lval ^ = 0x2490; breken;
}
breken;
Case 1:
schakelaar (y) {}
Case 4:
lval ^ = 0x1240; breken;
lval ^ = 0x36d0; breken;
Case 5:
lval ^ = 0x0008; breken;
Case 6:
lval ^ = 0x4000; breken;
Case 7:
lval ^ = 0x0920; breken;
}
breken;
Case 2:
schakelaar (y) {}
Case 4:
lval ^ = 0x0920; breken;
lval ^ = 0x1b60; breken;
Case 5:
lval ^ = 0x4000; breken;
Case 6:
lval ^ = 0x0008; breken;
Case 7:
lval ^ = 0x1240; breken;
}
breken;
}
... doen verschuiven van longs ints en byte verdeling hier
} / / einde voor elk van de acht lijnen
... de lcd.write en lcd.createChar gesprekken hier doen
++ treadx;
Als (treadx == 3) {treadx = 0;}
} / / einde lus functie

Gerelateerde Artikelen

Arduino 5110 LCD Shield

Arduino 5110 LCD Shield

Arduino 5110 LCD schild DHT11 Tint RTCYouTube-video 's
Arduino: Nokia LCD & Sensors

Arduino: Nokia LCD & Sensors

Arduino: Nokia LCD & sensorenProbleem: Het maken van mijn Arduino, een temperatuur-relatieve vochtigheid sensor en een Nokia3310LCD scherm samenwerken.Nu, ik ben een Luie oude Geek, dus wat ik wilde was een Arduino-kit die schilden zou nemen. Deze Fr
Home Automation met Arduino, Buttons, LCD, EEPROM en slimme telefoon

Home Automation met Arduino, Buttons, LCD, EEPROM en slimme telefoon

Nu kunnen we de controle van romp huis met slimme telefoonStap 1: Hardware vereist voor domotica kunt u verschillende dingen, ik kies schakelen of relayIn dit project u zal bepalen switcher door mobiele .if mobiele niet aanwezig is kunt u ook bediene
DIY Arduino scrollen LCD tekst schild

DIY Arduino scrollen LCD tekst schild

Dit project is een upgrade op mijn "DIY Arduino LCD schild" ga check out hoe te maken op mijn kanaal!In dit project 'm I gonna een Arduino Uno schuiven van tekst op een 16 × 2 karakter LCD die wordt beheerd met een paar drukknoppen gebruiken. He
De Arduino / TFT LCD verbinding

De Arduino / TFT LCD verbinding

U zegt dat u wilt een TFT-scherm aan een Arduino aansluiten? Zijn u een grapje?No! Voor over de prijs van een bekende 2 x 16 LCD, krijg je een hoge resolutie TFT beeldscherm. Voor zo laag als $4 (verzendkosten inbegrepen!), is het mogelijk om te kope
Arduino I2C LCD-stuurprogrammabibliotheek en PackMan

Arduino I2C LCD-stuurprogrammabibliotheek en PackMan

Dit project is een uitgebreide Arduino-poort van een eerdere Instructable die u hier vindt;Die snappily was getiteld...'Microchip PIC Library to Control een 20 door 4 LCD over I2C'Het is mijn eerste gaan in het schrijven van een C++ Arduino Library d
Monteren van een Arduino Nano / LCD projecten Platform

Monteren van een Arduino Nano / LCD projecten Platform

De "Arduino Nano / 1.8" TFT LCD projecten Platform "bestaat uit een 3D gedrukte geval dat wraps een aangepaste ontworpen PCB waarop is gemonteerd een Arduino Nano, een 1.8" TFT LCD met een SD-kaartlezer en drie drukknoppen die blootsta
Arduino Thermometer + LCD I2C

Arduino Thermometer + LCD I2C

Ik heb besloten om een grappige Arduino concept thermometer voor het geval het is het midden van de nacht, apotheken niet werken, u niet goed voelt zich en u wilt controleren uw lichaamstemperatuur. Hebt u Arduino aan uw zijde, is dit een levensredde
Arduino tekst naar Morse code

Arduino tekst naar Morse code

Hallo!Dit is mijn eerste instractableIk heb geschreven onder leiding van een klein programma in tekst omzetten in Morse code en weergeven met behulp van ArduinoZoemer kan ook vrij gemakkelijk worden toegevoegd
PSU-voeding van oude ATX met Arduino en LCD Monitor een proefbank

PSU-voeding van oude ATX met Arduino en LCD Monitor een proefbank

Hallo allemaal en welkom op mijn eerste Instructable.Ik wilde altijd een bankje PSU voor gemakkelijke toegang tot een bron van macht, en iets dat ik kan rekenen op wanneer u werkt aan verschillende projecten. Ik wilde een PSU dat:• biedt 3, 3V, 5v en
Arduino thermometer, LCD Display, Thermistor

Arduino thermometer, LCD Display, Thermistor

*** dit project wordt niet langer ondersteund, de arduino code is verouderd en niet langer werken, mijn arduino brak dus ik het niet repareren, hebt u een correctie-voel je vrij om PM mij! ***Haar een arduino project, het creëren van een temperatuur
Douche Monitor Arduino met LCD display

Douche Monitor Arduino met LCD display

Welkom! Voor onze milieu Capstone klasse (senior proefschrift) voor St. Olaf College bouwden we een monitor die doeltreffend op hoeveel water toezien zou maakt gebruik van een douche. Het idee achter deze water-monitor is dat als u een piezo transduc
Arduino Nano: Bitmap animatie in SSD1306 I2C OLED-Display met Visuino

Arduino Nano: Bitmap animatie in SSD1306 I2C OLED-Display met Visuino

OLED Displays zijn enkele van de coolste en meest geavanceerde modules die u in uw project van Arduino gebruiken kunt. Ik maakte al een project toont u hoe u analoge waarden op het OLED Display kunt afdrukken. Bijna meteen iemand gepost vragen hoe om
Arduino LCD metronoom

Arduino LCD metronoom

Metronomen kunnen duur zijn maar met een Arduino en een paar delen kun je een uitbreidbare metronoom.Stap 1: onderdelenDelen:-Arduino (elke normale grootte Arduino zal wel goed)-De Arduino IDE en de kennis om het te gebruiken-Veel draden-HD44780 LCD-