L.E.B. Cup: 10 trin

L.E.B. Cup: 10 trin

Indholdsfortegnelse:

Anonim

Vores projekt var L.E.B. Cup (Light, Emitting, Beans). Målet med dette projekt var at hjælpe dig med at stoppe brændingen af ​​din tunge fra varm kaffe. For at gøre dette vi vedhæftet LED'er på ydersiden af ​​en rejse krus. Lysdioderne ændrede farve afhængigt af væskens temperatur indeni.

forsyninger:

Trin 1: Brainstorming

Hver person i gruppen var nødt til at brainstorme tre ideer til i alt ni. Efter en diskussion indsnævrede vi det ned til Tanners temperaturfortællende kaffekrus og Garretts Oreo-opdeling. Den temperaturberegnende kaffekop vandt i sidste ende og blev vores projekt.

Trin 2: Planlægning

Efter at have besluttet på Tanner's kaffekop idé måtte vi planlægge hvordan vi skulle bygge vores kop. Vores første plan bestod i at bygge koppen i tre separate dele og have en aftagelig bund for at få adgang til de elektriske komponenter og mikrocontrolleren. Trådene vil blive skjult inde i bundkomponenten er forbundet med toppen af ​​koppen gennem håndtaget af koppen.

Trin 3: Materialer

Vores projekt krævede, at vi købte ganske mange materialer. Vores originale plan indeholder materialer:

  • Adafruit Flora Microcontroller
  • Vandtæt One-Wire Temperature Sensor
  • Neo-Pixel 16,8 millioner farve RGB 60 LED'er / meter LED Strip
  • LI-Po batteri
  • Silikoneforsegling

Materialer, der ikke oprindeligt var i vores plan, men vi endte med at have brug for flere dele, der omfattede:

  • 4700 ohm modstand
  • Til og Fra Switch
  • Plastgenanvendelig vandflaske
  • Silicon Cup

Den samlede pris på materialer i vores projekt kom til $ 104.06.

Trin 4: Kode

Koden er ikke utroligt vanskelig, men der er et par biblioteker, du skal downloade på arduino. Disse er OneWire af Arduino, Adafruit_NeoPixel af NeoPixel og DallasTemperature af ardunio. Når disse biblioteker er installeret, skal du blot kopiere koden nedenfor, værdierne for, hvornår hvert lys udløses, er simpelthen større end og mindre end udsagn. Lysfarven styres af RGB-værdien i slutningen af ​​hver if-sætning.

// Først omfatter vi bibliotekerne

#omfatte

#omfatte

#omfatte

/********************************************************************

/ Datatråd er tilsluttet til pin 2 på Arduino

#define ONE_WIRE_BUS 2

#define PIN 9

/********************************************************************

/ Indstil en oneWire-instans til at kommunikere med eventuelle OneWire-enheder

// (ikke kun Maxim / Dallas temperatur ICs)

OneWire oneWire (ONE_WIRE_BUS);

/********************************************************************

/ Passer vores oneWire-reference til Dallas Temperature.

DallasTemperatur sensorer (& oneWire);

/********************************************************************/

Adafruit_NeoPixel strip = Adafruit_NeoPixel (15, PIN, NEO_GRB + NEO_KHZ800);

void setup (void)

{

// start seriel port

Serial.begin (9600);

Serial.println ("Dallas Temperature IC Control Library Demo");

// Start biblioteket

sensors.begin ();

strip.begin ();

strip.setBrightness (50);

}

void loop (void)

{

// call sensors.requestTemperatures () for at udstede en global temperatur

// anmodning til alle enheder på bussen

/********************************************************************/

Serial.print ("Anmodning om temperaturer …");

sensors.requestTemperatures (); // Send kommandoen for at få temperaturaflæsninger

Serial.println ("DONE");

/********************************************************************/

Serial.print ("Temperatur er:");

Serial.print (sensors.getTempFByIndex (0)); // Hvorfor "byIndex"?

// Du kan have mere end en DS18B20 på samme bus.

// 0 henviser til den første IC på ledningen

// Nogle eksempler procedurer, der viser, hvordan du viser til pixels:

hvis ((sensorer.getTempFByIndex (0)) <98) {

colorWipe (strip.Color (0, 0, 255), 500); // Blå

}

ellers hvis (98 <(sensorer.getTempFByIndex (0)) <115) {

colorWipe (strip.Color (153, 51, 255), 500); // Purple

}

ellers hvis (115 <(sensorer.getTempFByIndex (0)) <130) {

colorWipe (strip.Color (0, 255, 0), 500); // Grøn

}

ellers hvis (130 <(sensorer.getTempFByIndex (0)) <145) {

colorWipe (strip.Color (255, 255, 0), 500); // Gul

}

ellers hvis ((sensorer.getTempFByIndex (0))> 145) {

colorWipe (strip.Color (255, 0, 0), 500); //Rød

}

forsinkelse (10000);

}

void colorWipe (uint32_t c, uint8_t vente) {

for (uint16_t i = 0; i

strip.setPixelColor (jeg, c);

strip.show ();

forsinkelse (vent);

}

}

Trin 5: Ledninger

Ledningerne til dette projekt er temmelig simpelt.

Termometer

Input -> Pin 2

Strøm -> VBatt

Gnd -> Gnd

For at få termometeret til at fungere skal du tilføje en 4.7k ohm modstand, der forbinder indgangen og strømmen.

Til LED stripen

Input -> Pin 2

Strøm -> 3.3v

Gnd -> Gnd

Du vil have en ledning, der går ubrugt til dette trin, der er fint.

Batteriet stikker lige ind i brættet, alt hvad du skal gøre er at bryde strømkablet og tilføje en kontakt.

Trin 6: CAD Design

Vi endte med at ikke kunne bruge cad-design til dette projekt, men hvis vi havde koppen, ville det være meget slankere. Out cad bestod af tre dele; et håndtag, bundhuset og væskeopbevaring. Målet var at sætte elektronikken i bunden og lede ledningerne til LED'erne gennem håndtaget, så de kunne blive skjult. Men det virkede ikke, så vi måtte ændre vores planer.

Trin 7: Fremstilling: Trin 1

Vi endte ikke med at bruge vores CAD-design i stedet, vi lagde en hård plastikkop inde i en anden lidt større siliciumkop. Når de trykkes sammen, lukkes de tæt og elektronikken i bunden, hvor den er sikker fra enhver væske, kunne termometeret komme i direkte kontakt med væsken, og koppen var ikke for varm at holde. For at termometeret kommer i kontakt med væsken skal du først smelte et hul med en diameter på 0,5 cm i bunden af ​​den hårde plastikbeholder. Efter at hullet er smeltet, skub termometeret gennem bunden af ​​koppen, så sølvdelen er, hvor væsken vil blive hældt, så skal du bruge siliciumpastaforseglingen af ​​termometerets bund, så der ikke dråber væske ind i huset nedenunder.

Trin 8: Fremstilling: Trin 2

Mens siliciumet tørrer, begynder det at lodde sammen bordet og ledbåndet. Du skal bruge omkring 4-5 tommer tråd fra brættet til LED'erne. Efter at dette er færdigt og termometerforseglingen er tørret, så lader termometeret til bordet huske at tilslutte strømmen og indsætte sammen med modstanden.

Trin 9: Fremstilling: Trin 3

Nestetrinet tilføjer batteriet til brættet. Først skær et rektangel om en tomme op fra bunden af ​​koppen, dette burde være 1x1,5 inches. Skær nu strømkablet på batteriet, og løft de to ender gennem dette hul indefra, mens ledningerne stikker ud af hulloddet, de to ender til kontakten og skub kontakten i hullet. Skifteren skal passe ind i hullet, men ikke gå hele vejen igennem.

Trin 10: Fremstilling: Sluttrin

Det sidste trin i fremstillingen er at tilslutte batteriet til brættet og placere brættet og batteriet i bunden af ​​siliciumbæget, så med LED-båndet, og dets ledninger hænger ud af koppen, skub den hårde plastikboks ind i siliciumbæget. Det skal skubbe ned omkring tre inches og stoppe. Dernæst pakk LED-strimlen rundt på toppen af ​​siliconekoppen, så den er flush med begge kopper, og lim derefter LED'en til KUN siliciumbækken. Dette sikrer, at du stadig kan fjerne den hårde plastikkop og komme til komponenterne uden at beskadige designet. Nu tænder den!