Spisu treści:

Używanie matrycy LED jako skanera: 8 kroków (ze zdjęciami)
Używanie matrycy LED jako skanera: 8 kroków (ze zdjęciami)

Wideo: Używanie matrycy LED jako skanera: 8 kroków (ze zdjęciami)

Wideo: Używanie matrycy LED jako skanera: 8 kroków (ze zdjęciami)
Wideo: Jak SKANOWAĆ negatywy BEZ SKANERA ?- alternatywne metody digitalizacji materiałów transparentnych 2024, Grudzień
Anonim
Image
Image
Zrób pudełkowe rzeczy z przestarzałych wizytówek!
Zrób pudełkowe rzeczy z przestarzałych wizytówek!

Autor: marciotMarcioT's Home PageObserwuj Więcej autora:

Zrób pudełkowe rzeczy z przestarzałych wizytówek!
Zrób pudełkowe rzeczy z przestarzałych wizytówek!
Zrób to sam 2,5x do 5x okulary Opera/Koncert
Zrób to sam 2,5x do 5x okulary Opera/Koncert
Zrób to sam 2,5x do 5x okulary Opera/Koncert
Zrób to sam 2,5x do 5x okulary Opera/Koncert
Bezprzewodowy detektor wycieku wody w całym domu i system awaryjnego odcinania wody
Bezprzewodowy detektor wycieku wody w całym domu i system awaryjnego odcinania wody
Bezprzewodowy detektor wycieku wody w całym domu i system awaryjnego odcinania wody
Bezprzewodowy detektor wycieku wody w całym domu i system awaryjnego odcinania wody

O mnie: Jestem hobbystą zainteresowanym oprogramowaniem open-source, drukiem 3D, nauką i elektroniką. Odwiedź mój sklep lub stronę Patreon, aby wesprzeć moją pracę! Więcej o marciocie »

Zwykłe aparaty cyfrowe działają przy użyciu szerokiej gamy czujników światła do przechwytywania światła odbijanego od obiektu. W tym eksperymencie chciałem sprawdzić, czy uda mi się zbudować kamerę do tyłu: zamiast tablicy czujników światła, mam tylko jeden czujnik; ale kontroluję każde z 1 024 pojedynczych źródeł światła w matrycy 32 x 32 LED.

Działa to tak, że Arduino podświetla jedną diodę LED na raz, jednocześnie wykorzystując wejście analogowe do monitorowania zmian w czujniku światła. Dzięki temu Arduino może przetestować, czy czujnik „widzi” konkretną diodę LED. Proces ten jest szybko powtarzany dla każdej z 1024 pojedynczych diod LED, aby wygenerować mapę widocznych pikseli.

Jeśli obiekt zostanie umieszczony między matrycą LED a czujnikiem, Arduino jest w stanie uchwycić sylwetkę tego obiektu, która po zakończeniu przechwytywania jest podświetlana jako „cień”.

BONUS: Z drobnymi poprawkami ten sam kod może zostać użyty do zaimplementowania „cyfrowego rysika” do malowania na matrycy LED.

Krok 1: Części używane w tym kompilacji

Części używane w tym kompilacji
Części używane w tym kompilacji
Części używane w tym kompilacji
Części używane w tym kompilacji

Do tego projektu użyłem następujących komponentów:

  • Arduino Uno z płytą do krojenia chleba
  • Matryca LED 32x32 RGB (od AdaFruit lub Tindie)
  • Zasilacz 5V 4A (od AdaFruit)
  • Żeński zasilacz prądu stałego 2.1mm do bloku zacisków śrubowych (od AdaFruit)
  • Przejrzysty fototranzystor TIL78 3mm
  • Przewody połączeniowe

AdaFruit sprzedaje również nakładkę Arduino, która może być używana zamiast przewodów połączeniowych.

Ponieważ miałem trochę kredytów Tindie, dostałem matrycę od Tindie, ale matryca od AdaFruit wydaje się być identyczna, więc każda z nich powinna działać.

Fototranzystor pochodził z mojej kilkudziesięcioletniej kolekcji części. Była to przezroczysta, 3-milimetrowa część oznaczona jako TIL78. O ile wiem, ta część jest przeznaczona do podczerwieni i jest dostępna albo z przezroczystą obudową, albo ciemną obudową, która blokuje światło widzialne. Ponieważ matryca RGB LED emituje światło widzialne, należy zastosować wersję przezroczystą.

Wydaje się, że ten TIL78 został wycofany z produkcji, ale wyobrażam sobie, że ten projekt mógłby zostać wykonany przy użyciu współczesnych fototranzystorów. Jeśli znajdziesz coś, co działa, daj mi znać, a zaktualizuję ten Instruktaż!

Krok 2: Podłączanie i testowanie fototranzystora

Podłączanie i testowanie fototranzystora
Podłączanie i testowanie fototranzystora

Zwykle potrzebny byłby rezystor połączony szeregowo z fototranzystorem w poprzek zasilania, ale wiedziałem, że Arduino ma możliwość włączenia wewnętrznego rezystora podciągającego na dowolnym z pinów. Podejrzewałem, że mógłbym to wykorzystać do podpięcia fototranzystora do Arduino bez żadnych dodatkowych elementów. Okazało się, że moje przeczucie było słuszne!

Do podłączenia fototranzystora do pinów GND i A5 w Arduino użyłem przewodów. Następnie stworzyłem szkic, który ustawia pin A5 jako INPUT_PULLUP. Zwykle robi się to w przypadku przełączników, ale w tym przypadku zapewnia zasilanie fototranzystora!

#define CZUJNIK A5

void setup() { Serial.begin(9600); pinMode(CZUJNIK, WEJŚCIE_PULLUP); } void loop() { // Ciągłe odczytywanie wartości analogowej i drukowanie jej Serial.println(analogRead(SENSOR)); }

Ten szkic drukuje na porcie szeregowym wartości odpowiadające jasności otoczenia. Używając poręcznego „Serial Plotter” z menu „Tools” Arduino IDE, mogę uzyskać ruchomy wykres światła otoczenia! Gdy zakrywam i odsłaniam rękoma fototranzystor, fabuła porusza się w górę iw dół. Miły!

Ten szkic to dobry sposób na sprawdzenie, czy fototranzystor jest podłączony z właściwą polaryzacją: fototranzystor będzie bardziej czuły, gdy zostanie podłączony w jednym kierunku niż w drugim.

Krok 3: Podłączanie kabla taśmowego matrycy do Arduino

Podłączanie kabla taśmowego matrycy do Arduino
Podłączanie kabla taśmowego matrycy do Arduino

Aby podłączyć matrycę do Arduino, przejrzałem ten poręczny przewodnik od Adafruit. Dla wygody wkleiłem schemat i pinezki do dokumentu i wydrukowałem skróconą stronę odniesienia do wykorzystania podczas podłączania wszystkiego.

Upewnij się, że wypustka na złączu pasuje do tej na schemacie.

Alternatywnie, aby uzyskać czystszy obwód, możesz użyć osłony matrycy RGB, którą AdaFruit sprzedaje do tych paneli. Jeśli użyjesz nakładki, będziesz musiał wlutować główkę lub przewody do fototranzystora.

Krok 4: Podłączanie matrycy

Podłączanie matrycy
Podłączanie matrycy
Podłączanie matrycy
Podłączanie matrycy
Podłączanie matrycy
Podłączanie matrycy

Przykręciłem końcówki widełkowe na przewodach zasilających matrycy do adaptera jack, upewniając się, że polaryzacja jest prawidłowa. Ponieważ część zacisków została odsłonięta, dla bezpieczeństwa owinąłem całość taśmą izolacyjną.

Następnie podłączyłem złącze zasilania i kabel taśmowy, uważając, aby przy tym nie poruszyć przewodów połączeniowych.

Krok 5: Zainstaluj bibliotekę AdaFruit Matrix i przetestuj macierz

Zainstaluj bibliotekę AdaFruit Matrix i przetestuj macierz
Zainstaluj bibliotekę AdaFruit Matrix i przetestuj macierz

Będziesz musiał zainstalować "Panel matrycy RGB" i AdaFruit "Adafruit GFX Library" w swoim Arduino IDE. Jeśli potrzebujesz pomocy, najlepiej skorzystać z samouczka.

Proponuję uruchomić kilka przykładów, aby upewnić się, że panel RGB działa, zanim przejdziesz dalej. Polecam przykład "plasma_32x32", ponieważ jest całkiem niesamowity!

Ważna uwaga: stwierdziłem, że gdybym zasilił Arduino przed podłączeniem zasilania 5V do matrycy, matryca świeciłaby słabo. Wygląda na to, że matryca próbuje pobierać energię z Arduino, a to zdecydowanie nie jest dobre! Aby uniknąć przeciążenia Arduino, zawsze włączaj macierz przed włączeniem Arduino!

Krok 6: Załaduj kod skanowania matrycy

II nagroda w konkursie Arduino 2019

Zalecana: