Week 1 Live Webpage to introduce yourself
http://104.131.68.226:3000/
Fall 2015
NS4D
Relationship Mirror
Low Energy Challenge
In Networked Sensor For Development class, Our group's challenge is RUN IT OFF BATTERY --"It should run off of a rechargeable battery. Charged only once for at least 2 weeks."
After discussing about the topic we are more interested in, we discovered that there are many developing countries are suffering from the bad air quality and environment pollution. Most of this kind of health threatening are lurking in people's daily life. Obsolete cooking equipment and burning coal in door to keep warm are main sources of pollution in their home. People are usually unaware of the danger because they do not know how bad it is. So our group decided to make a low energy indoor air pollution tester to help these people detect the air pollution in their home and arouse their attention to this health threats.
After research, we discover that cooking and heating is the most common indoor combustion behavior. Air pollutants from a gas stove , electric stove, heaters, fireplaces and other equipment burning wood, coal , oil , gas and other produce mainly pollutants like carbon monoxide, nitric oxide and nitrogen dioxide.
Therefore we decided use MQ-7 carbon monoxide sensor and dust sensor to detect the air pollution. The low energy strategy for our project is using a solar panel as energy resource, plus we also use an homemade low energy Arduino instead Arduino UNO to save more electricity.
Building Time
We build each part separately , first, we build a breadboard Arduino at first, then we use Arduino UNO to test if dust sensor and gas sensor works well. And Finally, we put this three parts together.
For the breadboard Arduino, we used
- Breadboard
- ATmega328p
- An Arduino Board
- A LED
- 10k resistor (optional)
- 0.1uF capacitor
- USB-Serial adapter (FTDI)
- Jumper wire
- Wire strippers/snippers
Dust sensor part
We used
- Arduino
- Sharp Optical Dust Sensor – Datasheet
- 6-pin TE 1.5mm pitch connector cable
- 220 uF Capacitor
- 150 Ω Resistor
- Breadboard
- M/M jumper cables
Pins Assignments
Sharp Dust Sensor Attached To
1 (V-LED) 3.3V Pin (150 Ohm in between)
2 (LED-GND) GND Pin
3 (LED) Digital Pin 12
4 (S-GND) GND Pin
5 (Vo) Analog Pin A6
6 (Vcc) 3.3V Pin (Direct)
At first, we connect the sensor with 3.3V on Arduino UNO, but the data received is not accurate and inconsistent. then we found we cannot reach the maximum using the 3.3V input on the Arduino. Then we used a extra 9V battery and a regulator to input 5V to the Arduino. And we can receive more reliable data in this way
Gas Sensor Part
- 1x Arduino (I was using an Arduino Uno)
- 1x MQ-7 Carbon Monoxide Sensor
- 1x Breadboard
- Connecting wire
- 1x 10K Resistor
- 1x 220 Resistor
- Soldering Iron + Wire
- +5V Power supply
This part is a tricky part for us. After connect the circuit, the data cannot read consistently, and the data always jump. Then we found The MQ7 requires a heater voltage that cycles between 5v (60s) and 1.4v (90s), drawing approximately 150mA at 5v which exceeds the power capacity of the Uno.
So, we change the loop in our code like
void loop() {
// 60s high voltage 5.0v
Serial.println( "Heating Sensor" );
analogWrite(triggerPin, 255);
delay(60000);
// 90s low voltage 1.4v
analogWrite(triggerPin, 67);
val = analogRead( sensorPin );
for ( counter = 0; counter < 90; counter++ )
{
Serial.print("Sensor Value: ");
Serial.println(val);
delay(1000);
}
}
Unfortunately , The problem didn't solve by this code, We need more time to deal with this guy, we find a good tutorial to follow, and we hope we can get correct data in this way. Therefore, we assemble the dust sensor with homemade low energy board at first.
Assemble part:
We assemble the dust sensor with homemade low energy board together, and used three LED to show the air quality. If air quality is good (data from 0-300) Green LED light up.If air quality is even (data from 300-600) Yellow LED light up. If air quality is bad (data more than 600) Red LED light up.
We also add Sleep model for their board. We added the JeeLib libraries in our code, and replaced the delay() function with the Sleepy function. We made an experiment, It showed it can save a lot of energy by changing delay() to sleepy function. If we use delay() function, the current is 0.03-0.02, occasionally 0.04 appeared. And if we changed to sleepy function, the current is only 0.02-0.01.
Arcade Game in Process (4.1 - 4.15)
This week and last week, Xi and I focus on the over all design and the fabrication things of our game. We tried BIG MONSTER CNC... It's difficult to get well with... but it's really powerful. It's so hard and we spent a lot of time on fabrication , but we still feel happy about we are starting to have some progress. The only awful thing is the stuff we cut all Saturday has been thrown since shop clean all the things on last Sunday...(The ridiculous thing is we stick our name on them and put them in exactly right place.. We think they just thought our pieces of things were so weird and ignored them..)
First, we discuss the game mechanics. We decided to make multiple player game which is available for 1-4 people play at the same time. Basically, is a shooting game. Player' s goal is controlling their robot , shooting the mountains, and get as more candy as they can.(Some candy hidden in the hills, giant hill need be shot several times, but may hidden more candy.) When there are multiple player play the game, they can shot each other, the stroked robot will get freeze and a candy he has grabbed will get back to the space. When there are 4 players, players will be separated to two group. When you team member get freeze, you can save him by running to him and just touching him.
And here is the things we need to figure out in next 3 weeks.
Fabrication in this two weeks
Since we decide to make a multiple player Arcade game, it present we are having a lot of thing to do. We have borrow the monitor from ER, it's quite small only 22inch(The biggest one we can borrow ). So we need to design our Arcade based on the small size screen and limit the whole size of our Arcade. We also do a lot of user test on the floor, hoping we have the best table height for most people.
Here is the design sketch of the Arcade game.
Then Xi made cabinet models in Vectorworks.
And then we cut all the things in CNC.
Proposal about Agricultural problem
This week, I focused on the research of current agriculture problem in China.
China is the most populars country in the world, it has 1.3 billion people, almost22% of world population. However, the available land for China is only7% of the global land. It's undoubtedly that Agriculture in China are confronting big challenges.
After research on related material, I found there are some main problem in China's Agriculture.
First. Climate Monitoring.
Farmers in China don't have technology way to monitor Climate, Most of them rely on their experience. Even if high technology can make climate monitoring get more accurate,it's still unpractical to apply generally in rural China. Climate Monitoring should be low energy less expense, and as accurate as possible.
In thunen institute, they use Unmanned Aerial Vehicle to take pictures of the field , and by analyzing chromatographic, they can then determine the estimated time of harvest , identify plant diseases and estimate yield of the field.
Second . Weather Forecast.
Weather Forecast is also important for the agriculture, It can avoid unnecessary loss of the field. Farmers need to received signals of weather , and make decision according to the weather change.
Third . Shortage of Labor.
Nowadays, Farmers in China don't so rely on their own land , cause land cannot give them much profit than working in urban city. More and more Young people in countryside chose to live their home to live and work in cities. The shortage of labor is another problem in China.
Forth. Different duration of crops.
Different Crops have different durations, how to make a plenty use of soil based on planting different crops in different time of the year. How to plant them scientifically is also a challenge.
My idea is to use multiple sensor(humility, temperature, different gas) monitor the cultivation environment, this data will send to agricultural experts group to let them analyze the data. And then they will give technical advice to farmers to help them make plan. Also , there are sensors to monitor weather situation, and by analyzing the data, they may send the alert and informations to farmer to help them plant crops in correct time and hire the labor before busy season.
Week7 Midterm Project- BLEVU
After we attended Don Coleman's BLE workshop, Karthik and I wanted to utilize the knowledge to explore indoor navigation. After brainstorming on the idea, we wanted to make an indoor navigation/information system for the visually impaired to guide them through a predefined indoor space.
We imagined the solution to be more of 'providing important information at the right time' than an actual navigation system that puts the user on a map. We imagined a smartphone app that listens to BLE beacons placed in strategic positions to navigate a space. To elucidate, if the a user is to be guided in a subway station, the app could inform the user (through voice) if he/she is approaching a flight of stairs or a turnstile, based on multiple beacons placed strategically.
To test our concept, we made a basic app that listens to the beacons kept on a linear passage (shown in the image below). We placed three TI SensorTags separated by about 10 feet in linear fashion. We worked out the logic to figure out roughly where the phone is. It is based on listening to the signal strength from the three beacons and approximating where the user is by tracking the changing signal strengths and values. The signal strength logic is also shown in the image below (36,40 and 58 are the S/N of three beacons we used).
At first, we want to found the special UUID for each SensorTag. However, me meet big problem in this step, since iPhone won't show UUID .(ID keep changing every time on iPhone, but won't change in Android.) We need find the special ID for each Sensor Tag.
The video below shows the discovery of all devices within range. It uses Don Coleman's BLE plugin.
After finding the special ID for each SensorTag , We analyze the strength of the signal and calculate the direction and the location of the users. So far we just use three sensor Tag to test if the logic is correct.
The video on the top demonstrates the trial app that approximates where the user is heading. The voice is for demonstration only and is yet to be incorporated into the app. Going forward, we want to try the same with Estimote beacon to test out if the signal strength is more stable. We want to improve on the algorithm to make it more reliable. Also, we would be incorporating the voice into the app.
The bigger picture is to create a platform that could be used to deploy this navigation system to various indoor spaces to help the visually impaired.
Midterm - Game and Game Controller
My game is a multiple player game. So far for the Midterm, I made only one player just to make sure the logic flow is correct. It's a story about some robots are trapped in mountains , and they should dig the mouton and find as much candy as they can.
Basically, robot spins all the time. Player can control it stop spinning and start to walk. Also, Player can control the robot shot mountains or other robot.
I made all materials in Cinema 4D , I like low-poly style so much, so I try this style in my game.
For the controller, I want to use two BIG buttons because I like the press feelings. However, too big buttons means big controllers, so I consider to make a suitable shape to help people easily hold it and control it.