Inhoudsopgave:

Arduino Light Up Sweater - Ajarnpa
Arduino Light Up Sweater - Ajarnpa

Video: Arduino Light Up Sweater - Ajarnpa

Video: Arduino Light Up Sweater - Ajarnpa
Video: Arduino Light Up Sweater | GIT TECH'D 2024, Juli-
Anonim
Image
Image

Lelijke sweaterfeesten zijn een hoofdbestanddeel van de feestdagen. Elk jaar moet je je uiterste best doen en de beste trui dragen die je kunt vinden. Maar dit jaar kun je het nog beter doen en de beste trui maken. We gebruiken Adafruit Wearables om een prachtige verlichte trui te maken die zeker indruk zal maken op je vrienden en familie.

Adafruit heeft al een aantal geweldige projecten rond Wearables gemaakt, dus we gebruiken hun aangepaste code om dit project van hun Sparkle Skirt-project te implementeren.

In deze tutorial zul je:

  • Leer wearables gebruiken
  • Codeer je Flora-hoofdbord, versnellingsmeter en NeoPixels om op te lichten met Arduino

Stap 1: Aan de slag

Beginnen
Beginnen

We gaan Adafruit Flora Wearables gebruiken, een batterijpakket, geleidende draad en een vakantietrui. Je hebt ook wat normaal garen, naalden en nagellak nodig. Het zal allemaal zin hebben in de tijd. Onze versie zal de kerstman oplichtende ogen geven, maar we ondersteunen alle religies en feestdagen en overtuigingen, dus wees creatief!

  • Adafruit Flora Hoofdbord (https://www.adafruit.com/product/659)
  • Flora-versnellingsmeter (https://www.adafruit.com/product/1247)
  • Flora RGB NeoPixels (https://www.adafruit.com/product/1260)
  • Batterijpakket (https://www.adafruit.com/product/727)
  • Geleidende draad (https://www.adafruit.com/product/641)

Stap 2: Lay-out

Lay-out
Lay-out

We moeten de pixels, het moederbord en de versnellingsmeter indelen voordat we met het naaiproces beginnen. De pixels hebben een dataverbinding, + voor voeding en - voor aarde. De versnellingsmeter heeft aansluitingen nodig voor 3V, SCL, SDA en aarde.

Plaats de pixels, het moederbord en de versnellingsmeter op de trui terwijl u van plan bent deze te naaien. Zorg ervoor dat u geen stiksels kruist, want dan ontstaan er korte broeken. Omdat we ons bord naar binnen en NeoPixels naar buiten hebben gericht, gebruiken we de 3V, Pin 9 en Ground om de NeoPixels aan te sluiten.

De NeoPixels hebben een pijl die aangeeft hoe de dataverbinding van het Flora-hoofdbord naar de volgende NeoPixel moet gaan. Zorg ervoor dat alle NeoPixels op dezelfde manier zijn opgesteld.

Stap 3: Naaitips

Het belangrijkste onderdeel van naaien zijn drie dingen; geen korte broek/kruising van steken, strakke knopen bij het beëindigen van een steek en goede verbindingen met Wearables.

Geen korte broek/steek kruising

Zorg ervoor dat u uw Wearables zo indeelt dat uw stiksels niet oversteken. De lijnen mogen elkaar natuurlijk niet kruisen. Als u eenmaal een lay-out heeft die ervoor zorgt dat alle steken gescheiden blijven, moet u ervoor zorgen dat wanneer u naait, deze strak zit. Als u te veel speling laat, kan de draad elkaar raken. Als u klaar bent met een steek, knipt u de overtollige uiteinden af, zodat er geen losse draden zijn.

Strakke knopen

Bij het beëindigen van een steeklijn zorgt een strakke knoop ervoor dat de steek niet losraakt. De truc is om een klein klodder heldere nagellak op de knoop te doen en deze te laten drogen. Dit helpt de knoop op zijn plaats te houden, vergelijkbaar met lijm. De geleidende draad houdt niet zo goed in een knoop als gewone draad, dus ik raad het gebruik van nagellak ten zeerste aan, anders kan het gebeuren dat de stiksels losraken.

Goede verbindingen

Zorg ervoor dat de lussen op de pinnen strak zitten. Dit helpt ervoor te zorgen dat als uw circuit niet werkt, we weten dat niet de verbindingen het probleem zijn. U kunt de pinnen 2-3 keer doorlussen om er zeker van te zijn dat er altijd een goede verbinding is.

Tips & trucs

Zorg ervoor dat uw kledingstuk niet is ingeschakeld wanneer u het aan- en uittrekt. Dit is de gemakkelijkste manier om draden elkaar te laten raken en kortsluiting te veroorzaken. Schakel uw batterijpakket pas in als het kledingstuk comfortabel aan zit.

Stap 4: De componenten naaien

De componenten naaien
De componenten naaien
De componenten naaien
De componenten naaien

Het eerste stuk dat we moeten bevestigen is het Flora Main Board. Naai het bord aan je trui met gewone draad door twee pinnen die je niet van plan bent te gebruiken. Dit houdt het bord op zijn plaats en maakt het gemakkelijker om te naaien met behulp van de geleidende draad. Een paar eenvoudige lussen is voldoende om te voorkomen dat het beweegt.

Vervolgens moet u de vier verbindingen van het Flora-hoofdbord en de versnellingsmeter naaien. Dit zijn de Power, Ground, SCL en SDA. Als je de Accelerometer linksboven op het moederbord plaatst, komen de aansluitingen direct op één lijn te liggen. U hebt dus vier afzonderlijke steken om de twee planken met elkaar te verbinden. Gebruik een beetje heldere nagellak op beide eindknopen om te voorkomen dat ze uitrafelen. Een beetje nagellak op de planken kan geen kwaad.

Ten slotte moet je de 3V-, massa- en dataverbindingen van het Flora Main-bord verbinden met de NeoPixels. U kunt twee lange, doorlopende steken voor de grond en kracht maken, aangezien deze zich aan de onder- en bovenkant van de NeoPixels bevinden. Voor de dataverbindingen van Pin 9 moet u afzonderlijke steken maken van elke NeoPixel naar de volgende.

Stap 5: Arduino IDE

Het Flora-moederbord is Arduino-compatibel, dus we zullen Arduino IDE gebruiken voor onze code. Via deze link kunt u de laatste versie downloaden.

Er is ook een webversie via deze link.

Er zijn vier bibliotheken die moeten worden toegevoegd om onze NeoPixels en Accelerometer te gebruiken. Ga naar Schets, Bibliotheek opnemen, Bibliotheken beheren. Voor elk moet u ernaar zoeken op naam, de nieuwste versie selecteren en op installeren klikken.

  • Adafruit NeoPixel
  • Adafruit Unified Sensor
  • Adafruit TSL2561
  • Adafruit LSM303DLHC

Zodra deze zijn geïnstalleerd en het stikken is voltooid, zijn we klaar om onze trui te testen om te controleren of alles werkt.

Stap 6: Scripts testen

Testscripts
Testscripts

Om ons project te testen, moeten we ons Adafruit-hoofdbord met een USB-kabel op uw computer aansluiten. Ga dan naar Tools, Port, en selecteer je Flora Main board in de lijst.

Het eerste dat we gaan testen, is of de versnellingsmeter goed werkt. Ga naar Bestand, Voorbeelden, Adafruit LSM303DLHC, accelsensor. Hiermee wordt een script geopend dat test of de sensor is aangesloten en de coördinaatwaarden leest. Upload naar je bord en open de seriële monitor in de rechterbovenhoek van de Arduino IDE. Als u waarden ziet veranderen in de seriële monitor, zoals op de foto, terwijl u de versnellingsmeter beweegt, dan werkt het!

Het tweede dat we gaan testen is of de NeoPixels werken. Ga naar Bestand, Voorbeelden, Adafruit NeoPixels, strandtest. Voordat we dit script uitvoeren, wijzigt u de pin in 9 en het aantal pixels in 6 (of wat u ook voor uw project gebruikt). Upload naar je bord en als de pixels allemaal oplichten, ben je klaar voor het definitieve script!

Stap 7: Eindscript

Eindscript
Eindscript

Nu is het tijd om onze definitieve code te laden. Kopieer onderstaande code naar een nieuw projectbestand. De pin is ingesteld op 9 en het aantal NeoPixels is ingesteld op 6. Als u iets anders gebruikt, wijzigt u deze voordat u dit script uitvoert. U kunt de favoriete kleuren aanpassen door de waarden van R, G en B aan te passen van 0-255. U kunt ook meer favoriete kleuren toevoegen door een nieuwe lijn toe te voegen. Ook de verplaatsingsdrempel kan worden aangepast. Hoe lager het getal, hoe gemakkelijker het is om beweging te detecteren en de NeoPixels aan te zetten. Nadat u de gewenste wijzigingen hebt aangebracht, kunt u deze opslaan en uploaden naar uw Flora Main Board. Je zou de pixels moeten kunnen zien oplichten als je de versnellingsmeter beweegt. Zodra je dat ziet, kun je de stekker uit je computer halen en kunnen we verbinding maken met ons batterijpakket.

#include #include #include #include #define PIN 9 #define PIXELCOUNT 6// Parameter 1 = aantal pixels in strip // Parameter 2 = pincode (de meeste zijn goed, maar we gebruiken 9) // Parameter 3 = pixeltype vlaggen, voeg zo nodig bij elkaar: // NEO_RGB-pixels zijn bedraad voor RGB-bitstream (v1 FLORA-pixels, niet v2) // NEO_GRB-pixels zijn bedraad voor GRB-bitstream (de meeste NeoPixel-producten. product dat we gebruiken) // NEO_KHZ400 400 KHz (klassiek 'v1' (niet v2) FLORA-pixels, WS2811-stuurprogramma's) // NEO_KHZ800 800 KHz bitstream (de meeste NeoPixel-producten met WS2812 LED's. product dat we gebruiken) Adafruit_NeoPixel-strip = Adafruit_NeoPixel (PIXELCOUNT, PIN, NEO_GRB + NEO_KHZ800); Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified(54321);// Pas de R, G, B aan van 0-255 en // voeg nieuwe {nnn, nnn, nnn} toe voor meer kleuren // RGB uint8_t myFavoriteColors[3] = {{ 255, 255, 255}, // wit {255, 0, 0}, // rood { 0, 255, 0}, // groen };// bewerk de onderstaande regel niet #define FAVCOLORS sizeof(myFavoriteColors) / 3// dit nummer past de bewegingsgevoeligheid aan // lager nummer = gevoeliger #define MOVE_THRESHOLD 5 // supergevoelige huidige ongeldige setup() { Serial.begin(9600); // Probeer te initialiseren en te waarschuwen als we de chip niet konden detecteren // Gebruik Serial Monitor om de afdruk te bekijken if (!accel.begin()) { Serial.println("We hebben een probleem. Jij bent het, niet ik … kan de LSM303 niet initialiseren. Ik zou beginnen met een snelle controle van de bedrading"); terwijl (1); } strip.begin(); strip.show(); // Zet pixels op 'off' }void loop() { /* Haal een nieuwe sensorgebeurtenis op */ sensors_event_t event; accel.getEvent(&event); // Serial.print ("Accel X: "); Serial.print(gebeurtenis.acceleration.x); Serieel.print(" "); // Serieel.print ("Y: "); Serial.print(gebeurtenis.acceleration.y); Serieel.print(" "); // Serial.print ("Z: "); Serial.print(gebeurtenis.acceleration.z); Serial.print(" ");// Haal de grootte (lengte) op van de 3-assige vector double savedVector = event.acceleration.x*event.acceleration.x; opgeslagenVector += event.acceleration.y*event.acceleration.y; opgeslagenVector += event.acceleration.z*event.acceleration.z; opgeslagen Vector = sqrt (opgeslagen Vector); // Serial.print ("Len: "); Serial.println(storedVector); // wacht een beetje vertraging (250); // nieuwe gegevens ophalen! accel.getEvent(&event); dubbele newVector = event.acceleration.x*event.acceleration.x; newVector += event.acceleration.y*event.acceleration.y; newVector += event.acceleration.z*event.acceleration.z; nieuweVector = sqrt(nieuweVector); // Serial.print ("Nieuwe Len: "); Serial.println(nieuweVector); // gaan we al verhuizen? if (abs(newVector - opgeslagenVector) > MOVE_THRESHOLD) { Serial.println("Flashy! Flash! Flash! McFlash!"); flits Willekeurig (10, 2); // eerste nummer is 'wacht' vertraging, kortere num == kortere twinkle flashRandom (10, 4); // tweede getal is hoeveel neopixels tegelijkertijd flashRandom (10, 6) moeten oplichten; } }void flashRandom(int wait, uint8_t howmany) { for(uint16_t i=0; i<howmany; i++){//willekeurig gekozen uit favoriete kleuren int c = random(FAVCOLORS); int wit = myFavoriteColors[c][0]; int rood = myFavoriteColors[c][1]; int green = myFavoriteColors[c][2];//de pixels die moeten worden ingeschakeld in een volgorde voor (int i=0; i < 6; i++) int j = strip.numPixels(); Serial.print("Pixel aan"); Serieel.println(i); // nu 'faden' we het in 3 stappen voor (int x=0; x = 0; x--) { int w = wit * x; w /= 3; int r = rood * x; r /= 3; int g = groen * x; g /= 3;strip.setPixelColor(i, strip. Color(w, r, g)); strip.show(); vertraging (wacht); } } // LED's zijn uit als ze klaar zijn (ze zijn vervaagd naar 0) }

Stap 8: Batterijpakket

Batterijpakket
Batterijpakket

Om je trui continu van stroom te voorzien, gebruiken we een batterijpakket. We moeten een harnas maken voor de rugzak, zodat het niet alleen aan het bord hangt. Ik gebruikte de hoek van een oude kussensloop als mijn batterijvak. Ik naaide de open kant dicht en naaide een kant van de bovenkant aan de trui dicht genoeg bij het moederbord zodat het gemakkelijk kan worden aangesloten en er niet aan kan worden getrokken.

Steek het batterijpakket in het moederbord, zet de kleine schakelaar op het moederbord van uit naar aan en zet uw batterijpakket aan. Je trui zou nu moeten werken en klaar om te dragen.

Stap 9: Conclusie

Conclusie
Conclusie

Je hebt nu een oplichtende trui gemaakt die indruk zal maken op al je vrienden en familie! Maar dit is niet zomaar een vakantieproject. Maak van je valentijn een hartvormige trui of verlicht een klavertje vier voor St. Patrick's Day. Gebruik je fantasie en laat ons weten wat je hebt gemaakt!

Aanbevolen: