Jump to Navigation

capsense

sex, 14/09/2012 - 00:52

Sensor capacitivo - Toque nas plantas

Hey hou

Na primeira experimentação do lablivre do sesc sorocaba, montamos uma interface com protuino + processing para gerar imagens em um notebook sempre que alguém tocava nas plantas.

O sensor utilizado é conhecido como sensor de capacitância, pra arduino existe uma bliblioteca que pode ser incorporada ao script com facilidade > http://www.pjrc.com/teensy/td_libs_CapSense.html

 

O circuito que montamos ficou assim:

 

As antenas são as plantas no qual inserí os placas de metal/fenolite-cobre/abridor de garrafas etc "aterradas" no vaso ou na água >>

na terra...

 

na água ...

 

enfim, os circuitos são todos muito simples e nessa mesma semana rolou uma florecência de coisas, antigas até mas que estão se popularizando "coincidentemente" na mesma pegada >>

http://www.makeymakey.com/

http://style.greenvana.com/2012/plantas-podem-servir-como-acessorios-para-aparelhos-eletronicos/

cierto, depois de fazer o circuito adaptamos o código para conversar com o processing e ativar os apelidos das plantas quando eram tocadas, pra isso é preciso calibrar os valores de leitura no arduino para filtrar o ruído de aproximação das pessoas e do que realmente é um toque na planta.

Claro que aproveitar a movimentação das pessoas pode ser uma outra experimentação, mas no dia queriamos apenas interferência ao toque.

fizemos um mashup de códigos e ficou assim:

//Arduino código capsense eletrorganicos

#include <CapSense.h>

 

 
CapSense   cs_4_2 = CapSense(4,2);        
CapSense   cs_4_6 = CapSense(4,6);        
CapSense   cs_4_8 = CapSense(4,8);        
 
void setup()                    
{
   cs_4_2.set_CS_AutocaL_Millis(0xFFFFFFFF);
   Serial.begin(9600);
}
 
void loop()                    
{
    long start = millis();
    long planta1 =  cs_4_2.capSense(30);
    long planta2 =  cs_4_6.capSense(30);
    long planta3 =  cs_4_8.capSense(30);
 
    if (planta1 > 20000) Serial.print("A");                  
    if (planta2 > 25000) Serial.print("B");
    if (planta3 > 4000) Serial.print("C");
        
delay(10);
}

//Fim

Os valores que estão nas condições (if) devem ser ajustados na hora, depende do resistor que está usando, o tipo de planta, enfim, tem que ir testando e calibrando vendo o serial print.

 

Proximo passo >> #noise

 

3708 leituras blog de guimasan
Conteúdo sindicalizado