M-Code Box

Concept

How can a fabricated object have an interactive life? The M-Code Box is a manifestation of words translated into a tangible morse code percussion. You can find the code here and what's needed to create one M-Code Box is an Arduino UNO, a Solenoid Motor (external power source, simple circuit) and a laptop with Processing.

Next Steps

There are two paths to take this project further. One is to have an interpreter component, recording its sounds and re-encoding them into words, like conversation triggers. The second is to start thinking on musical compositions by multiplying and varying this box in materials and dimensions.

 

 

Previous Iterations

This project came upon assembling two previous projects, the Box Fab exploration of live hinges and the Morse Code Translator that translates typed text into physical pulses.

GPS through Arduino and B_GSM Boards

For our GSM class final, partnered with Clara and Karthik we created a Geo-Fence hooked to an Arduino Uno.

If you're receiving garble when reading the incoming data from the GSM through Arduino, you should check whether both boards are working at the same baudrate (9600). To change the GSM board –Quectel 10M– baudrate through an FTDI adaptor and CoolTerm:

  1. AT+IPR? //Response (most likely) 115200
  2. AT+IPR = 9600 //Response OK
  3. —[Disconnect] change Baudrate to 9600 [Connect]—
  4. AT&W //Save settings. Response OK

Now plug the GSM Board to the chosen Software Serial PINS (10 and 11) and change the Fence center-point (homeLat and homeLon) the size –radius– of the fence in KMs (thresholdDistance) and the phone is going to be controlled from (phoneNumber), UPLOAD and run the SERIAL MONITOR. The code can be found in this Github Repo. Enjoy

The hardware used for this project was an Arduino UNO and one of Benedetta's custom GSM Boards with enabled GPS. This setup could work for potentially stand-alone purposes, however is advised to make sure beforehand that the power source has enough Watts to run the setup for the sought time.

SMS-LED

A simple snippet to make an LED light up when receiving a SMS, with one of Bennedetta's GSM Shields

Lighting the LED pin 13 in the Arduino board. After several failed attempts of writing from Arduino Serial Monitor, we decided to do it through Coolterm. 

This is the code:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);
char inChar = 0;
char message[] = "que pasa HUMBA!";

void setup()  
{
  Serial.begin(9600);
  Serial.println("Hello Debug Terminal!");
  // set the data rate for the SoftwareSerial port
  mySerial.begin(9600);
  
  pinMode(13, OUTPUT);
  
//  
//  //Turn off echo from GSM
//  mySerial.print("ATE0");
//  mySerial.print("\r");
//  delay(300);
//  
//  //Set the module to text mode
//  mySerial.print("AT+CMGF=1");
//  mySerial.print("\r");
//  delay(500);
//  
//  //Send the following SMS to the following phone number
//  mySerial.write("AT+CMGS=\"");
//  // CHANGE THIS NUMBER! CHANGE THIS NUMBER! CHANGE THIS NUMBER! 
//  // 129 for domestic #s, 145 if with + in front of #
//  mySerial.write("6313180614\",129");
//  mySerial.write("\r");
//  delay(300);
//  // TYPE THE BODY OF THE TEXT HERE! 160 CHAR MAX!
//  mySerial.write(message);
//  // Special character to tell the module to send the message
//  mySerial.write(0x1A);
//  delay(500);
}

void loop() // run over and over
{
  if (mySerial.available()){
    inChar = mySerial.read();
    Serial.write(inChar);
    digitalWrite(13, HIGH);
    delay(20);
    digitalWrite(13, LOW);
    }
    
  if (Serial.available()>0){
    mySerial.write(Serial.read());
  }
}

Labs –DC Motor, Outer Source & H Bridge–

USING A TRANSISTOR TO CONTROL HIGH CURRENT LOADS

DC MOTOR CONTROL USING AN H-BRIDGE

Generative Synthesizer Concept

Can unpredictable melodies be created out of Constellaction’s concept?

Composition

Modules will bridge through consecutive emissions and receptions of sound. In the end, the purpose is to create a a cyclic chain that sets the stage for a greater pursue: creating a generative audio experience –like a tangible tone matrix–. In this exercise I will explore simple initial attributes such as trigger-thresholdand tempo.

Concept

How can sound-modules resemble basslines through replication? For the first phase of this project, I will explore ways of creating a module that, triggered by a sound, generate auditive-chain reactions.

Tone Matrix

Tone Matrix

Context

The general idea is to create different behaviors with these modules to the extent that they become generative. In this particular exercise –Mid-Term–, the idea is to create looped compositions that resemble bassline. By scaling these modules, emergent and unpredictable scenarios can appear.

 
 

BOM (Bill Of Materials)

  • Sound receiver (9 Microphone)
  • Sound emitter (9 Piezo–Buzzer)
  • Arduino
  • ATTiny
  • Battery (Coin Cell)
  • Controller (Potentiometer/Switch?)
  • 3 Trigger threshold
  • 3 Tempo
  • 3 PCB

Servo Tinker Application

 

After tinkering a conventional servo to read its position data, I'm still figuring out a way to apply this feedback reading into an aesthetic application. Even though I'm unsure on how can I implement this into the former concept, it certainly sparks interesting interactive possibilities. The code can be found in this Github Repo.

I also started a sketch around a servo triggered by a digital input. When triggered, the servo moves across a 30º range, back and forth. The idea to explore further, is to module its speed by an analog input, and maybe add a noisy (perlin most likely) effect.