About Insteegram

insteegram is the easiest way to print your instagram photos onto a comfy American Apparel tshirt.

GET FEATURED:
*Tag your Insteegram Shirt (#insteegram) and we'll reblog it here ! Thanks for your support! Oy oy!

Insteegram Notification Gadget

In the movie “Middle Men”, two guys decide to start an online porn subscription service (which is allegedly how online credit card transactions started). They built a gadget that either whistles, chimes, rings (along with other noises) every time there is a new incoming order.

We don’t do smut… but that movie inspired us to create our own similar gadget for Insteegram.com.

With the recent Likeacoupon deal, Insteegram has been getting a lot more sales and visitors. So, we decided to rig up this gadget using:
1 arduino uno
1 breadboard
1 arduino ethernet shield
1 yellow LED
1 330ohm resistor
1 piezo transducer
and some hook-up wires.

It works like a charm:



Everytime there’s a new user, it plays a lower octave C note.
Everytime there’s a new incoming order, it plays a upper octave C note.
Whenever there are unfulfilled orders, the yellow LED light stays on.

This gadget is totally unnecessary and a little annoying, but it’s definitely COOL!

Almost forgot…. here’s the crucial source code that makes this device run:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server(75,101,165,24); // Insteegram

String readstring;
String userstring;
String orderstring;

int ledPin = 8;
int speakerPin = 9;
int orders,users,temporders,tempusers = 0;

EthernetClient client;

void setup() {
pinMode(speakerPin,OUTPUT);
pinMode(ledPin,OUTPUT);
//Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
//Serial.println(“Failed to configure Ethernet using DHCP”);
for(;;)
 ;
}
delay(1000);
//Serial.println(“connecting…”);


}

void connectToServerA()
{
if (client.connect(server, 80)) {
//Serial.println(“connected to orders”);
client.println(“GET /****REMOVED**** HTTP/1.0”);
client.println();
}
else {
//Serial.println(“connection failed”);
}

while (client.connected()){
while (client.available()) {
char c = client.read();
//Serial.print(c);
if(readstring.indexOf(“orders:”)>0){
if(c!=’\n’){
//Serial.print(‘!’);
orderstring += c;
}
}
else{
readstring += c;
}
}

if (!client.connected()) {
Serial.println();
Serial.println(“disconnecting.”);

client.stop();
int multiplier = 1;
for(int i=orderstring.length()-1;i>=0;i—){
if(i < orderstring.length()-1){
multiplier *= 10;
}
temporders += (orderstring[i]-‘0’)*multiplier;
}
//Serial.print(orderstring);
//Serial.println(temporders);

if(temporders>orders){
// alert me;
playTone(1915);
}
orders = temporders;
temporders = 0;
readstring = “”;
orderstring = “”;
}
delay(1000);
}
}

void connectToServerB()
{
tempusers = 0;
readstring = “”;
if (client.connect(server, 80)) {
//Serial.println(“connected to users”);
client.println(“GET /****REMOVED**** HTTP/1.0”);
client.println();

}
else {
// kf you didn’t get a connection to the server:
//Serial.println(“connection failed”);
}

while (client.connected()){
// if there are incoming bytes available
// from the server, read them and print them:
while (client.available()) {
char c = client.read();
//Serial.print(c);
if(readstring.indexOf(“users:”)>0){
if(c!=’\n’){
//Serial.print(‘!’);
userstring += c;
}
}
else{
readstring += c;
}
}
// if the server’s disconnected, stop the client:

if (!client.connected()) {
//Serial.println();
//Serial.println(“disconnecting.”);

client.stop();
int multiplier = 1;
for(int i=userstring.length()-1;i>=0;i—){
if(i < userstring.length()-1){
multiplier *= 10;
}
tempusers += (userstring[i]-‘0’)*multiplier;
}
//Serial.print(orderstring);
//Serial.println(tempusers);

if(tempusers>users){
// alert me;
playTone(956);
}
users = tempusers;
tempusers = 0;
readstring = “”;
userstring = “”;
}
delay(1000);
}
}

void loop()
{
connectToServerA();
connectToServerB();
if(orders>0){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}
delay(60000);
}

void playTone(int note)
{
for (int i=0; i<100; i++)
{
digitalWrite(speakerPin, HIGH);
delayMicroseconds(note);
digitalWrite(speakerPin, LOW);
delayMicroseconds(note);
}
}

Posted on Monday, February 13th 2012

Tags hacks programming arduino notification device ethernet shield insteegram instagram