Inhoudsopgave:

EqualAir: draagbaar NeoPixel-display geactiveerd door luchtvervuilingssensor - Ajarnpa
EqualAir: draagbaar NeoPixel-display geactiveerd door luchtvervuilingssensor - Ajarnpa

Video: EqualAir: draagbaar NeoPixel-display geactiveerd door luchtvervuilingssensor - Ajarnpa

Video: EqualAir: draagbaar NeoPixel-display geactiveerd door luchtvervuilingssensor - Ajarnpa
Video: Higher Peak MAG 30 vs Hypoxico Sierra 100 Product Comparison 2024, Juni-
Anonim
Image
Image

Het doel van het project is om een draagbaar t-shirt te maken dat een suggestieve afbeelding weergeeft wanneer de luchtvervuiling boven een bepaalde drempel ligt. De afbeelding is geïnspireerd op het klassieke spel "brickbreakers", in die zin dat de auto als een peddel is die de uitlaat uitspuugt (die als ballen zijn) die stukken van de long "slaan" en deze degraderen. Wanneer de luchtvervuiling boven een drempel ligt (bijvoorbeeld bij het lopen met auto's), beginnen de anders onschuldige witte t-shirts op het scherm te spelen. Dit project is gebouwd door Jordan, Mary, Nick en Odessa voor een klas genaamd The Art and Science of Making.

Stap 1: Verzamel uw materialen

Weergave:

  • 6 * Adafruit NeoPixel Digitale RGBW LED Strip - Witte PCB 144 LED/m
  • 1 * Arduino Mega (volgens de Adafruit-website vereist het gebruik van meer dan een paar strips NeoPixel's een Arduino Mega)
  • 1 * 9 volt batterij
  • 1 * laptopoplader

Sensing:

1 * Adafruit MiCS5524-sensor (dit was de luchtvervuilingssensor die we gebruikten omdat hij goedkoop is. Het nadeel is dat hij meerdere gassen detecteert en er geen onderscheid tussen maakt)

Ander:

2 * wit t-shirt (we raden aan om t-shirts te kopen die te groot zijn omdat 1) er ruimte moet zijn voor de hardware en 2) je moet een beetje extra stof afsnijden om een zak te maken verberg de hardware)

Gereedschap:

  • Truien
  • Protobord
  • Condensator
  • Weerstand
  • Draadknipper
  • Soldeermachine
  • Naaimateriaal en/of textiellijm

Stap 2: Het NeoPixel-raster monteren

De sensor toevoegen
De sensor toevoegen

Om het NeoPixel-raster te monteren, moeten de originele NeoPixel-strips worden gesneden en opnieuw gesoldeerd, afhankelijk van de gewenste rasterafmetingen. Voor dit ontwerp bouwden we een raster van 47x16 van NeoPixels:

  1. Knip de strips van 1 meter (144 NeoPixel) in stappen van 47 NeoPixel en zorg ervoor dat er wat ruimte overblijft om te solderen aan de randen van de strips (er zijn kleine metalen draden zichtbaar aan de onderkant van de NeoPixels). Zorg ervoor dat je zo snijdt dat het hele soldeerkussen zichtbaar is (omdat ze al zo klein zijn om mee te beginnen). De reden dat de strips 47 pixels zijn in plaats van (144/3 = 48) pixels lang, is dat je er minstens één verliest door ze te knippen omdat de NeoPixel's zo dicht bij elkaar staan.
  2. Leg de kolommen voorzichtig naast elkaar (gebruik eventueel isolatietape om ze op hun plaats te houden) en zorg dat de afmetingen naar wens zijn (47x16). Leg de kolommen in een S-patroon.
  3. De NeoPixels hebben snoeren voor spanning, ingang en aarde die in de volgende strip op hun tegenhangers moeten worden aangesloten. Verbind de draden van de kolommen met behulp van meeraderige draad in een S-patroon en zorg ervoor dat u de juiste draden aansluit.
  4. Laat de draden aan de uiteinden van het raster (er moeten 2 uiteinden zijn - één waar u begon en één waar u het S-patroon beëindigde), en voeg optioneel draadverlengingen toe voor het gemak. U kunt de kabels eventueel ook afplakken of op een andere manier vastzetten aan het uiteinde. Ook hete lijm over de verbindingen om ze vast te zetten.
  5. Zorg ervoor dat uw nieuw geassembleerde rooster stevig vastzit door nog een paar lagen isolatietape of andere lijm aan de achterkant toe te voegen.

Nu zou u een werkend raster moeten hebben dat u kunt testen. Onder de NeoPixel Matrix-bibliotheek kunt u de matrixtest-voorbeeldcode gebruiken om te zien of het raster werkt zoals verwacht. Als dat zo is, zou het eruit moeten zien als de foto hierboven (negeer de Arduino Uno aan de voorkant, het was om iets anders te testen)

Stap 3: De sensor toevoegen

Een belangrijk aspect van dit project is de sensor, een Adafruit MiCS5524, die verschillende gassen in de lucht kan detecteren en hun intensiteit kan signaleren via analoge invoer.

  1. Zorg er eerst voor dat de drie draden naar de sensor - spanningsingang, uitgang en aarde - correct zijn bedraad (gebruik eventueel de juiste gekleurde draad om hierbij te helpen).
  2. Sluit de spanning aan op de 5V-uitgang op het Arduino-bord en verbind de grond met de grond op het bord.
  3. Verbind vervolgens de uitgang met de A0 (of analoge pin naar keuze) op het Arduino-bord. Dit is alles wat nodig is om de sensor op de Arduino aan te sluiten.
  4. Gebruik optioneel de seriële monitor om te controleren of de meetwaarden worden gerapporteerd door de sensor (de meetwaarden moeten rond één cijfer zweven en veranderen wanneer de sensor in de buurt van een bron van koolmonoxide of andere dampen wordt geplaatst).

Online staan instructies om met name deze sensor te kalibreren zodat deze gevoelig is voor een verandering in de omgeving. Wat we deden was de sensor een paar uur laten staan om te bepalen wat een "normaal" leesbereik was voor de kamer waarin het zich bevond. Om vervolgens de "triggering" van het scherm te testen, gebruikten we een watje gedrenkt in ontsmettingsalcohol, zodat de sensormeting zou boven een ingestelde drempel uitkomen om één lus van de afbeelding te beginnen.

Stap 4: Debuggen van de code

Image
Image

Bijgevoegd is de code. Merk op dat er bovenaan veel headers zijn opgenomen. Om de vereiste headers te downloaden, klikt u in de Arduino IDE op sketch, include library, en vervolgens op bibliotheken beheren. Voordat u het bijgevoegde bestand kunt uploaden, moet u de volgende bibliotheken downloaden:

  • Adafruit NeoPixel
  • Adafruit NeoMatrix
  • Adafruit GFX-bibliotheek

Nadat u deze bibliotheken hebt gedownload, vindt u in de Arduino IDE, onder bestand, voorbeelden, voorbeeldcode die kan worden gewijzigd om onderweg te testen. Zo waren de strandtest en matrixtest erg handig voor het testen van het NeoPixel-raster. Online is het ook gemakkelijk om voorbeeldtests voor de luchtvervuilingssensor te vinden.

Voordat u het bestand kunt uploaden en het werkraster kunt zien, volgen hier enkele regels code die kunnen worden gewijzigd:

#definieer pincode 6

#define SENSOR_PIN A0

De pin 6 moet worden omgeschakeld naar het pinnummer waarmee het NeoPixel-raster op de Arduino is aangesloten

De pin AO moet worden omgeschakeld naar het pinnummer waarmee de sensor op de Arduino is aangesloten

#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_KHZ800);

Het getal 300 definieert hoeveel pixels van de long worden afgebroken om te tellen als één cyclus van het scherm. Verhoging van het aantal zou de cyclus langer maken (bijv. meer van de longen worden afgebroken) en vice versa.

Het cijfer 8 definieert het aantal "ballen" (uitlaat) dat uit de auto komt

Als je nu de instructies hebt gevolgd om het raster precies te construeren, zou de configuratie van de NeoMatrix moeten werken. Het is echter goed om op te merken dat wat deze opstelling zegt, is dat de 0, 0-coördinaat in de linkerbovenhoek staat, we hebben kolommen met stroken verbonden en de stroken zijn verbonden in een S-formatie. Dus als je raster er perfect uitziet, behalve dat het gespiegeld is of 90 graden uit staat, is het waarschijnlijk dat je het raster anders instelt en de code hier moet wijzigen. Aan het einde van deze stap zou je iets moeten hebben dat lijkt op de video, we activeren het t-shirt met een watje gedrenkt in ontsmettingsalcohol, de afbeelding speelt één lus af en kan niet opnieuw worden geactiveerd totdat de lus is compleet.

Stap 5: Het T-shirt samenstellen

Hoera! Nu het display, de sensor en de code allemaal werken, is het tijd om alles in elkaar te zetten. Uiteindelijk zullen we alle hardware aan het binnenshirt hebben bevestigd en dan het buitenste shirt er bovenop om alles te verbergen. De t-shirts waren te groot, dus hebben we een strook van de onderkant afgesneden. Dit gaf ons de stof die we nodig hadden om een zak te naaien om de hardware te verbergen.

Binnenshirt:

  1. Begin door eerst stroken elektrische tape op de achterkant van het NeoPixel-raster te plaatsen om het vast te zetten (je weet dat je in orde bent als je het raster in één stuk kunt dragen)
  2. Stof lijm het NeoPixel-raster op het binnenste t-shirt. Zorg ervoor dat het raster gecentreerd is en boven waar de longen zich daadwerkelijk bevinden.
  3. Laat de lijm drogen als dat nodig is, zorg ervoor dat de lijm niet op de achterkant van het shirt sijpelt en lijm het shirt dicht. Zodra het raster is ingeschakeld, ziet u hoe ver de Arduino, batterij, enz. Kunnen worden geplaatst. Voor ons hadden we de jumperdraden zo gesoldeerd dat onze elektronische componenten aan de achterkant van het shirt zouden zitten.
  4. Naai de strook stof om een klein zakje te maken voor de elektronische componenten. Je kunt sommige componenten in de zak naaien (bijvoorbeeld de Arduino) om het veiliger te maken.
  5. Snijd een kleine spleet waar de sensor uit kan gluren, voor ons was dit in het midden van de kraag aan de achterkant van het shirt.

Buitenshirt: De reden voor het buitenshirt is omdat het er beter uitziet met een buitenshirt. Het buitenste shirt verbergt de elektronica en verspreidt het licht van de NeoPixels.

  1. Plaats het buitenshirt voorzichtig over het binnenshirt
  2. Lijm of naai het binnenshirt aan het buitenshirt zodat het raster er strak uitziet als het verlicht is (in de afbeelding zijn de zwarte streepjes waar de textiellijm zit)

Stap 6: Problemen oplossen

Proficiat! Je hebt nu een draagbaar t-shirt dat oplicht op basis van luchtvervuilingsniveaus. Zo niet, dan heb je waarschijnlijk een probleem (we hebben er veel geraakt), dus hier zijn enkele suggesties voor probleemoplossing:

  • De soldeerpads op de NeoPixel-strips zijn waanzinnig klein, dus het is moeilijk om de netaansluitingen veilig te krijgen. We gebruikten loodsoldeer, meeraderige elektrische draad en warmgelijmde verbindingen.
  • Omdat de NeoPixel's zo dicht bij elkaar op de strip staan, verloren we minstens 1 pixel wanneer we de streng doorknippen. Het gebruik van een schaar was beter dan het gebruik van een exacto mes, gewoon de plastic hars lostrekken en snijden.
  • Als het NeoPixel-scherm een vreemde kleur vertoont (bijvoorbeeld een vervaging naar rood, een willekeurige tint rood in plaats van wit), komt dit waarschijnlijk doordat het elektriciteitsnet niet genoeg stroom krijgt. Om code te uploaden, hadden we alles losgekoppeld, de code geüpload, vervolgens de computer losgekoppeld, de batterij op de Arduino aangesloten en uiteindelijk de laptopadapter op het elektriciteitsnet aangesloten.
  • Als het NeoPixel-display met willekeurige tussenpozen volledig willekeurige kleuren weergeeft, zorg er dan voor dat de gronden gemeenschappelijk zijn.
  • Als je textiellijm gebruikt, zorg er dan voor dat je niet te veel gebruikt, zodat het doorsijpelt en het t-shirt dichtplakt. We hebben een houten plank tussen twee stukken stof geplaatst die elkaar anders zouden raken.

We hopen dat je genoten hebt van deze instructable! De volgende stap is om het elektriciteitsnet aan te sluiten op een draagbare batterij en ermee op straat te gaan, waar luchtvervuiling door auto's en andere verontreinigende stoffen het scherm zullen activeren.

Aanbevolen: