Beheersing van 20 Led's van 5 pins van de Arduino met behulp van Charlieplexing


vandaag, ik zal je laten zien hoe u kunt besturen 20 LED's van slechts 5 pins van de Arduino. Ik ben bezig met een project waar ik controle 15 LED's, 3 knoppen, 3 moet zeven segment displays en een RGB-orb van een Arduino. Nu als u werkt het uit, je zien zou dat ik zonder sommige slimme multiplexing, 15 digitale uitgangen voor de LED's, 3 ingangen voor de knoppen moeten zou, 21 digitale uitgangen voor de zeven segment displays en 3 PWM uitgangen voor de RGB-orb.

Mijn Arduino hoeft niet 40(15+21+3) uitgangen en 3 ingangen, dus ik moet ofwel drop functies (die niet klinkt als het leuk ding om te doen), kopen van een Arduino Mega (waar is het plezier in dat), of ik moet vinden van een slimme manier te laten werken. Terwijl ik meestal lui ben, gedoe naar de uitgesloten klinkt als een veel leuker (Ok, het onwaarschijnlijke dan...)

Ik heb al in geslaagd om de haak 5 knoppen aan een analoge ingang en gedocumenteerd dat hier:

Met behulp van Charlieplexing, die u kunt aansluiten op n*(n-1) LED's op n microcontroller pinnen. Ik ga via de theorie in de volgende stap, maar vanaf dit kun je zien dat ik kan haak 20 LED's op 5 pinnen of 12 LED's op 4 pinnen, dat zou een goede start voor vervaardiging zulks eigenlijk alle werken op 1 Arduino.

Als u zoekt Instructables (en Google voor die kwestie), vindt u tal van theoretische uitleg van de werking van Charlieplexing, en zelfs vindt u enkele voorbeelden van Charlieplexed LED's wordt uitgevoerd op de Arduino. Het probleem is dat de code op deze voorbeelden zijn over het algemeen niet heel goed uitgelegd, en zijn meestal zeer strak gebonden aan de installatie van de exacte hardware die de auteur gebruikt. Dit maakt het een oefening in futiliteit en frustratie om te proberen en er werken aan uw eigen projecten.

Ik zal u tonen precies hoe dit werkt, hoe te stellen met als veel LED's als je zou willen zo pijnloos mogelijk (hoewel het wordt vreselijk ingewikkeld als je naar meer dan ongeveer 30 LED's), hoe om het code dus het werkt voor u, en welke problemen ik had om te overwinnen in het proces.

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