danolivaz
Created September 22, 2022

SymBioWare V1 (BioData Sonification)

A wearable system to augment human perception in relation to other living beings via bio-data sonification.

Work in progress27
SymBioWare V1 (BioData Sonification)

Things used in this project

Hardware components

Arduino Nano R3
Arduino Nano R3
×1
Speaker: 0.25W, 8 ohms
Speaker: 0.25W, 8 ohms
×1
RGB LCD Shield Kit, 16x2 Character Display
RGB LCD Shield Kit, 16x2 Character Display
×1
LED (generic)
LED (generic)
×1
Rotary potentiometer (generic)
Rotary potentiometer (generic)
×1
9V to Barrel Jack Connector
9V to Barrel Jack Connector
×1
9V battery (generic)
9V battery (generic)
×1
Resistor 10k ohm
Resistor 10k ohm
×1
PTS 645 Series Switch
C&K Switches PTS 645 Series Switch
×1
Audio / Video Cable Assembly, 3.5mm 4 Pole Jack Plug
Audio / Video Cable Assembly, 3.5mm 4 Pole Jack Plug
×1

Story

Read more

Schematics

SBW_V.2.0_nano

How to assemble the components.

Code

SBW_V.2.0_nano

Arduino
This code captures the data received from analog A7 and converts that into sound using the Tone() function, and into light with the RBG LED module, with adjustable ranges via the potentiometer on A0.
//LCD
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 4);

//Pinagem

int pinoBuzzer = 3;
int pinoBotao1 = 2;
int pinoRLED = 10;
int pinoGLED = 11;
int pinoBLED = 12;
int pinAicu = A7;
int pinAAjuste = A0;

void setup() {
  pinMode (pinoBuzzer, OUTPUT); // buzzer
  pinMode (pinoBotao1, INPUT_PULLUP); // buzzer button
  pinMode (pinAicu, INPUT); // signal analog interface
  pinMode (pinAAjuste, INPUT); // Potentiometer
  lcd.init();
  lcd.backlight();
  lcd.setCursor(1, 0);
  Serial.begin(9600);
}

void loop ()
{

  // Sinais
  int sinalpuro = analogRead(pinAicu);
  int sinalamplificado = analogRead(pinAicu)*analogRead(pinAAjuste);
  int sinalLED = map(sinalamplificado, -33000, 33000, 0, 255);

  //LCD
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print("S:");
  lcd.print(sinalpuro, 1);
  lcd.print("|A:");
  lcd.print(sinalamplificado);
  lcd.setCursor(0,1);
  lcd.print("|L:");
  lcd.print(sinalLED, 1);

  //Debug
//Serial.println(sinalamplificado);
//Serial.println(sinalLED);
//analogWrite(pinoGLED, random (0, sinalLED));
//analogWrite(pinoRLED, random (0, sinalLED));
//analogWrite(pinoBLED, random (0, sinalLED));

  // Buttons
  if (digitalRead(pinoBotao1) == LOW) {
    tone(pinoBuzzer, sinalLED);
    analogWrite(pinoGLED, random (0, sinalLED));
    analogWrite(pinoRLED, random (0, sinalLED));
    analogWrite(pinoBLED, random (0, sinalLED));
  }
  else {
    noTone(pinoBuzzer);
    analogWrite(pinoGLED, 0);
    analogWrite(pinoRLED, 0);
    analogWrite(pinoBLED, 0);
  }
  delay(1000);
}

Credits

danolivaz

danolivaz

1 project • 0 followers
Curious about ways through which we an enhance our perception of the imperceptible surrounding us.

Comments