Beheersing van 20 Led's van 5 pins van de Arduino met behulp van Charlieplexing (7 / 8 stap)

Stap 7: Codering het - een beter voorbeeld.



Tijdens het fietsen door alle LED's is een goede indicatie dat het werkt, het is ietwat saai...

De bijgevoegde schets ziet u hoe u kunt de code instellen om specifieke frames weer te geven (waarbij elk frame wordt gedefinieerd als een bos van LED's die in- of uitschakelen zijn).

Het eerste verschil is dat ik de variabelen in mijn matrix herschikt van LED's te lijken op de lay-out op mijn breadboard. Helaas, er is geen truc hier. Het is gewoon vallen en opstaan. Let op de volgorde van LED's en swop twee tegelijk te proberen en het uitzoeken.

Het belangrijkste verschil is echter de methode display (int frame [5], int duur). Meeste is vrij vanzelfsprekend. Er is een heleboel herhalen om alle relevante waarden van de verschillende reeksen, maar het enige deel dat dreigt te verwarrend is hier:
Als (frame [y] & (0b1000 >> x)) {}
licht (c [y] [x]);

Dit is in wezen met behulp van een bitsgewijze AND op de byte van een Bitshifted om te bepalen of een kolom in het frame op. Wanneer u met de rechtermuisknop shift, de 1 in 0B1000 zal naar rechts verplaatsen, dus wat je doet dit is:
Aannemen dat X = 0 en frame [y] = 0b0101:
0b1000 >> 0 is 0B1000
door het doen van een bitsgewijze AND op
0B1000 en
0B0101
je eindigen met 0B0000 die betekent dat geen LED's wordt ingeschakeld.
Als u vervolgens met X verdergaat = 1 en frame [y] = 0b0101:
0b1000 >> 1 is 0B0100
door het doen van een bitsgewijze AND op
0B0100 en
0B0101
je eindigen met 0B0100 die betekent: draai op de tweede LED (en alleen de tweede LED) in rij Y.

In wezen, het is gewoon een slimme beetje wiskunde schoner te maken de code. U kunt meer lezen over bitsgewijze math hier:
http://www.Arduino.CC/Playground/code/BitMath

De video laat zien hoe het eruitziet wanneer uitgevoerd.

Gerelateerde Artikelen

Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Mobile Application Monitor en Control Arduino, met behulp van kito.io IOT Platform

Bewaking en beheersing van je Arduino uit uw kito Mobile App.Ik heb een IOT Platform ontwikkeld voor het helpen van DIY Makers die net doet dat met geen kennis van Xcode, Android, JavaScript nodig anders dan hoe weet te schrijven van de Arduino schet
Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Sensorgegevens (DHT11 & BMP180) verzenden ThingSpeak met een Arduino, met behulp van ENC28J60 Ethercard

Opmerking: Dit instructable is voor de oude ENC26J60 Ethershield en ethercard. Als u de moderne WIZ5100 op basis van Ethernetshield of een ESP8266 ga bezoek mijn andere instructable dat ik noemen hieronderOngeveer een jaar en een half geleden ik publ
Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Dual Motor Driver met Arduino met behulp van een SN754410NE Quad halve H-Bridge

Een stap voor stap projectrichtlijnen door ArduinoFunMet dit Instructable ga ik je laten zien hoe u met een SN754410NE Quad H-Bridge IC controle twee 12-volt DC-motoren.Ik heb een video toegevoegd zodat u de dubbele Motor in actie kunt zien.  Zoals u
Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Een esp8266 arduino met behulp van een relais met behulp van home-assistant

Dit Instructable laat zien hoe een Relais module verbinden met een esp8266, iets dat moet ongecompliceerd, maar moet een paar extra componenten te maken van de estafette werkt correct als u van het kleine apparaat van de esp in de foto's gebruikmaakt
Controle van de Arduino met behulp van android app

Controle van de Arduino met behulp van android app

In deze instructables ga ik uit te leggen hoe de controle van de arduino IO pinnen met behulp van een android app, die we hier schrijven.De mededeling zal via ethernet en gebruiken we het GET-verzoek voor het activeren van de IO.Laten we beginnen!Sta
Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Uitzetten van real-time gegevens van Arduino met behulp van Python (matplotlib)

Arduino is fantastisch als tussenpersoon tussen uw computer en een ruwe elektronische schakeling. Via de seriële interface, kunt u informatie ophalen uit sensoren bevestigd aan je Arduino. (U kunt ook informatie verzenden via de seriële interface te
Uploaden van de schets naar Pro Mini Arduino met behulp van usbASP

Uploaden van de schets naar Pro Mini Arduino met behulp van usbASP

In deze tutorial tweetalig (Engels en Indonesisch, Indonesisch versie onder scheidingslijn met cursieve stijl), zullen we leren hoe om te uploaden van de schets ("schets" is de term voor programmacode die is geschreven voor Arduino) met Arduino
Arduino met behulp van MPLAB X

Arduino met behulp van MPLAB X

Ik zal het maken van een eenvoudige code om te knipperen van een LED met behulp van Arduino.Stap 1: Omgaan met LED met behulp van arduinoWe zullen beginnen met het verklaren van de uitgang-pinspinMode(ledPin, OUTPUT)Zorg ervoor dat alle van de onders
Uploaden van de schets naar Pro Mini Arduino met behulp van de Arduino UNO

Uploaden van de schets naar Pro Mini Arduino met behulp van de Arduino UNO

Ik ben mijn manier begonnen met de arduino UNO, verhuizen naar pro mini ik niet kopen van de USB-adapter maar het UNO-bord gebruikt voor het uploaden van mijn schetsen.Stap 1: Verwijderen van de Atmel ICZeer cerfuly verwijderen de Atmel IC van de Ard
Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Arduino/Android BLUETOOTH seriële Monitor APP voor arduino met behulp van de HC-06 en ANDROID

Hello wereld! Vandaag maakte ik een Android app die gewoon leest waarden of tekst die zijn afgedrukt op de arduino seriële met behulp van de bluetooth-module HC-06/05 of andere modules. U hoeft niet te stellen iets in de code van de arduino. Gewoon S
Controle van de arduino met behulp van Blynk via usb

Controle van de arduino met behulp van Blynk via usb

Dit is mijn tweede instructable. In dit instructable zal ik laten zien hoe u kunt besturen LED met behulp van Blynk.Blynk is een applicatie die ons dashboard, evenals connectiviteit biedt. die u kunt downloaden van google play store (voor Android). &
Programmeren van een Arduino met behulp van BeagleBone, zonder USB

Programmeren van een Arduino met behulp van BeagleBone, zonder USB

als je gezien mijn BeagleBone/Arduino seriële communicatie gids, u kan hebben gewacht voor deze!  Als u het nog niet gezien, ga eerst lezen omdat we 100% Voortbouwend op dat kader.  Ik ga niet herhalen die instructie hier.Het einddoel is om te kunnen
Plotten en grafische dynamische gegevens uit Arduino met behulp van de kracht van Python

Plotten en grafische dynamische gegevens uit Arduino met behulp van de kracht van Python

Ik zal u tonen hoe te nemen van uw Arduino projecten naar het volgende niveau door het hebben van de Arduino interactie met de programmeertaal Python. Python is een gratis programma dat u kunt downloaden. Aangezien je al geleerd hebt zal de fundament
Uitzetten van een schets van de Arduino met behulp van de schakelaar Pololu

Uitzetten van een schets van de Arduino met behulp van de schakelaar Pololu

moet u een Arduino om af te sluiten uit binnen uw schets, dit is de oplossing.Bedrading van de Pololu drukknop / uit-schakelaar, programmeren van de Arduino om en alleen de macht, en maken de eenheid "macht op" uitgeschakeld, zullen we ontdekken