4th April – Presentations

Lecture

In the lecture today we discussed ways in which you can document the process if our projects so that we know the aspects of development that have occurred throughout our projects. We discussed there categories:

  • Visual (videos, pictures and diagrams)
  • Written (Blog posts, publications and lab notes)
  • Code repo (GitHub blog posts)
  • Quantitative and qualitative data (Excel spreadsheets)

Lab

Today we all completed a 10 minute presentation of how far we have come with our projects so far and explained any aspects that we still needed to complete. We all then graded each other on four different aspects of our presentations which included:

  • Clarity
  • Complexity
  • Aesthetics
  • functionality

Those of us that have managed to get sound to work with our projects have shown how they can be used. Below I have included the slides for my presentation so that you can see the progress that I have made with my Arduino project. In the presentation slides there is also a video of my project so far and the issues that I have been faced with.

Although I am having an issue with the fact that the code is struggling to work with my project, after meeting with my peers today I see where the issue is and how I can change my code so that it works successfully.

It is also interesting to see how far we have all come with our projects individually as we have all been given the same brief but chosen to approach it differently.

21st March – working with SOLIDWORKS

Lecture

Today one Tolu presented his presentation about the ideas that he had for his project and spoke about how far he’d come with his project already. We also watched a short video about someone who had produced a similar project to our own final pieces. It was interesting to see someone else’s take on the project that we are facing.

Lab

In the lab we looked at the progress that each of us had made in regards to our projects and gained any materials that we needed. We were introduced to the software called SOLIDWORKS that can be used in order to create 2D and 3D designs for your work. Below is an image of me experimenting with this software but as we have a limited time slot for the lesson I decided to use Word to create a simple design.

This is a picture of me working with SOLIDWORKS in the class.

I think that using this piece of software when creating 3D models to print would be very useful as you ca see your piece in multiple dimensions however I think that I would have to practice with this software many times to truly understand how I can create my vision.

As you can see below, I have decided to make my model template using Word as I will be producing the case for my final piece myself by using plastic and tools.

This is the very simple model that I made during the lesson to visualize what I am trying to create for my final piece.

I found today useful as I gained knowledge of another piece of software that I can use for any designing that I wanted to do for my project. It was also interesting to use VM Horizon as this allows you to access the university computers from home which I hadn’t used before.

Week 24 – 14th March (presentations)

Lecture

Today we presented our presentations about Arduino projects that have helped give us ideas towards our own. This was a timed presentation that was 15 – 20 minutes and everyone in the class gave feedback on how the presentation was completed as well as the criteria that they had completed their project up to. It was interesting to gain feedback from those in the class as we completed these presentations on our own and needed ways in which we could improve them. It was also captivating to see how other people had done their presentations and the ideas that they had for their own projects as we all have very different ideas about the projects that we wish to complete.

This is one of the instruments that I looked at during my presentation and it is the instrument that has had the most influence on my final piece in total.

https://create.arduino.cc/projecthub/Barqunics/paper-piano-with-arduino-e27da7?ref=tag&ref_id=piano&offset=1

Lab

We took a tour of the mechanical workshop to see what machines they had available and the kinds of projects that they were producing. It was interesting to see a completely different department compared to the one that we are usually situated.

This is an image of a laser cutter that is similar to the one that is in the mechanical workshop – the secret to clean laser cutting: Designing a better laser nozzle using 3D-printing – Nervous System blog (n-e-r-v-o-u-s.com)
  1. What is the mechanical workshop?

The mechanical workshop is a room that has multiple different pieces of equipment inside it that can be used to make various different projects that include making physical things.

2. Who are the contact persons?

3. When can you go?

The timetable is on the back of the door of the workshop room.

4. Where is it located?

In Queens at the back of the building near the very end.

5. Why you should go?

You should go to develop any project that you have decided to create to add originality and a creative fare to it.

6. How are you planning to use the mechanical workshop concerning your project?

I may decided to use the mechanical workshop in my project as I’d like to create a mini piano that look realistic. This would mean that I could laser cut pieces of the piano such as the keys. However, I don’t know have access to one of these machines so visiting the mechanical workshop would be necessary.

Conclusion

In conclusion it was interesting to see the various pieces of equipment that they had available to use as I wasn’t aware that the department existed. They had various models of planes and cars which was interesting to see as there are many different options that you can make. It has allowed to to see that I can create a much more interesting instrument that I first thought and I think that it will look more professional in total.

7th March – Timelines for project

Lecture –

In the lecture we covered the content of the write-up to our project. Here is the layout for my project:

  • Introduction – explaining all the initial ideas and aims of my work)
  • Context – project ideas and examples of other work)
  • Prototype – my idea and diagram of circuit)
  • Results – video of my project and and discussion
  • Conclusion – summary of the project and and conclusions made

Lab

Above is a timeline that I have made for my project outlining my main goals with milestones and all other dates that I have to have achieved certain tasks by.

It’s important to use a timeline chart for a project as to allows you to stick to goals and have a better understanding of when you need to achieve certain goals by to accomplish your task.

21st Feb (ONLINE)

What is a timeline?

A timeline is a display of a list of events in chronological order.

What are the different types of timelines?

  • Text timelines, labeled as text
  • Number timelines, the labels are numbers, commonly line graphs
  • Interactive, clickable, zoomable
  • Video timelines
https://cacoo.com/templates/project-timeline-template

What is a Gantt chart?

Gantt chart is a type of bar chart that illustrates a project schedule, named after its popularizer, Henry Gantt (1861–1919), who designed such a chart around the years 1910–1915. Modern Gantt charts also show the dependency relationships between activities and the current schedule status.

GanttPRO — 

  • multi-platform
  • 14 day free trial but then paid
  • web based
  • Gantt chart

Smartsheet

  • multi-platform
  • 30 day free trial but then paid
  • web based
  • Gantt chart

TimeGraphics –

  • multiplatform
  • Free
  • Web based
  • Timeline

Milestones and goals:

Goals refer to the results an organization intends to achieve in a given time period.

Milestones are the critical and measurable accomplishments that need to be made so as to progress towards a goal. 

MATD3039 – Digital Oscillators (7th February 2022)

Lecture

In the lecture we spoke about the different ways that you can use an Arduino board to expand simple projects into more complex ones. We looked at different sensors and in particular I looked at a force sensitive resistor.

The link for this image of a FSR – Force-Sensing-Resistor.jpg (1847×1114) (elprocus.com)

Lab

We began the lab by using code for the Arduino that allowed for a sine tone to be created using a small speaker. The circuit that was used is included below and this is followed by the code that allowed us to create a sine tone with breaks in between.

//A sketch to demonstrate the tone() function
//Specify digital pin on the Arduino that the positive lead of piezo buzzer is attached.
const int piezoPin = 8;
void setup() {
}//close setup
void loop() {
/*Tone needs 2 arguments, but can take three
1) Pin#
2) Frequency - this is in hertz (cycles per second) which
determines the pitch of the noise made
3) Duration - how long the tone plays
*/
tone(piezoPin, 450);
delay(500);
noTone(piezoPin);
delay(500);
}

The Arduino board and breadboard that were included in my circuit.

We went through many other commands that you can add to the code in order to create more advanced melodies. We made our own code that ascend up to a specific note and then decrease to another. The code included below is just that.

//A sketch to demonstrate the tone() function
//Specify digital pin on the Arduino that the positive lead of piezo buzzer is attached.
const int piezoPin = 8;
void setup() {
}//close setup
void loop() {
/*Tone needs 2 arguments, but can take three
1) Pin#
2) Frequency - this is in hertz (cycles per second) which
determines the pitch of the noise made
3) Duration - how long the tone plays
*/
for (int i=31; i<10000; i++) {
tone(piezoPin, i, 1000);
delay(10);
}

for (int i=10000; i>700; i--) {
tone(piezoPin, i, 10000);
delay(10);

}
}

Digital Oscillator

Above is the circuit that I created for the digital oscillator.

Code for digital oscillator

//CODE DigitalOSC
const int ledPin = 13; //variable to represent LED Pin
const int periodKnob = A0; //variable for knob pin (A0 = analog in pin 0)
int delayTime; //variable for the delay time
void setup() {
pinMode(ledPin, OUTPUT); //configure pin 13 as a digital output
}
void loop() {
//set delay time equal to the current value read on analog pin 0
delayTime = analogRead(periodKnob);
//map the analog read range from 0-1023 to 10000-1
//delayTime = map(delayTime, 0, 1023, 10000, 1);
digitalWrite(ledPin, HIGH); //set pin 13 to 5 volts
delayMicroseconds(delayTime); //pause program
digitalWrite(ledPin, LOW); //set pin 13 to 0 volts
delayMicroseconds(delayTime); //pause program
}
//

Advanced Musical Electronics – 24th Jan Jade Holland

Lecture

Today we began by looking at the different types of sensors and actuators in the lecture.

A sensor – is a device that detects and responds to some type of input from the physical environment. The specific input could be light, heat, motion, moisture, pressure, or any one of a great number of other environmental phenomena. 

Lab

In the lab we used an Arduino to connect a push button and an LED together which would allow the button when pressed to switch on the LED, this then progressed into allowing the led to fade in and out.

Code

Below is the code used from the lab that allowed for the button to switch on the LED and keep it switched on until the button was pressed again.

const int LED = 13; // the pin for the LED
const int BUTTON = 7; // the input pin where the
// pushbutton is connected
int val = 0; // val will be used to store the state
// of the input pin
int state = 0; // 0 = LED off while 1 = LED on
void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
pinMode(BUTTON, INPUT); // and BUTTON is an input
}
void loop(){
val = digitalRead(BUTTON); // read input value and store it
// check if the input is HIGH (button pressed)
// and change the state
if (val == HIGH) {
state = 1 - state;
}
if (state == 1) {
digitalWrite(LED, HIGH); // turn LED ON
} else {
digitalWrite(LED, LOW);
}
}

Arduino button switching on/off the LED

Below is a website that I have included that walks through a similar tutorial like the one completed today in the lab.

Arduino LED – Complete Tutorial – The Robotics Back-End (roboticsbackend.com)

There were several versions of the same code but all of them had different improvements as it was found that as the Arduino runs quicker than the time it takes for a human to press the button, it would sometimes flicker. Altering the code allowed for the Arduino to have time to process so now no flickering would occur with the LED.

Controlling light with pulse-width modulation

We then coded the Arduino board to allow an LED light to fade the light from high to low using this code below.

// Fade an LED in and out, like on a sleeping Apple computer
const int LED = 9; // the pin for the LED
int i = 0; // We'll use this to count up and down
void setup() {
pinMode(LED, OUTPUT); // tell Arduino LED is an output
}
void loop(){
for (i = 0; i < 255; i++) { // loop from 0 to 254 (fade in)

analogWrite(LED, i); // set the LED brightness

delay(10); // Wait 10ms because analogWrite // is instantaneous and we would // not see any change }

for (i = 255; i > 0; i--) { // loop from 255 to 1 (fade out)
analogWrite(LED, i); // set the LED brightness
delay(10); // Wait 10ms
}
}

Arduino – (week 15) Jade H

1. What does open source mean?

This means that although the software is licensed under a company, this software can be downloaded for free. Anyone can have any access to this software.

2. What is an IDE?

Integrated Development Environment which combines activities of writing software into a single workspace.

3. What is a cross-platform application in computing?

Developing software for, or running software on, more than one type of hardware platform. The most universal cross platform application is the Web browser.

4. The source code for the IDE is released under the GNU General Public License,what does it mean?

The license allows developers and companies to use and integrate a software component released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components

5. What are the user programming languages supported by Arduino IDE?

C, C ++, ArduBlock, Snap4Arduino, Python and Java.

6. What are the developer programming languages used in the Arduino IDE?

C, C ++ and Java.

7. Where does the software library of the Arduino programming language come from?

The software library is from the Wiring Project which provides input and output procedures.

8. What does it mean to compile a program?

Compiling is the transformation from source code (human readable code) to machine code (Computer executable).

9. What is the process of the Arduino IDE to load the code into the Arduino board?

The Arduino board is connected to a computer via USB, where it connects with the Arduino development environment (IDE). The user writes the Arduino code in the IDE, then uploads it to the microcontroller which executes the code, interacting with inputs and outputs such as sensors, motors, and lights.

10.What does happen when you upload a sketch?

There are two main tools when uploading a sketch to a board: verify and upload. The verify tool simply goes through your sketch, checks for errors and compiles it. The upload tool does the same, but when it finishes compiling the code, it also uploads it to the board.

11. What is the purpose of the libraries?

 Libraries provide extra functionality for use in sketches, e.g. working with hardware or manipulating data.

12. What is the Library Manager?

The library manager gives a list of a different libraries created by multiple people that anyone can use.

13. What is the Serial Monitor?

The serial monitor is the link between the computer and Arduino. It lets you send and receive text messages, handy for debugging and also controlling the Arduino from a keyboard. For example, you are able to send commands from your computer to turn on LEDs.

14. What is baud rate?

Baud rate is simply the rate of signal or symbol change per second. 

15. What are the effects of board selection?

Depending on the board you select this varies the number of inputs and outputs (how many sensors, LEDs, and buttons you can use on a single board) speed and operating voltage. Some boards are designed to be embedded and have no hardware which you would need to buy separately.

Advanced musical electronics MATD3039 – Jade Holland

What do you expect to accomplish in this module?

I expect to achieve a higher understanding of the code that is used to accomplish specific activities on an Arduino board. I have experience of creating an instrument with an Arduino board, like the one below, however I don’t have extensive knowledge of the code so it will be interesting to see how different pieces of code and information can impact my final outcome.

Arduino Board example – https://www.tinkercad.com/things/4dpskvBvwBl-arduino-uno-r3

How will you use the blog during the module?

I will used the blog as a form of documentation of what I have learnt throughout the module step by step, so that I understand the process that I went through to achieve the outcome. The blog will also act as proof of what I have done if anyone wanted to achieve a similar outcome to me in future.