Week 17 – Lab Session Blog

We began the session by revising what we learned last week and looking over our previous Arduino code, line by line.

Screenshot of last weeks code

Next, we recreated a circuit from the worksheet which features a 10K Ohm resistor, a pushbutton, an LED, a breadboard and some jumper wires with our Arduino boards. When the button is pressed the LED lights up

Photograph of the circuit.

We then altered the code to create a version where the button controls the LED in a different capacity. It is interesting that we can leave the circuit the same but we can change the function of the hardware by changing only the code.

Updated Code

We then updated the code further to remove a small bug so that the light stays on when turned on and turns off when pressed again. There is a noise generated by the push of the button which we can counteract within the code to make it much more reliable in its function.

We then created a new more basic circuit and code that allows our LED to fade on and off intermittently.

A short video of the LED fading on and off with the circuit in the background.

This session has been an important coding revision and it is very important to understand what your code is doing, line by line. Otherwise you cannot diagnose errors and you won’t have any deeper understanding of what your code is achieving.

Lab Session Notes 17/01/2022

In this session, we began by sharing previous work from a previous years module that was applicable to the current module. Emily’s instrument comprised of a multiple oscillator synth, with multiple monophonic synths assigned to multiple control knobs that alter the pitch.

My own instrument comprises of a light dependent resistor (LDR) to control a monophonic synthesizer within an enclosure. The lighter the environment, the higher the pitch. It was interesting to compare as we never ended up getting to show each other our work last year during the module.

We then plugged in the Arduino and had a go at writing our first code which makes the Arduino LED blink in one second intervals, which is essentially the coding equivalent of “Print (“Hello World!)”.

Figure 1 – Screenshot of the code within the Arduino IDE software

As you can see from figure one, it is incredibly simple to understand the function of the code and it is incredibly concise.

We then adapted our own code by writing our own function to call an if/else statement that would print the value status of either high or low to the serial monitor. I have learned more about the Arduino coding language to which I am very unfamiliar, and is both similar and dissimilar to any coding I have done before.

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.

MATD 3039 Introduction Expectations – Daniel Partington

For this new module, my personal aims are to expand on my creative and technical skillset so that not only have the technical skills to create advanced circuitry and code but to think creatively with these assets and utilise the information I gather in new and innovative ways.

Source: https://college.uchicago.edu/news/academic-stories/creative-machines-class-students-design-and-make-instruments-scratch

This blog should serve as a great platform for us, the students, to voice how we are feeling in relation to our projects and potentially have a positive influence on the other students accessing the blog. It will also serve as a diary for referencing purposes and will help jog the memories of labs that have since been forgotten.

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.