Difference between revisions of "Urban sensor kit"

From Fab Lab Bcn WIKI
Jump to: navigation, search
 
(25 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 +
[[Category:Projects]]
 +
 
=Version 1:=
 
=Version 1:=
 
Credits: Felipe Pecegueiro do Amaral Curado, Oriol Carrasco, Alba Armengol Gasul, Luis E. Fraguada
 
Credits: Felipe Pecegueiro do Amaral Curado, Oriol Carrasco, Alba Armengol Gasul, Luis E. Fraguada
Line 33: Line 35:
 
* HiCap Li-ion Pack $47.36 + shipping: http://www.liquidware.com/shop/show/BP/Lithium+BackPack
 
* HiCap Li-ion Pack $47.36 + shipping: http://www.liquidware.com/shop/show/BP/Lithium+BackPack
 
* 9v battery adapter for arduino: http://www.arduino.cc/playground/Learning/9VBatteryAdapter
 
* 9v battery adapter for arduino: http://www.arduino.cc/playground/Learning/9VBatteryAdapter
 +
* Solar Shield - Bat. and Panel Not Inc. http://www.seeedstudio.com/depot/solar-charger-shield-p-594.html?cPath=104_107
  
====Option 1: Ladyada Datalogging Shield + GPS Antena====
+
==== Option 1: Custom Shield ====
*Datalogging Shield: $19.50
+
http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=98
+
*GPS Antena: $60 http://www.adafruit.com/index.php?main_page=product_info&products_id=99&zenid=81afc967efbe914e06705a35e5c900da
+
*Shipping: $15, $39
+
*Total: $94.50 / €70, $118.5 / €88
+
 
+
====Option 2A: Libelium GPS Module + FTDI USB Converter ====
+
Libelium GPS Module: €42
+
http://www.cooking-hacks.com/index.php/shop/arduino/gps-module-for-arduino.html
+
GPS Antena: €8
+
http://www.cooking-hacks.com/index.php/internal-gps-antenna.html
+
FTDI USB: £17.50 - €20.5
+
http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=53&title=VDIP1
+
Total: €70.5
+
 
+
====Option 2B: Libelium GPS Module + Libelium MicroSD card Module====
+
Libelium GPS Module: €42
+
http://www.cooking-hacks.com/index.php/shop/arduino/gps-module-for-arduino.html
+
GPS Antena: €8
+
http://www.cooking-hacks.com/index.php/internal-gps-antenna.html
+
Libelium Micro SD Module: €20
+
Total: €70
+
Tax: €12.6
+
€82.60
+
 
+
==== Option 3: Sparkfun GPS kit + some Data Storage: ====
+
 
+
http://www.sparkfun.com/commerce/product_info.php?products_id=9898
+
Sparkfun GPS Kit Retail:$79.95
+
 
+
==== Option 4: Waspmote ====
+
http://www.libelium.com/products/waspmote
+
 
+
==== Option 5: Custom Shield ====
+
 
Protoshield with all of the components we want:
 
Protoshield with all of the components we want:
 
GPS (positioning), XBee (communication), SD (data storage)
 
GPS (positioning), XBee (communication), SD (data storage)
  
==== Pack 1 ====
+
* Pros: Totally customizable system
 +
* Cons: More startup overhead
 +
 
 +
==== Option 2 ====
 
* Datalogging Shield http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
 
* Datalogging Shield http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
 
* GPS Antena: $60 http://www.adafruit.com/index.php?main_page=product_info&products_id=99&zenid=81afc967efbe914e06705a35e5c900da
 
* GPS Antena: $60 http://www.adafruit.com/index.php?main_page=product_info&products_id=99&zenid=81afc967efbe914e06705a35e5c900da
Line 79: Line 51:
 
* Shipping: $15, $39
 
* Shipping: $15, $39
 
* TOTAL: $127.50
 
* TOTAL: $127.50
 +
* x5 = €453.22
 +
* Pros:
 +
* Cons:
  
==== Pack 2 ====
+
==== Option 3a ====
 
* 'Arduino Deluxe Pack' http://www.cooking-hacks.com/index.php/arduino-deluxe-pack-119.html - €101
 
* 'Arduino Deluxe Pack' http://www.cooking-hacks.com/index.php/arduino-deluxe-pack-119.html - €101
 
* GPS Module + Zigbee + Arduino
 
* GPS Module + Zigbee + Arduino
Line 86: Line 61:
 
* MicroSD module http://www.cooking-hacks.com/index.php/shop/arduino/microsd-2gb-module-for-arduino.html - €20.00
 
* MicroSD module http://www.cooking-hacks.com/index.php/shop/arduino/microsd-2gb-module-for-arduino.html - €20.00
 
* TOTAL €129
 
* TOTAL €129
 +
* x5 = €645
 +
* Pros: Arduino Included
 +
* Cons: Micro SD (not SD)
  
==== Pack 3 ====
+
==== Option 3b ====
 
* 'Arduino Deluxe Pack' http://www.cooking-hacks.com/index.php/arduino-deluxe-pack-119.html - €101
 
* 'Arduino Deluxe Pack' http://www.cooking-hacks.com/index.php/arduino-deluxe-pack-119.html - €101
 
* GPS Module + Zigbee + Arduino
 
* GPS Module + Zigbee + Arduino
 
* GPS Antena http://www.cooking-hacks.com/index.php/internal-gps-antenna.html - €8
 
* GPS Antena http://www.cooking-hacks.com/index.php/internal-gps-antenna.html - €8
* Datalogging Shield http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
+
* Datalogging Shield (Big but space for prototyping) http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
 
* TOTAL: €119
 
* TOTAL: €119
 +
* x5 = €595
 +
* Pros: Arduino included (ask if can be UNO), can datalogging shield be used to interface other modules?
 +
* Cons: Datalogging Shield is big
  
==== Pack 4 ====
+
==== Option 4 ====
 
* GPS Module http://www.cooking-hacks.com/index.php/gps-module-for-arduino.html €42
 
* GPS Module http://www.cooking-hacks.com/index.php/gps-module-for-arduino.html €42
 
* XBee Module http://www.cooking-hacks.com/index.php/arduino-xbee-802-15-4.html €39
 
* XBee Module http://www.cooking-hacks.com/index.php/arduino-xbee-802-15-4.html €39
* Datalogging Shield http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
+
* Datalogging Shield (Big but space for prototyping) http://www.adafruit.com/index.php?main_page=product_info&cPath=17_21&products_id=243 $19.50
 
* TOTAL €91 (no arduino)
 
* TOTAL €91 (no arduino)
 +
* x5 = €455
 +
* Pros:
 +
* Cons: No Arduino
 +
 +
==== Option 5 ====
 +
 +
*Seeeduino Stalker (Arduino-compatible board + microSD datalog + xBee header + Battery connector / No usb, buy FTDI cable) http://www.seeedstudio.com/depot/seeeduino-stalker-atmega-328-p-600.html €27
 +
**GPS Module http://www.cooking-hacks.com/index.php/gps-module-for-arduino.html €42
 +
**XBee 802.15.4 module http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=XB24-AWI-001-ND €13
 +
* TOTAL €85 (inc. arduino / no inc. serial-usb (ftdi) for programming)
 +
* x5 = €425
 +
* Pros: Arduino Included. Small.
 +
* Cons: Serial connection (FTDI cables for programming) / MicroSD / International Shipping, more expensive
 +
 +
==== Option 6 ====
 +
* Libelium Waspmote http://www.libelium.com/products/waspmote €495 (For 5 units GPS, SD, 802.15.4)
 +
* GPS Antennae: €59 * 5 = €295
 +
* Waspmote Gateway €55
 +
 +
* TOTAL: €845 for 5 units
 +
 +
=== 3. Additional Sensors===
 +
====Air Quality / Water Measurement====
 +
*Libelium / Waspmote Sensors http://www.libelium.com/products/waspmote/sensors
 +
*Solder-less sensors add-ons http://www.seeedstudio.com/depot/electronic-brick-c-48.html (available at http://www.cooking-hacks.com/index.php/shop/arduino/eb-sensor-chassis-v1-1.html )
  
=== 3. Additional Sensors: Air Quality / Water Measurement===
 
 
=== 4. Size / Packaging ===
 
=== 4. Size / Packaging ===
 +
Fabricated at Fab Lab BCN
 +
 
=== 5. Visual Feedback (Tenemos en el Fab Lab)===
 
=== 5. Visual Feedback (Tenemos en el Fab Lab)===
 +
 +
=== 6. Technical info Links ===
 +
*[http://www.ladyada.net/make/xbee/modules.html XBee Know How by Ladyada]
 +
 +
=Version 2:=
 +
 +
*Smart Geometry [http://www.buletintupperware.com/ tupperware april] [http://smartgeometry.org/index.php?option=com_community&view=groups&task=viewgroup&groupid=6&Itemid=0]
 +
 +
=Version 3:=
 +
*Data tree (DIY Shields for Arduino) [http://academy.cba.mit.edu/labs/barcelona/areti.mark/DataTree/DataTree.html Data Tree, by Areti Markopoulou, Fab Academy 2011]
 +
 +
=Version 4:=
 +
*Custom Arduino Shield. More info [[ASK Shield]]
 +
 +
 +
 +
=Sensor notes =
 +
 +
==Sound sensor==
 +
 +
db son una unidad que mide la ratio entre una unidad de ref y una de entrada. además son una unidad logarítmica, su incremento no es lineal, esto es útil pq el rango de representación es muy grande
 +
 +
importante no liarse entre db's de potencia y db's de presión sonora http://en.wikipedia.org/wiki/Sound_pressure
 +
 +
para calcular los dB  (dB así a secas es potencia o sea W) dB = 10 * Log (PowerInput/ PowerReference)
 +
 +
de momento yo he probado de calcular dBv... prueba el código y dime el que
 +
 +
int dBv = 20 * log(analogRead(A0) / 0.00378787879);  // esto es dBv = 10 * Log (Vrms / Vrms referencia) // 0.00378787879 sale de considerar que 0dBv son 0.775V
 +
 +
también así a saco al igual podrías probar
 +
 +
int dBv = 20 * log(analogRead(A0) / calibration);
 +
 +
calibration saldría de comparar con el iphone…
 +
 +
===para probar...===
 +
 +
<code>
 +
int cycles = 20;
 +
long reads = 0;
 +
int average = 0;
 +
double dB = 0;
 +
 +
 +
void setup() {
 +
  Serial.begin(9600);
 +
}
 +
 +
void loop(){
 +
  for (int i=0; i >= cycles; i++){
 +
    reads = analogRead(A0) + reads;
 +
  }
 +
  average = reads / cycles;
 +
  reads = 0;
 +
  dB = 20*log10(average/250);
 +
  Serial.println(dB, DEC);
 +
}
 +
</code>
 +
 +
----
 +
 +
en principio el valor tendría que ser el valor RMS pero como no queremos medir una onda súper precisa sino ruido ambiental yo creo que podría funcionar a saco.
 +
 +
aun así medir dB directamente con el ADC por lo que he leído no es nada fácil pq en seguida te quedas o a 0 o te  quedas saturado, 1023. estos se podría solucionar con un amplificador logarítmico algo que es como un op amp normal [http://buletinnews.com/ berita news] pero que en vez de amplificar la senyaseñall linealmente (como una multiplicación) la amplifica exponencialmente por lo que cuanto más pequeño es el número más resolución te da.
 +
 +
----
 +
 +
[http://mit.ocw.universia.net/6.101/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-101Introductory-Analog-Electronics-LaboratoryFall2002/0F920C22-BEF2-47C4-A4BE-499279077036/0/decibels.pdf Articulo sobre calculo de decibelios]

Latest revision as of 01:31, 17 January 2017


Version 1:

Credits: Felipe Pecegueiro do Amaral Curado, Oriol Carrasco, Alba Armengol Gasul, Luis E. Fraguada Production Assistance: Fab Lab BCN

Parts List

  • 1 x Arduino Deumilanove
  • 1 x Light Sensor (Cadmium Sulfide Sensor, Light Dependent Resistor, Photocell)
  • 1 x Sound Sensor
  • 1 x Motion Sensor (Passive InfaredRed Sensor)
  • 1 x Temperature Sensor
  • 1 x Electromagnetism Sensor
  • Wood Case (laser cut)
  • Wire
  • Resistors
Urban Sensing Kit sm.png
Image:Felipe Pecegueiro do Amaral Curado


IMG 6540 sm.jpg

Goals for version 2

1. Find sensors who’s data can be easily read and translated to useful units (sound sensor - dB)

2. Autonomy of kit: GPS Unit, On Board Data Logger, Battery

Power Options

Option 1: Custom Shield

Protoshield with all of the components we want: GPS (positioning), XBee (communication), SD (data storage)

  • Pros: Totally customizable system
  • Cons: More startup overhead

Option 2

Option 3a

Option 3b

Option 4

Option 5

Option 6

  • TOTAL: €845 for 5 units

3. Additional Sensors

Air Quality / Water Measurement

4. Size / Packaging

Fabricated at Fab Lab BCN

5. Visual Feedback (Tenemos en el Fab Lab)

6. Technical info Links

Version 2:

Version 3:

Version 4:


Sensor notes

Sound sensor

db son una unidad que mide la ratio entre una unidad de ref y una de entrada. además son una unidad logarítmica, su incremento no es lineal, esto es útil pq el rango de representación es muy grande

importante no liarse entre db's de potencia y db's de presión sonora http://en.wikipedia.org/wiki/Sound_pressure

para calcular los dB (dB así a secas es potencia o sea W) dB = 10 * Log (PowerInput/ PowerReference)

de momento yo he probado de calcular dBv... prueba el código y dime el que

int dBv = 20 * log(analogRead(A0) / 0.00378787879); // esto es dBv = 10 * Log (Vrms / Vrms referencia) // 0.00378787879 sale de considerar que 0dBv son 0.775V

también así a saco al igual podrías probar

int dBv = 20 * log(analogRead(A0) / calibration);

calibration saldría de comparar con el iphone…

para probar...

int cycles = 20; long reads = 0; int average = 0; double dB = 0;


void setup() {

 Serial.begin(9600);

}

void loop(){

 for (int i=0; i >= cycles; i++){
   reads = analogRead(A0) + reads; 
 }
 average = reads / cycles;
 reads = 0;
 dB = 20*log10(average/250);
 Serial.println(dB, DEC);

}


en principio el valor tendría que ser el valor RMS pero como no queremos medir una onda súper precisa sino ruido ambiental yo creo que podría funcionar a saco.

aun así medir dB directamente con el ADC por lo que he leído no es nada fácil pq en seguida te quedas o a 0 o te quedas saturado, 1023. estos se podría solucionar con un amplificador logarítmico algo que es como un op amp normal berita news pero que en vez de amplificar la senyaseñall linealmente (como una multiplicación) la amplifica exponencialmente por lo que cuanto más pequeño es el número más resolución te da.


Articulo sobre calculo de decibelios