Things used in this project

Hardware components:
A000066 iso both
Arduino UNO & Genuino UNO
×1
Omron b3f 1000 image 75px
Tactile Button Switch (6mm) Single
×1
11026 02
Jumper wires (generic)
×1
09590 01
LED (generic)
×1
Mfr 25frf52 10k sml
Resistor 10k ohm
×1
Mfr 25fbf52 221r sml
Resistor 221 ohm
×1
Software apps and online services:
Ide web
Arduino IDE
Enthought Canopy Python IDE
Hand tools and fabrication machines:
3drag
3D Printer (generic)
09507 01
Soldering iron (generic)

Custom parts and enclosures

Button Housing
Button Top

Schematics

Schematic
Just connect. The 220 ohm resistor can go between the LED and GND.
Schematic twitter to wear jqdaa2t76k

Code

Python CodePython
from twython import Twython
import os
import random
import serial

pathToImages = "images/"
app_key = "secret"
app_secret = "secret"
oauth_token = "secret"
oauth_token_secret = "secret"
twitter = Twython(app_key,app_secret,oauth_token,oauth_token_secret)
ser = serial.Serial("COM8",baudrate=9600)

def getImage():
        #Takes the folder where your images are as the input
    images = os.listdir(pathToImages)
    image_open = open(pathToImages + str(images[random.randint(1,(len(images)) -1)]), 'rb')
    print "I chose: " + str(image_open)
    image_ids = twitter.upload_media(media=image_open)
    twitter.update_status(status='You should wear this today: ',media_ids=image_ids['media_id'])

while 1:
    if ser.read() == "h":
        getImage()
Arduino CodeC/C++
const int buttonPin = 5;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  Serial.begin(9600);
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed.
  // if it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    //tell Python it went high
    Serial.print("h");
    // turn LED on:
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin,LOW);
    //5 min delay
    delay(60*1000*5);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    //debounce
    delay(50);
  }
}

Credits

Download
Arduino “having11” Guy

OpenCV, Python, and interfacing Arduino with Python hardware! message me if you need help or would like me to make a product for you!

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

Grove starter kit for arduino - piezo vibration sensor
Easy
  • 109
  • 4

Protip

teaches you how to use the piezo vibration sensor in the Arduino Grove starter kit.

Happy birthday melody on Arduino Nano with 3-way polyphony
Easy
  • 1,138
  • 19

Full instructions

Playing polyphony Happy birthday theme on Arduino Nano with three buzzers on a single mini breadboard.

Kaleidoscope Infinity Mirror
Easy
  • 2,012
  • 25

Full instructions

Build a beautiful “infinity mirror” Illusion that you can control by changing this mirrors' orientation. Rotate for changing colors!

Weekly Scheduling with Arduino UNO
Easy
  • 1,081
  • 19

Protip

Human habits are usually different between weekdays and weekend. Therefore, smart devices should be able to switch their task based on this.

Measuring seismic activity using ProtoCentral OpenPressure
Easy
  • 23
  • 1

Protip

Seismic activity or "Vibrations of the earth" is measured using ProtoCentral's OpenPressure 24-bit DAQ System

ProjectsCommunitiesContestsLiveJobsBetaFree StoreBlogAdd projectSign up / Login
Respect project