|Software apps and online services:|
|Hand tools and fabrication machines:|
The Solmate team, like many others in Southern California, enjoy spending time in the sun, but never quite know how much time we can spend without experiencing a sunburn until it's too late. Too much sun exposure causes harmful and irreversible skin damage, however engaging in outdoor activities and and recieving a responsible amount of sun provides numerous benefits to health and happiness. Therefore, we set out to create a device to help us figure out just how much time we can spend before risking a sunburn. Further, we wanted the device to be fun and something that we would be comfortable taking with us to the beach.
Our solution is Solmate, a portable sun tan monitor capable of measuring UV levels, outdoor temperature and personal body temperature. The Solmate monitor includes a display and set of user controls to adjust the amout of sun exposure they wish to recieve and a buzzer to notify them when they have reached that amount.
Additionaly, we added twitter connectivity to make the monitor more fun and social, and packaged everything inside an oversized bevarage container as many sunbathers would prefer not to be seen tanning next to some strange high-tech gadget.
In addition to the Solmate monitor, we also created a Solmate mobile app, which is compatible with the FLIR One infrared camera, allowing users to turn their mobile device into suntan monitor.
How to Build
1. Assemble the Solmate monitor electronics using the following components:
- Intel Edison Board
- Base Shield v2
2. Connect the sensors to specified locations on the base shield:
- A0: Rotary Angle Knob
- A1: Temperature Sensor
- A2: Infrared Temperature
- A3: UV Sensor
- D7: Button
- D8: Buzzer
- I2C: LCD RGB Backlight
3. Program the Intel Edison using the attached zip file. Instructions for getting started with your Intel Edison can be found here.
4. Add the attached python file to your Intel Edison and change the Twitter account information to your own to Integtrate Twitter into your Solmate monitor.
5. 3D print the lid using the attached model, mount the sensors, controls and display accoring to the diagram:
1 - Buzzer
2 - Button
3 - Rotary Angle Knob
4 - Temperature Sensor
5 - Straw for mounting Infrared Temperature Sensor
6 - Humidity Sensor (Optional)
7 - UV Sensor
8 - Place over Rotary Angle Knob
How to Use
1. Turn on the device and follow the instructions on the display for setting the desired suntan level.
2. Position the monitor so the thermal temperature sensor at the end of the straw is directed at your body.
3. Start the monitor and enjoy the sun, you can view UV levels, and outdoor and bondy temperature on the display.
4. A buzzer will sound when your tanning session is complete, and if you are connected to a network, you are then given the option to tweet your experience.
How to Build
The Selfie Sun mobile can be installed on an Android mobile device using the attached apk file, the complete project can be found on github. The app requires a FLIR One thermal camera for Android, but can be tested without one by activating the simulator mode.
The app allows users to monitor their skin temperature while at the beach in order to get enough sun exposure to get a tan without risking skin damage.
A user first sets the desired tan level and type of sunblock they are using.
A selfie stick planted in the sand can be used to easily position the device with the camera directed at the user's body. They can then use the image preview to make sure the camera is aimed correctly.
Next the user can press the picture button on the selfie stick to take a picture, allowing the application to detect their current skin tone as well as start the monitor.
The monitor uses the settings entered as well as the user's skin tone along with thermal temperature readings to determine when to issue warnings.
Additionally the app warns the user of low battery levels so that is doesn't turn off unexpectedly while in use.
How to Use
1. Adjust the camera settings on your phone to use the self facing camera and take pictures with the volume control.
2. Make sure the volume is turned up on your phone.
3. Attach your FlirOne Thermal Camera.
4. Download and launch the app.
5. Select your tan and sunscreen preferences and press start.
6. Position your phone so that the camera is centered on the part of your body you would like to monitor.
7. Snap a picture and click save or continue to start the monitor.
8. Enjoy the sun!
Solmate twitter integrationPython
import twitter import random import time from datetime import datetime import smtplib import argparse def sendMess(percentIn,e,t,u): CLIENT_ID = "1290d6798b1a4e9" sender = "firstname.lastname@example.org" eRecievers= ["email@example.com"] if(percentIn<0 or percentIn>100): print 0 return elif (percentIn<=20): messageIn="Keep calm and get your tan on. Remember to use an SPF!" tweet(1,e,t,u) elif (percentIn<=40): messageIn="Time to soak up the sun! The sun is high, and the tan is low." tweet(2,e,t,u) elif (percentIn<=60): messageIn="Sunscreen is recommended for toaster oven conditions." tweet(3,e,t,u) elif (percentIn<=80): messageIn="You're now equivalent to a baked potato." tweet(4,e,t,u) else: messageIn="You're fried chicken status. Time to go home for the day." tweet(5,e,t,u) try: #print "Sending message to " + recvname + "...", server = smtplib.SMTP(host='smtp.gmail.com',port=587) username = 'firstname.lastname@example.org' password = 'Wu123456' server.ehlo() server.starttls() server.login(username,password) server.sendmail(sender, eRecievers,"From: " +"in"+ "\n"+"To: " +"out"+ "\n"+"Subject: " + "SOLMATE!"+ "\n"+messageIn) server.quit() print "successfully sent!" except Exception: print "Error: unable to send message" print 1 def tweet(choice,e,t,u): tweets=['Happy to soak up the sunlight for the day!','I know #Solmate always has my back for getting a perfect tan.','Safely getting a healthy amount of UV rays for the day!','Having fun under the sun. Make sure to wear some shades and sunscreen!','I just got my daily dose of Vitamin D and Calcium'] api = twitter.Api(consumer_key='d6RF46ZYRC1EMJ9GFfhwAsPHo', consumer_secret='syq9klXBYYQbAnSVm6ie3qPpi2PFtO2nwQI0nEdsYMWxDGIUgJ', access_token_key='3246491366-V2KQG7EF1R6rAFZv4GCsZLw8kEZOuXHaUUEUq1n', access_token_secret='5nPvjXaJscb8wqKH32RSy3jTrA4VnP9PPJxvesG8Q3NIg') choice=tweets[choice-1]+' #'+e+'mins #'+t+'F #uv'+u+' #SolMate #IntelMaker' try: status = api.PostUpdate(choice) except: choice+=' #'+(str(datetime.now()))[:10]+' #'+str(int((str(datetime.now()))[11:13])-7)+(str(datetime.now()))[13:19] status = api.PostUpdate(choice) return status.text if __name__ == "__main__": parser = argparse.ArgumentParser(description="send message and tweets") parser.add_argument('-m', '--message', dest='mess', help='message') parser.add_argument('-e', '--e', dest='e', help='elapsed time') parser.add_argument('-t', '--t', dest='t', help='temperature') parser.add_argument('-u', '--u', dest='u', help='uv') args = parser.parse_args() mess=int(args.mess) sendMess(mess,args.e,args.t,args.u)
Solmate Arduino CodeArduino
No preview (download only).
Solmate Selfie Sun Mobile App apk fileJava
No preview (download only).
Did you replicate this project? Share it!I made one
Love this project? Think it could be improved? Tell us what you think!