Innehållsförteckning:

EqualAir: Bärbar NeoPixel -skärm utlöst av luftföroreningssensor: 7 steg (med bilder)
EqualAir: Bärbar NeoPixel -skärm utlöst av luftföroreningssensor: 7 steg (med bilder)

Video: EqualAir: Bärbar NeoPixel -skärm utlöst av luftföroreningssensor: 7 steg (med bilder)

Video: EqualAir: Bärbar NeoPixel -skärm utlöst av luftföroreningssensor: 7 steg (med bilder)
Video: NeoPixel LED Strip on the Raspberry Pi Pico & Pico W using CircuitPython 2024, Juni
Anonim
Image
Image

Syftet med projektet är att göra en bärbar t-shirt som visar en stämningsfull grafik när luftföroreningar är över en inställd tröskel. Grafiken är inspirerad av det klassiska spelet "brick breakers", i och med att bilen är som en paddel som spottar ut avgaserna (som är som bollar) som "träffar" lungorna och bryter ner dem. När luftföroreningar är över en tröskel (t.ex. när du går med bilar) börjar de annars ofarliga vita t-skjortorna spela upp displayen. Detta projekt byggdes av Jordan, Mary, Nick och Odessa för en klass som heter The Art and Science of Making.

Steg 1: Samla dina material

Visa:

  • 6 * Adafruit NeoPixel Digital RGBW LED Strip - Vit PCB 144 LED/m
  • 1 * Arduino Mega (enligt Adafruit -webbplatsen kräver en Arduino Mega mer än ett par remsor NeoPixel)
  • 1 * 9 volt batteri
  • 1 * bärbar datorladdare

Avkänning:

1 * Adafruit MiCS5524 -sensor (detta var luftföroreningssensorn vi använde eftersom den är billig. Nackdelen är att den känner av flera gaser och inte skiljer dem mellan)

Övrig:

2 * vit t-shirt (vi föreslår att du köper för stora t-shirts eftersom 1) det måste finnas plats för hårdvaran och 2) du måste klippa av lite extra tyg för att göra en ficka till dölj hårdvaran)

Verktyg:

  • Tröjor
  • Protoboard
  • Kondensator
  • Motstånd
  • Avbitartång
  • Lödmaskin
  • Symaterial och/eller tyglim

Steg 2: Montering av NeoPixel Grid

Lägga till sensorn
Lägga till sensorn

För att montera NeoPixel-gallret måste de ursprungliga NeoPixel-remsorna skäras och lödas om beroende på önskade rutmått. För denna design byggde vi ett 47 x 16 rutnät med NeoPixels:

  1. Skär 1-meters (144 NeoPixel) remsor i 47 NeoPixel-steg, var noga med att ge lite utrymme för att löda vid kanterna på remsorna (det finns små metallledningar som syns på NeoPixels bottnar). Se till att klippa så att hela lödkudden är exponerad (eftersom de redan är så små till att börja med). Anledningen till att remsorna är 47 pixlar istället för (144/3 = 48) pixlar långa är att du förlorar minst en från att klippa dem eftersom NeoPixel är så nära varandra.
  2. Lägg försiktigt kolumnerna bredvid varandra (använd eventuellt eltejp för att hålla dem på plats) och se till att måtten blir som önskade (47x16). Lägg ut kolumnerna i ett S-mönster.
  3. NeoPixels har ledningar för spänning-in, ingång och jord som ska anslutas till sina motsvarigheter i nästa remsa. Använd flertrådig tråd, anslut kolonnernas ledningar tillsammans i ett S-mönster, var noga med att ansluta rätt ledningar.
  4. Lämna ledningarna vid ändarna av gallret (det ska finnas 2 ändar - en där du började, och en där du slutade S -mönstret), och lägg eventuellt till trådförlängningar för bekvämlighet. Du kan också välja att tejpa av eller på annat sätt säkra ledningarna i slutet. Hett lim över anslutningarna för att säkra dem.
  5. Se till att ditt nymonterade nät är säkert genom att lägga till några lager av tejp eller annat lim på baksidan.

Nu ska du ha ett fungerande rutnät som du kan testa. Under NeoPixel Matrix -biblioteket kan du använda matrixtest -provkoden för att se om rutnätet fungerar som förväntat. Om det gör det ska det se ut som på bilden ovan (ignorera Arduino Uno på framsidan, det var för att testa något annat)

Steg 3: Lägga till sensorn

En viktig aspekt av detta projekt är sensorn, en Adafruit MiCS5524, som kan detektera varierande gaser i luften och signalera deras intensitet genom analog ingång.

  1. Kontrollera först att de tre ledningarna till sensorn - inspänning, utgång och jord - har anslutits korrekt (använd eventuellt lämplig färgad tråd för att underlätta detta).
  2. Anslut spänningen till 5V-utgången på Arduino-kortet och anslut marken till marken på kortet.
  3. Anslut sedan utgången till A0 (eller den analoga stiftet du väljer) på Arduino -kortet. Detta är allt som krävs för att ansluta sensorn till Arduino.
  4. Alternativt kan du använda seriemonitorn för att verifiera att avläsningar rapporteras av sensorn (avläsningarna bör sväva runt ett nummer och ändras när sensorn placeras nära en källa till kolmonoxid eller andra ångor).

Online finns det instruktioner för att kalibrera denna sensor i synnerhet så att den är känslig för en förändring i miljön. Det vi gjorde var att lämna sensorn i några timmar för att avgöra vad ett "vanligt" avläsningsintervall var för rummet det var i. Sedan, för att testa "triggning" av displayen, använde vi en bomullstuss genomblöt i gnidningsalkohol så att sensoravläsningen skulle spika över en inställd tröskel för att börja en loop av grafiken.

Steg 4: Felsöka koden

Image
Image

Koden bifogas. Lägg märke till att det finns många rubriker överst. För att ladda ner de obligatoriska rubrikerna i Arduino IDE, klicka på skiss, inkludera bibliotek och hantera sedan bibliotek. Innan du kan ladda upp den bifogade filen måste du ladda ner följande bibliotek:

  • Adafruit NeoPixel
  • Adafruit NeoMatrix
  • Adafruit GFX -bibliotek

När du har laddat ner dessa bibliotek, i Arduino IDE, under fil, exempel, hittar du exempelkod som kan ändras för att testa när du går. Till exempel var strandtest och matrixtest mycket användbara för att testa NeoPixel -nätet. Online är det också enkelt att hitta provtester för luftföroreningssensorn.

Innan du kan ladda upp filen och se arbetsnätet, här är några kodrader som kan ändras:

#definiera PIN 6

#define SENSOR_PIN A0

Stift 6 bör växlas till det stiftnummer som NeoPixel -nätet är fäst på Arduino med

Stiftet AO bör växlas till det stiftnummer som sensorn är ansluten till Arduino med

#define STOP 300

#define NUM_BALLS 8

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix (GRID_COLS, GRID_ROWS, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_K;)

Siffran 300 definierar hur många pixlar i lungan som försämras för att räknas som en cykel i displayen. Att öka antalet skulle göra cykeln längre (t.ex. mer av lungorna försämras) och vice versa.

Siffran 8 definierar antalet "bollar" (avgaser) som kommer ut ur bilen

Om du nu följer instruktionerna för att konstruera nätet exakt, bör konfigurationen av NeoMatrix fungera. Det är dock bara bra att notera att det som den här inställningen säger är att 0, 0-koordinaten är uppe till vänster, vi kopplade kolumner med remsor och remsorna är anslutna i en S-formation. Så om ditt rutnät ser perfekt ut förutom att det är speglat eller 90 grader av, är det troligt att du ställer in rutnätet annorlunda och bör ändra koden här. I slutet av det här steget ska du ha något som ser ut som videon, vi utlöser t-shirten med en bomullstuss genomblöt i gnidningsalkohol, grafiken spelar en slinga och kan inte återaktiveras förrän slingan är komplett.

Steg 5: Att sätta ihop T-shirten

Jippie! Nu när du har displayen, sensorn och koden som fungerar, är det dags att sätta ihop allt. I slutändan har vi all hårdvara fäst vid innerskjortan och sedan döljer den yttre tröjan ovanpå allt. T-shirtsna var för stora så vi klippte av en remsa från botten. Detta gav oss tyget vi behövde för att sy en ficka för att dölja hårdvaran.

Inre skjorta:

  1. Börja med att först placera remsor av eltejp på baksidan av NeoPixel -nätet bara för att säkra det (du vet att du mår bra om du kan bära runt gallret i ett stycke)
  2. Tyg lim NeoPixel-rutnätet på den inre t-shirten. Se till att rutnätet är centrerat och över var lungorna faktiskt är.
  3. Låt limmet torka efter behov, se till att limmet inte sipprar på skjortans baksida och lim tröjan stängd. När nätet är på, se hur långt bort Arduino, batteri, etc. kan placeras. För oss hade vi lödt bygeltrådarna så att våra elektroniska komponenter skulle ligga på baksidan av skjortan.
  4. Sy tygremsan för att skapa en liten ficka för de elektroniska komponenterna. Du kan sy några komponenter i fickan (t.ex. Arduino) för att göra det säkrare.
  5. Klipp en liten slits för sensorn att kika ur, för oss var detta i mitten av kragen på baksidan av skjortan.

Ytterskjorta: Anledningen till ytterskjortan är för att den ser bättre ut med en ytterskjorta. Den yttre skjortan döljer elektroniken och sprider ljuset från NeoPixels.

  1. Lägg försiktigt den yttre skjortan över den inre skjortan
  2. Tyglimma eller sy den inre skjortan till ytterskjortan så att rutnätet ser lärd ut när det lyser (på bilden är de svarta streckarna där tyglimet är)

Steg 6: Felsökning

grattis! Du har nu en bärbar t-shirt som tänds baserat på luftföroreningar. Om inte, har du förmodligen slagit fast (vi träffar många), så här är några felsökningsförslag:

  • Lödkuddarna på NeoPixel -remsorna är vansinnigt små så det är svårt att få nätanslutningarna säkra. Vi använde blylödning, flersträngad elektrisk tråd och varmlimmade ner anslutningarna.
  • Som ett resultat av att NeoPixel var så nära varandra på remsan tappade vi minst 1 pixel varje gång vi klippte av tråden. Att använda sax var bättre än att använda en exacto -kniv, bara skala bort plasthartset och klippa.
  • Om NeoPixel -skärmen visar en konstig färg (t.ex. blekning till röd, valfri röd nyans istället för vit), är det troligtvis för att nätet inte får tillräckligt med ström. För att ladda upp koden hade vi allt urkopplat, laddade upp koden, kopplade sedan bort datorn, kopplade in batteriet till Arduino och slutligen kopplade in den bärbara adaptern till nätet.
  • Om NeoPixel -skärmen visar helt slumpmässiga färger med slumpmässiga intervall, se till att grunderna är vanliga.
  • När du använder tyglim, se till att du inte använder för mycket så att det tränger igenom och limmar t-shirten. Vi lade en träplanka mellan två tygstycken som annars skulle beröra.

Vi hoppas att du gillade detta instruerbart! Nästa steg är att ansluta nätet till ett bärbart batteri och ta det för en snurr ute på gatorna, där luftföroreningar från bilar och andra föroreningar kommer att utlösa displayen.

Rekommenderad: