OpenTrashCan: En Smart Internet ansluten papperskorg som talar (7 / 8 steg)

Steg 7: Ladda upp här koden till din styrelser



Nu innan vi ladda upp Arduino skiss måste du registrera dig för ett Temboo konto och få dina referenser. Temboo är en tjänst som gör att använda API's extremt snabbt och enkelt. Detta script gör anrop till Temboo för att skicka e-post när Papperskorgen är full.

Skaffa ett Temboo konto och gå till avsnittet "Program" för att få din

-Temboo namn

-Namn på app

-App nyckel

Ladda upp denna kod till din Arduino ombord:

Papperskorgen kan
#include
#include
#include "TembooAccount.h"
#include
#include
mjukvaran följetong #1: TX = digital stift 10, RX = digital stift 11
SoftwareSerial portOne (10, 11);
SoftwareSerial Geno(7,8); RX, Tx

Servo trashServo;
int trigPin = 2;
int echoPin = 4;
lång varaktighet, cm, inches;

unsigned char Data [10].
unsigned char i.

int counter = 0;

int trigPin1 = 5;
int echoPin1 = 6;
lång varaktighet 1, cm1, inches1;

void setup() {
portOne.begin(9600);
Serial.BEGIN (9600);
Serial.println ("bridge öppna...");
Bridge.BEGIN();
Serial.println ("bridge öppna!");
Geno.BEGIN(9600);
SetVolume(25);

trashServo.attach(9);
pinMode (trigPin, produktionen);
pinMode (echoPin, ingång);
pinMode (trigPin1, produktionen);
pinMode (echoPin1, ingång);
Delay(5000);
Serial.println ("starta Smart papperskorgen kan...");

}

Annullera playTrack (int spår) {

Delay(1000);
Data [0] = 0x7E;
Data [1] = 0x04;
Data [2] = 0xA0;
Data [3] = 0x00;
Data [4] = 0x00 + spår;
Data [5] = 0x7E;
Command(data,5);
play_pause();
Delay(3000);

}

void playTrackFULL (int spår) {

Delay(1000);
Data [0] = 0x7E;
Data [1] = 0x04;
Data [2] = 0xA0;
Data [3] = 0x00;
Data [4] = 0x00 + spår;
Data [5] = 0x7E;
Command(data,5);

trashServo.write(160);
play_pause();
Delay(300);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(200);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(600);
trashServo.write(160);
Delay(200);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(200);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(300);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(300);
trashServo.write(180);
Delay(200);

}

void playTrackHEY (int spår) {

Delay(1000);
Data [0] = 0x7E;
Data [1] = 0x04;
Data [2] = 0xA0;
Data [3] = 0x00;
Data [4] = 0x00 + spår;
Data [5] = 0x7E;
Command(data,5);

trashServo.write(150);
play_pause();
Delay(400);
trashServo.write(180);
Delay(300);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(200);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(400);
trashServo.write(180);
Delay(400);
}

void playTrackHI (int spår) {

Delay(1000);
Data [0] = 0x7E;
Data [1] = 0x04;
Data [2] = 0xA0;
Data [3] = 0x00;
Data [4] = 0x00 + spår;
Data [5] = 0x7E;
Command(data,5);

trashServo.write(150);
play_pause();
Delay(400);
trashServo.write(180);
Delay(300);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(100);
trashServo.write(160);
Delay(200);
trashServo.write(180);
Delay(200);
trashServo.write(160);
Delay(100);
trashServo.write(180);
Delay(300);
trashServo.write(160);
Delay(400);
trashServo.write(180);
}

void SetVolume (int vol) {
Data [0] = 0x7E; START
Data [1] = 0x03; Längd inte 0x02
Data [2] = 0xA7; Kommandot
Data [3] = vol; ny volym
Data [4] = 0x7E; SLUTET
Command(data,5);
}

Annullera kommando (unsigned char * Data, int längd) {
för (int jag = 0; jag 1000) {
trashServo.write(80); Locket öppet
Delay(5000);
}

digitalWrite (trigPin1, låg); Inside Sensor
delayMicroseconds(1);
digitalWrite (trigPin1, hög);
delayMicroseconds(2);
digitalWrite (trigPin1, låg);

pinMode (echoPin1, ingång);
varaktighet 1 = pulseIn (echoPin1, hög);

inches1 = (varaktighet 1 / 2) / 74;

Serial.println(inches1);

om (inches1 < 3 & & counter == 0) {
räknaren ++;
playTrackFULL(2);
Serial.println ("skicka e-post...");
TembooChoreo SendEmailChoreo;

Anropa Temboo klienten
SendEmailChoreo.begin();

Ange Temboo kontoautentiseringsuppgifter
SendEmailChoreo.setAccountName(TEMBOO_ACCOUNT);
SendEmailChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
SendEmailChoreo.setAppKey(TEMBOO_APP_KEY);

Ställa in profil att använda för verkställighet
SendEmailChoreo.setProfile("EmailTest");

Identifiera den koreografiska att köra
SendEmailChoreo.setChoreo("/Library/Google/Gmail/SendEmail");

Kör koreografiska; När resultaten är tillgängliga, skriva ut dem till seriell
SendEmailChoreo.run();

While(SendEmailChoreo.available()) {
char c = SendEmailChoreo.read();
Serial.Print(c);
}
SendEmailChoreo.close();
Serial.println ("e-post skickas...");
}

Serial.println(Incoming);
om (inkommande == 111) {//Open locket från App
trashServo.write(80);
Delay(2000);
}

Serial.println(Incoming);
om (inkommande == 49) {
playTrackFULL(2); Jag har nått kapacitet
}

Serial.println(Incoming);
om (inkommande == 50) {
playTrackHEY(1); Hej kom ut därifrån
}

Serial.println(Incoming);
om (inkommande == 51) {
playTrackHI(3); Hej, är jag öppna papperskorgen kan
}

} //ends loop

I Arduino IDE på att lägga till en ny flik och skapa en header-fil kallas: TembooAccount.h lägga till denna kod till din header-fil och fylla den med dina Temboo referenser.

header-fil

/*
VIKTIG information om TembooAccount.h

TembooAccount.h innehåller information om ditt Temboo konto och ingå
tillsammans med din skiss. Till gör så, gör en ny flik i Arduino, kalla det TembooAccount.h,
och kopiera innehållet i den.
*/

#define TEMBOO_ACCOUNT "***" / / din Temboo kontonamn
#define TEMBOO_APP_KEY_NAME "***" / / din Temboo app nyckel namn
#define TEMBOO_APP_KEY "***" / / din Temboo app nyckel

/*
Samma TembooAccount.h filen inställningar kan användas för alla Temboo SDK skisser.
Att hålla din kontoinformation i en separat fil innebär att du kan dela den
huvudsakliga .ino fil utan oroande att du glömde att ta bort dina uppgifter.
*/

Se Steg
Relaterade Ämnen

Bländande Fundraising tecken: 140 watt av Internet ansluten lysdioder

Bygga internet anslutna tecknet för att samla in pengar till en lokal välgörenhetsorganisation!Läs mer om high power LED, Arduino, Raspberry Pi & python, digital radio, ledningar & lödning och ett litet snickeri.Förhoppningsvis i 10 timmar eller s...

TempBug: internet-ansluten termometer

I januari hade vi lite problem med värmen på mitt kontor. Specifikt, typ av problem där värmen inte är på, du slår, och det fortfarande inte på. Detta pågick i mer än ett par dagar, och slutligen slutade en dag eller två efter att vi fick en e-tillkä...

Styrenhet: En internet-ansluten ratten för att styra... något!

Efter att sätta ihop ett halvdussin eller så elektriska Imp projekt, det slog mig att bara för den integrerade havspolitiken är kraftfull nog att hantera komplicerade uppgifter inte betyder att att göra en enkel sak Internetanslutning är mindre kraft...

Internet ansluten kaffebryggare

Hej alla, i detta instructable, jag kommer att visa dig hur man gör en internet ansluten kaffebryggare. Du kan använda den till sätta den när du är nästan hemma så kan du ha kaffe när du kommer hem från jobbet. Jag dricker inte kaffe (jag är 14), men...

Internet ansluten anläggning Monitor

Hej alla, i detta instructable, jag kommer att visa dig hur man gör en internet ansluten anläggning monitor. Detta är starkt baserad på planterbot, en av mina äldre instructables. Fotografering och instruktioner var av lägre kvalitet, så jag beslöt a...

Internet-ansluten joystick

förra veckan, jag postat en demo på att bygga impBot, en enkel pan/tilt servo "robot" kontrolleras via internet med den elektriska imp. Vid tiden, allt jag hade för kontrollerande nämnda robot var en potentiometer i en låda, som gjorde den total...

Rudolph är näsa - Internet ansluten!

Genom "magi" trådlös kraftöverföring, Rudolphs näsa lyser ljust när han är nära sin älskade, Clarice. Använda cloudBit och en IFTTT recept, lyser Rudolph är näsan också ljust när det finns snö i mitt område eller när Norad Santa tracker, tweets....

SnackBot: Internet ansluten godis maskinen!

Under 2013 Bay området Maker Faire, elektriska Imp distribuerade en häpnadsväckande 40-plus pounds av M & Ms med vår Internet ansluten SnackBot. Hundratals deltagare älskade det, så vi beslutade att dela hur vi byggde den.Våra SnackBot är uppbyggd kr...

ImPrinter: elektriska Imp trådlös, internet-ansluten termoskrivaren

termisk skrivare har fått (igen) mycket populär under de senaste månaderna; massor av människor verkar vara ganska intresserad av att ha relevant information dyka upp på en liten rulle av termopapper i stället för i telefonen varningar eller liknande...

Steampunk ESP8266 Internet ansluten klockan med hjälp av Arduino IDE

Vad du får när en NeoPixel ring, en billig Arduino Wifi ombord och en laserskärare går in i en ånga Punk Saloon?En fashionabla Steampunk designade Internet ansluten klocka med ESP8266 chip och Arduino IDE förstås!Här är ett projekt för kvällen eller...

ESP8266 - $5 internet ansluten växla

I den här guiden visar vi hur man bygger WiFi internet anslutna switch ansluten till EasyIoT moln. Vi kommer att använda ESP8266, solid state-relä och Arduino IDE. Switch kan styras av webben, infödda Android ansökan eller knappen.Förbättrad version...

Kartong radiostyrda K-9, som talar

Läkare som har haft många följeslagare genom åren, och när fans får frågan "Vem är din favorit Dr Who kamrat?", kommer du oftast höra svar som Rose Tyler, Sarah-Jane Smith, kapten jack Harkness, Leela och Jamie McCrimmon bland några andra. Men n...

Internet ansluten LED-tecken

Internet är LED en fysisk LED-tecken som lever i mitt hemmakontor.Du har möjlighet att skicka meddelanden till den från den levande RSS-flöde på min hemsida.Jag har haft tusentals meddelanden från hela världen skickas till mitt hem kontor via tecken....

ESP8266 $5 internet ansluten switch - förbättrad

I den här guiden visar vi hur man bygger WiFi internet kontrollerad switch ansluten till EasyIoT moln. Denna handledning är förbättrad version av ESP8266 internet anslutna växeln. Vi kommer att använda ESP8266, solid state-relä och Arduino IDE. AP oc...

Internet-ansluten hem energi monitor

Detta är en magisk låda som kommer att låta dig övervaka energiförbrukningen i ditt hus från var som helst på Internet! Den mäter både verklig effekt (watt) och Skenbar effekt (VA), det håller en löpande totalt El enheter används, och åtgärder nätfre...

Gör en Internet ansluten älsklings-förlagematare

Först av allt, behöver du speciell hårdvara för att göra detta, som du kan köpa i länken jag ska ge. Tänk på att detta är en Arduino-liknande plattform, så du kommer att kunna göra en nästan oändlig mängd projekt.Köpa Altair @ Tindie butikI denna tut...

Internet-ansluten strömbrytare

I den här guiden visar vi hur du skapar internet anslutna växeln med Raspberry Pi och relä modul. Du kan använda internet switch fjärrstyra upp till 17 enheter (ljus, värmare, sprinkler..) över internet. Du behöver inte kunskaper i programmering.Se f...

Dataöverföring av icke-internet ansluten solvärmesystem med Arduino, PHP och MySQL

BeskrivningSyftet med denna arduino projekt är att förvärva och överföra data via GSM-nätet. Fördelen är att kunna samla in data (till exempel övervakning av en sol anläggning) även om det finns ingen svårt kabelansluten Internetanslutning.Detta är h...

IMUPPHÖJT - (elektriska Imp drivs) Internet ansluten växelströmsuttag

Detta Instructable visar hur man koppla en PowerSwitch svans II och en Elektrisk Imp och bygga en enkel webbsida för att kontrollera det!PowerSwitch kan du växla växelström med en opto-isolerade styrkretsen. Detta innebär att trådarna du ansluter til...