Inhoudsopgave:

Een LED-matrix gebruiken als scanner: 8 stappen (met afbeeldingen)
Een LED-matrix gebruiken als scanner: 8 stappen (met afbeeldingen)

Video: Een LED-matrix gebruiken als scanner: 8 stappen (met afbeeldingen)

Video: Een LED-matrix gebruiken als scanner: 8 stappen (met afbeeldingen)
Video: alles kan kapot zlef Alex soze 😅👍🤣😪#politie #shorts 2024, December
Anonim
Image
Image
Maak Boxy-dingen van verouderde visitekaartjes!
Maak Boxy-dingen van verouderde visitekaartjes!

Door marciotMarcioT's startpaginaVolg meer door de auteur:

Maak Boxy-dingen van verouderde visitekaartjes!
Maak Boxy-dingen van verouderde visitekaartjes!
DIY 2,5x tot 5x opera-/concertbril
DIY 2,5x tot 5x opera-/concertbril
DIY 2,5x tot 5x opera-/concertbril
DIY 2,5x tot 5x opera-/concertbril
Draadloze waterlekdetector voor het hele huis en noodwaterafsluitsysteem
Draadloze waterlekdetector voor het hele huis en noodwaterafsluitsysteem
Draadloze waterlekdetector voor het hele huis en noodwaterafsluitsysteem
Draadloze waterlekdetector voor het hele huis en noodwaterafsluitsysteem

Over: Ik ben een hobbyist met interesse in open source software, 3D printen, wetenschap en elektronica. Bezoek mijn winkel of Patreon-pagina om mijn werk te ondersteunen! Meer over marciot »

Gewone digitale camera's werken met behulp van een groot aantal lichtsensoren om licht op te vangen dat door een object wordt gereflecteerd. In dit experiment wilde ik zien of ik een achteruitrijcamera kon bouwen: in plaats van een reeks lichtsensoren, heb ik slechts een enkele sensor; maar ik bedien elk van de 1.024 individuele lichtbronnen in een 32 x 32 LED-matrix.

De manier waarop het werkt, is dat de Arduino één LED tegelijk verlicht, terwijl de analoge ingang wordt gebruikt om veranderingen in de lichtsensor te controleren. Hierdoor kan de Arduino testen of de sensor een bepaalde LED kan "zien". Dit proces wordt snel herhaald voor elk van de 1.024 individuele LED's om een kaart met zichtbare pixels te genereren.

Als een object tussen de LED-matrix en de sensor wordt geplaatst, kan de Arduino het silhouet van dat object vastleggen, dat als een "schaduw" oplicht zodra de opname is voltooid.

BONUS: Met kleine aanpassingen kan dezelfde code worden gebruikt om een "digitale stylus" te implementeren voor het schilderen op de LED-matrix.

Stap 1: Onderdelen gebruikt in deze build

Onderdelen gebruikt in deze build
Onderdelen gebruikt in deze build
Onderdelen gebruikt in deze build
Onderdelen gebruikt in deze build

Voor dit project heb ik de volgende componenten gebruikt:

  • Een Arduino Uno met Breadboard
  • 32x32 RGB LED-matrix (van AdaFruit of Tindie)
  • 5V 4A voedingsadapter (van AdaFruit)
  • Vrouwelijke DC-stroomadapter 2,1 mm jack naar schroefklemmenblok (van AdaFruit)
  • Een heldere, 3 mm TIL78 fototransistor
  • Doorverbindingsdraden

AdaFruit verkoopt ook een Arduino-shield die kan worden gebruikt in plaats van jumperdraden.

Omdat ik wat Tindie-tegoeden had, kreeg ik mijn matrix van Tindie, maar de matrix van AdaFruit lijkt identiek te zijn, dus beide zouden moeten werken.

De fototransistor kwam uit mijn tientallen jaren oude verzameling onderdelen. Het was een duidelijk onderdeel van 3 mm dat werd aangeduid als een TIL78. Voor zover ik weet, is dat onderdeel bedoeld voor IR en wordt het geleverd met een doorzichtige behuizing of een donkere behuizing die zichtbaar licht blokkeert. Omdat de RGB LED-matrix zichtbaar licht uitstraalt, moet de heldere versie worden gebruikt.

Deze TIL78 lijkt te zijn stopgezet, maar ik kan me voorstellen dat dit project kan worden gemaakt met behulp van hedendaagse fototransistoren. Als je iets vindt dat werkt, laat het me weten en ik zal dit Instructable bijwerken!

Stap 2: Bedrading en testen van de fototransistor

De fototransistor aansluiten en testen
De fototransistor aansluiten en testen

Normaal gesproken zou je een weerstand in serie met de fototransistor over de voeding nodig hebben, maar ik wist dat de Arduino de mogelijkheid had om een interne pull-up-weerstand op een van de pinnen in te schakelen. Ik vermoedde dat ik daarvan kon profiteren om de fototransistor zonder extra componenten op de Arduino aan te sluiten. Het bleek dat mijn vermoeden juist was!

Ik gebruikte draden om de fototransistor aan te sluiten op de GND- en A5-pinnen op de Arduino. Ik heb toen een schets gemaakt die de A5-pin instelde als een INPUT_PULLUP. Dit wordt normaal gesproken gedaan voor schakelaars, maar in dit geval levert het stroom aan de fototransistor!

#define SENSOR A5

void setup() { Serial.begin(9600); pinMode (SENSOR, INPUT_PULLUP); } void loop () {// Lees de analoge waarde continu en druk deze af Serial.println (analogRead (SENSOR)); }

Deze schets drukt waarden af naar de seriële poort die overeenkomen met de omgevingshelderheid. Door de handige "Serial Plotter" uit het menu "Tools" van de Arduino IDE te gebruiken, kan ik een bewegende plot van omgevingslicht krijgen! Terwijl ik de fototransistor met mijn handen bedek en blootleg, beweegt de plot op en neer. Mooi hoor!

Deze schets is een mooie manier om te controleren of de fototransistor met de juiste polariteit is aangesloten: de fototransistor zal gevoeliger zijn wanneer hij de ene richting aansluit dan de andere.

Stap 3: De Matrix-lintkabel aansluiten op de Arduino

De Matrix-lintkabel aansluiten op de Arduino
De Matrix-lintkabel aansluiten op de Arduino

Om de matrix op de Arduino aan te sluiten, heb ik deze handige gids van Adafruit doorgenomen. Voor het gemak heb ik het diagram en de pin-outs in een document geplakt en een snelle referentiepagina afgedrukt om te gebruiken terwijl ik alles bedraad.

Zorg ervoor dat het lipje op de connector overeenkomt met het lipje in het diagram.

Als alternatief kunt u voor een schoner circuit het RGB-matrixschild gebruiken dat AdaFruit voor deze panelen verkoopt. Als u het schild gebruikt, moet u een header of draden voor de fototransistor solderen.

Stap 4: De Matrix aansluiten

De Matrix verbinden
De Matrix verbinden
De Matrix verbinden
De Matrix verbinden
De Matrix verbinden
De Matrix verbinden

Ik heb de vorkaansluitingen op de matrixvoedingsdraden naar de jack-adapter geschroefd, ervoor zorgend dat de polariteit correct was. Omdat een deel van de terminals zichtbaar was, heb ik het geheel voor de veiligheid ingepakt met isolatietape.

Vervolgens heb ik de stroomconnector en de lintkabel aangesloten, waarbij ik ervoor zorgde dat ik de jumperdraden tijdens het proces niet verstoor.

Stap 5: Installeer de AdaFruit Matrix-bibliotheek en test de Matrix

Installeer de AdaFruit Matrix-bibliotheek en test de Matrix
Installeer de AdaFruit Matrix-bibliotheek en test de Matrix

U moet het "RGB-matrixpaneel" en de AdaFruit "Adafruit GFX-bibliotheek" in uw Arduino IDE installeren. Als je hierbij hulp nodig hebt, is de tutorial de beste manier om te gaan.

Ik raad u aan enkele van de voorbeelden uit te voeren om ervoor te zorgen dat uw RGB-paneel werkt voordat u doorgaat. Ik raad het voorbeeld "plasma_32x32" aan, want het is best geweldig!

Belangrijke opmerking: ik ontdekte dat als ik de Arduino aanzette voordat ik de 5V-voeding op de matrix had aangesloten, de matrix zwak zou oplichten. Het blijkt dat de matrix stroom probeert te halen uit de Arduino en dat is zeker niet goed voor! Dus om overbelasting van de Arduino te voorkomen, moet u altijd eerst de matrix inschakelen voordat u de Arduino inschakelt!

Stap 6: Laad de matrixscancode

Tweede prijs in de Arduino-wedstrijd 2019

Aanbevolen: