murrayinahurray
murrayinahurray
Cameron Murray - Coding for Creative Practice
50 posts
Don't wanna be here? Send us removal request.
murrayinahurray · 3 years ago
Text
Here is a video of the process working momentarily, laser is blocked sending written 0 from arduino to processing which initiates the trigger causing a 5 second delay which I set before flash of 5 seconds and resets yo black screen until retriggered.
0 notes
murrayinahurray · 3 years ago
Text
Tumblr media Tumblr media Tumblr media
Shown is the setup I tried to use today for my project.
The doors shown leak too much light which would interfere with the photo diode + my lasers were running out of battery trying to get them lined up which meant the beam was not powerful enough to make sure the photo diode was able to trigger if the line was crossed.
This project was difficult but it is not impossible, I've learnt a lot about processing on this journey which has been great. This has also taught me the tools available and technology there to make these experiments possible which I can implement in future work.
Just like a scientific experiment you should keep your variables as low as possible to get strong results, this is something I shall consider in future.
0 notes
murrayinahurray · 3 years ago
Text
Tumblr media
This is my workflow explained
0 notes
murrayinahurray · 3 years ago
Text
Tumblr media
I like this one the most as it looks the most realistic and I can imagine this being put up somewhere in Wellington to notify people of the upcoming gallery.
0 notes
murrayinahurray · 3 years ago
Text
Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media Tumblr media
Image: Taken by Harold Edgarton.
This image is called Back dive taken in 1954.
These are my entourage layouts, My main idea for my project was to be able to have an interactive gallery where people can try different movements and see their photos displayed instantly up on a projector, this would get people showing off their hobbies and talents and could be a take on the idea of the tall poppy syndrome where people are too scared to show their talents because of being judged or seeming 'too expressive' or a 'show off'.
0 notes
murrayinahurray · 3 years ago
Text
Purpose
For my project I wanted my classmates to be able to walk through the exhibition and into the room past the laser and the camera to be set on a wired shutter - continuous photos. For this to be possible in future the arduino would need to be hooked up to multiple screens at one time to provide more than one flash or wired up to an LED which is powered by it's own battery to provide light strong enough to capture movement.
0 notes
murrayinahurray · 3 years ago
Text
Adjustments Needed
Initial tests of the setup show that the screen flash is not bright enough, room used is not dark enough. To mimic the technique Harold Edgarton uses is called Stroboscopic Photography, the flash required needs to be quick and quite powerful.
Generally when using this setup on an electronic camera flash you are to select the Hertz which is how many flashes a second, set how many flashes total and flash power which should be around 1/32 and shutter speed is total flashes/ divided by Hertz in this instance it would be 2" which is 2 seconds for the shutter to stay open while these flashes trigger and movement is recorded.
0 notes
murrayinahurray · 3 years ago
Text
Tested the setup after fixing the problem in the code which presented us with the final project, the error was within the Arduino code - Where print.line should have been print.write to send 0 and 1 instead of ASCII code.
0 notes
murrayinahurray · 3 years ago
Text
This is a video of the current setup, Veroboard with jumper cables connected to negative and positive inputs with a photo diode on those same numbers, the jumper cables then go back to the main Arduino board as they read the signal from the photo diode and send it back to the Arduino to process with the code that has been uploaded to it from the Arduino app and then send it back to the computer which is connected by micro usb and read it back to the console of the processing app which processes the information received to allow the code to trigger the screen flash and delay depending if trigger is True or False.
This is followed by the function
if (val == 1 && triggered==false) { // If the serial value is 1 and triggered is false initiate lastsavedtime to begin delay to start flash lastSavedTime = millis(); triggered = true; // if true lastsavedtime will not run again until below false } } // greater than 4000 if(millis()-lastSavedTime > timeDelay1+timeDelay2 ){ //this is to bring the screen back to black - if the last saved time is more than the delay of 1000 then switch back to black background(0); // black triggered = false; // ready to trigger again
// or less than 3000 } else if(millis()-lastSavedTime < timeDelay1 ){ background(0);
Which explained before allows the screen flash function.
This is editable at the top of the code within
float lastSavedTime; float timeDelay1 = 3000; //delay from trigger till white float timeDelay2 = 1000; // white flash total time boolean triggered = false; // only allows the laser to read one break as if a break was detected during the flash of the screen it may break the code ruining the experiment.
0 notes
murrayinahurray · 3 years ago
Text
FAIL
Testing again in block 12 and much like last time the board and photo diode did not react like it did in the fab lab..
It is reading 10, 13, 48 and 49 in ASCII numbers.. not sure why it has converted back to receiving ASCII numbers instead of bytes but I'll be trying to do a full setup with my next meetup with Omelia to make sure there are no possibilities for failure.
48 and 49 convert back to 0 and 1 so I feel like there's something half right going on but just not in the information we need to receive as.
0 notes
murrayinahurray · 3 years ago
Text
Success
After spending another session with Amelia in the Fablab we managed to get the Arduino to take the information received by the photo diode in as bytes instead of ASCII numbers (ASCII, abbreviated from American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices).
So as an example the photo diode was showing in the console 49 and 48 which actually means when converted 1 and 0, bytes surpass this method so that we get more precise data which makes our life easier.
We setup the computer screen to trigger if true or false when a 0 or 1 was read which meant that the screen would flash white.
/**
Simple Read *
Read data from the serial port and change the color of a rectangle
when a switch connected to a Wiring or Arduino board is pressed and released.
This example works with the Wiring / Arduino program that follows below. */
import processing.serial.*; //imported functions
Serial myPort; // Create object from Serial class
String stringVal; // Data received from the serial port int val;
float lastSavedTime; float timeDelay1 = 3000; //delay from trigger till white
float timeDelay2 = 1000; // white flash total time boolean triggered = false;
void setup() { lastSavedTime = millis(); // unit of time measurement
//fullScreen(); // size of screen
background(0); // initial shade - not that important
println(Serial.list()); // once off reading of serial to show which serial list the arduino is connected to.
String portName = Serial.list()[1]; //change this depending on serial port shown in which arduino is registered to to activate trigger
myPort = new Serial(this, portName, 9600); //baud value = communication speed arduino and comp need to be on the same }
void draw() {
if ( myPort.available() > 0) { // If data is available val = myPort.read(); // read it and store it in val
println(val); // shows the 1 or 0 in below console
if (val == 1 && triggered==false) { // If the serial value is 1 and triggered is false initiate lastsavedtime to begin delay to start flash
lastSavedTime = millis(); triggered = true; // if true lastsavedtime will not run again until below false }
} // greater than 4000 if(millis()-lastSavedTime > timeDelay1+timeDelay2 ){ //this is to bring the screen back to black - if the last saved time is more than the delay of 1000 then switch back to black
background(0); // black
triggered = false; // ready to trigger again
// or less than 3000 } else if(millis()-lastSavedTime < timeDelay1 ){ background(0);
}else { //if not black then white
background(255); //white } }
THIS IS THE UP TO DATE CODE IN BOLD WHICH IS CURRENTLY WORKING WITH NOTES AFTER DOUBLE SLANTED LINES
0 notes
murrayinahurray · 3 years ago
Text
Chats
Chatting with Stu and Tim we've discussed being able to flash a screen or a white background up as a makeshift flash as led's might not be as bright as a screen in a dark room.
This could be an easier wa to code and an easier wa to create m final output.
0 notes
murrayinahurray · 3 years ago
Text
I've decided to bring my project down a notch as I'd recall like to understand how I can affect the code myself.. I've found it incredibly frustrating not being able to solve the issues I've come across
0 notes
murrayinahurray · 3 years ago
Text
Show and Tell Class 4.2
We went around and showed what we had been creating.. I tried setting up the Arduino that we had coded but the computer was showing a nullpointerexception message, I tried changing the port number to either 1 or 3 as 0 and 2 were showing as wifi ports and mine was plugged in. 3 seemed to work momentarily but had a large area of numbers. moving m hand over the board seemed to change these numbers but I'm unsure how the new environment was affecting the setup.
Seemed to be that the ambient light was interfering but couldn't understand.
0 notes
murrayinahurray · 3 years ago
Text
Coding the Wemos D1 Mini
I booked in for a session at the FabLab with Omelia which was great, although I did not understand the code I understood the main functions of the physical pieces in the components.
We ended up using an Arduino uno as the Wemos was not allowing the Photo Diode to react with the Wemos.
Basically the code that we created in Arduino ID is to read when the Photo Diode ( A light sensitive component plugged into the pin board ) read infrared light, we were going to use this as a trigger for m project as I wanted the Wemos to read when someone had entered through the doorway. I was going to have a basic infrared laser shining on the Photo diode and when someone passed through the laser it would send a signal to the Wemos that the laser had been broken and a 0 would be sent as a trigger.
0 notes
murrayinahurray · 3 years ago
Text
Entourage
Today we spoke about entourage and the different software we can use to display our physical code outcome in a real life life situation, I also purchased a Wemos D1 Mini which I soldered the WiFi chip onto to prepare myself for my appointment with Amelia who is going to help with the logistics.
0 notes
murrayinahurray · 3 years ago
Text
Output
I've decided to pick my idea for coding an Arduino to react with a sonar sensor which reacts with a camera flash on a hotshoe.
Each time a person passes the sensor the flash increases by one within a second and I will be taking photos at the same time on the one second timer or a wireless shutter release so the timing is automated to produce a multi exposure image as a physical output which will be printed.
These images will be shown in a book staged by myself through photoshop.
0 notes