Gebaargestuurde interactieve tafellamp
Componenten en benodigdheden
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Benodigde gereedschappen en machines
|
Apps en online services
|
Over dit project
We hebben allemaal verschillende soorten sfeerlampen en RGB-licht gezien, de meeste hebben een aantal knoppen of een afstandsbediening om ermee te communiceren, maar we dachten aan het maken van een Gesture Controlled RGB Desk Lights die alleen van kleur kan veranderen door een eenvoudig veeggebaar als trigger te gebruiken. Dit is een interactief kunstproject gemaakt met behulp van de Arduino Uno-bord &IR-arraysensor . Het is een leuk en gemakkelijk project dat aan studenten en kinderen kan worden geleerd.
Laten we naar het maakportaal duiken.
Volg ons op Instagram:Random stuff We Make! voor meer coole projecten.
Stap 1:Schik het materiaal
Al het hier genoemde materiaal is gemakkelijk verkrijgbaar in uw lokale markt en in online winkels.
- Arduino Uno
- IR-sensorarray (8 sensoren)
- WS2812b Adresseerbare RGB-LED
- 5V, 2A voedingsadapter
Stap 2:Inleiding
Deze sensor is een eenvoudige reeks van meerdere IR-sensoren (nabijheidssensor). Deze array bestaat uit 8 sensoren die 8 verschillende analoge &digitale uitgangen kunnen geven. In dit project zullen we deze sensor gebruiken om de bewegingsrichting van onze hand te identificeren en zo de kleuren van LED's te veranderen in overeenstemming met gebaren. Het Arduino-bord neemt input van de sensor en verandert de kleuren van LED's.
Hier is een afbeelding bijgevoegd van de IR-sensorarray en de gebaren die bij de code horen. De twee eenvoudige gebaren zijn:
- Veeg naar links
- Swipe naar rechts
Bekijk hier de werking van deze gebaren:
Stap 3:De verbindingen maken
Er zijn maar weinig verbindingen, namelijk; (Zie de aansluitingen op de afbeelding van het circuit)
IR-sensorverbindingen:
- Sluit GND van IR-lijnvolgersensor aan op GND van Arduino.
- Sluit VCC van IR-lijnvolgersensor aan op 5v van Arduino.
- Sluit de digitale uitgang van sensor A aan op digitale pin 4 van Arduino.
- Sluit de digitale uitgang van sensor B aan op digitale pin 5 van Arduino.
- Sluit de digitale uitgang van sensor C aan op digitale pin 6 van Arduino.
- Sluit de digitale uitgang van sensor D aan op digitale pin 7 van Arduino.
- Sluit de digitale uitgang van sensor E aan op digitale pin 8 van Arduino.
- Sluit de digitale uitgang van sensor F aan op digitale pin 9 van Arduino.
- Sluit de digitale uitgang van sensor G aan op digitale pin 10 van Arduino.
- Sluit de digitale uitgang van sensor H aan op digitale pin 11 van Arduino.
LED-strip Aansluitingen :
- Sluit GND van LED-strip aan op GND Arduino.
- Sluit 5V LED-strip aan op Vin of Arduino.
- Sluit Data In van LED-strip aan op digitale pin 3 van Arduino.
Dat is alles mensen!
Stap 4:Laten we het coderen
De hier bijgevoegde code is compleet.
Uitleg :
De code is eenvoudig, we gebruiken één bibliotheek met de naam FAST LED om de LED te besturen en effecten te geven. Vervolgens worden 8 variabelen gedeclareerd met behulp van alfabetten om de gegevens van sensoren op te slaan. Het Aantal LED's in pixelstrook is gedefinieerd als 90 (u kunt dit wijzigen volgens uw instellingen) &data-pin is gedefinieerd als pin 3 van Arduino.
De lege lus bestaat uit 2 geneste if-lussen die controleren welke van de sensoren zijn ingeschakeld en dus oplichten / de kleuren van LED's veranderen.
One Void Fadeall functie is gemaakt om het tint (kleur) veranderende effect te bieden.
Download de code hier en geniet ervan.
Volg ons op Instagram:Random stuff We Make! voor meer coole projecten.
Stap 5:Enkele foto's
Code
- Gebarengestuurde tafellamp
Gebaargestuurde tafellampArduino
Deze code is compleet, u kunt het aantal LED's wijzigen &Pin nr. volgens uw opstelling. Raadpleeg voor de uitleg van de code het verhaalgedeelte van het artikel.#include//LED library initializationint a,b,c,d,e,f,g,h,j=0; // Variabelen om sensorgegevens op te slaan # define NUM_LEDS 90 // Hoeveel leds in uw strip? #define DATA_PIN 3 // Datapin van LED wordt hier op Arduino aangesloten // Definieer de reeks leds CRGB-leds [NUM_LEDS]; ongeldige setup () { pinMode(4,INPUT); // Digitale invoerpin voor IR-sensor pinMode (5, INPUT); // Digitale ingangspin voor IR-sensor pinMode (6, INPUT); // Digitale ingangspin voor IR-sensor pinMode (7, INPUT); // Digitale ingangspin voor IR-sensor pinMode (8, INPUT); // Digitale ingangspin voor IR-sensor pinMode (9, INPUT); //Digitale ingangspin voor IR-sensor pinMode(10,INPUT);//Digitale ingangspin voor IR-sensor pinMode(11,INPUT);//Digitale ingangspin voor IR-sensor LEDS.addLeds (leds ,NUM_LEDS); // LED-initialisatie LEDS.setBrightness (84); // Helderheid van LED (0-255 bereik)} ongeldig fadeall () { for (int i =0; i =4; i--) {// Zet de i'th led op rode leds [i] =CHSV (hue++, 255, 255); // Toon de leds FastLED.show(); // nu we de leds hebben getoond, reset de i'th led naar zwart // leds[i] =CRGB::Black; fadeall(); // Wacht een beetje voordat we een lus maken en het opnieuw doen delay (10); } }} }
Schema's
Het circuit in fritzing is gemaakt met 8 verschillende IR-sensoren, je kunt 8 verschillende sensoren gebruiken of één array-sensor.Productieproces
- Raspberry Pi-robot bestuurd via Bluetooth
- Gebaargestuurde robot met Raspberry Pi
- Alexa gestuurde LED's via Raspberry Pi
- Met joystick bestuurde RC-auto
- SunGlass-BOT [Een geautomatiseerde zonnebril]
- Nunchuk-gestuurde robotarm (met Arduino)
- Draadloze lichtschakelaarmanipulator
- Spraakgestuurde robot
- Arduino-gestuurde pianorobot:PiBot
- Arduino RGB-kleurenmixer
- DMX RGB LED buiten