VOYAGER
Video Subtitle
In this assignment, I created a short sample of a song from Daft punk. I had quite a lot of trouble trying to figure out how to stop the sound with one button so I decided to use two buttons which made things way easier. When the grey button is pressed the heart icon appears and plays the song once it's over I put a rest for four seconds meanwhile that four seconds is happening press the green button to cancel the song; a X will appear to indicate the button has been activated. Grey button adds a one to make the toggle (variable) true, but the green button brings it back to zero which makes the toggle back to false.
​
This website helped me how to create the song (Daft punk-Voyager)
INSTRUMENT
Square Force-sensitive and photo cell
If button A is pressed it will activate the Square force-sensitive and photocell, both tools are connected to the same pin which is pin 2. Also, the analog read connects to pin 1. The viewer can use the square force-sensitive alone or the photocell to play the instrument. You can either use both tools to get creative. The breadboard trim potentiometer controls the tempo of the beat preferably I set beat from high to play some music. To turn off the instrument, have to press AB button and it'll reset the program.

MIDTERM PROJECT
Ideas
1. Interactive glasses​
-Hat
-Glasses
-2 microbits
-2 battery 8x
-ultrasonic detector
-jump wires
-breadboard
-rubberbands
-tape
​2. Game
-cardboard box
-microbit
-square force sensitive
-2 leds red and green
-jump wires
-alligator clips
-battery 4x
3. Interactive face
-2 microbits
-battery 4x
-usb
-2 leds red and green
-jump wires
-alligator clips
-tape
FINAL MIDTERM PROJECT
I created a game called Red hand, the concept of this game is too avoid getting "hit." To begin the game you have to press A and place your thumb on to the Force square to continue, if you let go or don't apply pressure you'll automatically lose causing an led to turn red. So placing your thumb onto the square, the player will hear a pattern beat sound as the number goes through 0 to 9 repeatedly on the micro bit; the objective is to hear an off-key sound and see a single dot on the micro bit. Once you targeted the dot and off-key sound you have to let go of your thumb in order to not get "hit." After you let go there will be green light going on meaning you dodge it, and once the numbers come back on to the micro bit you have to continue to play until you get hit. Once someone loses the game, the player has to press A to play again. The cardboard box is small and can be held by two hands, there's easy access to get into the wiring of the breadboard and micro bit. Also, there's a harder mode from the help of the cardboard which is closing the vision of the micro bit. The player has to use hearing instead of looking and the most difficult part of this mode is timing, the player has to count to 4 after the beep sound goes off in order to keep playing.
![]() | ![]() | ![]() |
---|
PROGRESS
Ideas:
-stacking squares on to the paddle without making it fall off.
-a ball being dropped at the top hitting scattered objects till the end and there is several boxes giving points. The ball goes to one of the several boxes and the player gets three attempts.
INTERACTIVITY
To start the interaction with this art project, you have to click on to the screen to begin it. There are 8 balls on the screen that changes color to move the balls you have to press 'b' to make the speed go +5 to take away the speed press 'v' which will take -5. You could paint on to the canvas with the mouse. you could change paint brush size by tapping on the top and down arrow keys. If you click with the mouse a black circle will appear.
​
(FIXED)
problems:
I tried to make another keypressed to make the balls stop moving and stay in there places, but it doesn't work. When you press 'n' the balls speed will go 0.
​
CODE:
//fordrawing
var mousesize;
var brushSize;
//ball1
var xSpeed;
var ySpeed;
var xPos;
var yPos;
var bSize;
//ball2
var aSpeed;
var bSpeed;
var aPos;
var bPos;
var aSize;
//ball3
var cSpeed;
var cPos;
var dPos;
var cSize;
//ball4
var eSpeed;
var fSpeed;
var ePos;
var fPos;
var eSize;
//ball5
var gPos;
var hPos;
var gSpeed;
var gSize;
//ball6
var iPos;
var jPos;
var hSpeed;
var hSize;
//ball7
var kPos;
var lPos;
var iSpeed;
var iSize;
//ball8
var mPos;
var nPos;
var jSpeed;
var jSize;
//ballcanvas
var lPos;
var oPos;
var kSize;
//color
var sR,sG,sB;
var sColor;
function setup() {
createCanvas(1000, 1000);
background(180, 255, 180);
brushSize=50;
//mouse
mousesize=10
//ball1
xSpeed=15;
ySpeed=10;
xPos=50;
yPos=50;
bSize=90;
//ball2
aSpeed=15;
bSpeed=9;
aPos=50;
bPos=50;
aSize=40;
//ball3
cPos = 200;
dPos = 200;
cSpeed = 15;
cSize = 50;
//ball4
eSpeed =10
fSpeed =20
ePos = 50
fPos = 50
eSize = 30;
//ball5
gPos=200
hPos=200
gSpeed=30
gSize=20
//ball6
iPos=200
jPos=200
hSpeed=50
hSize=40
//ball7
kPos=50
lPos=50
iSpeed=70
iSize=50
//ball8
mPos=800
nPos=800
jSpeed=40
jSize=50
//ballcanvas
lPos=500
oPos=500
kSize=500
//color
sR=200
sG=100
sB=0
}
function draw() {
sR = random(255,0,0);
sG = random(0,10);
sB = random(0,200);
fill(sR,sG,sB);
noStroke();
ellipse(mouseX, mouseY, mousesize, mousesize);
sColor=color(sR,sG,sB);
fill(sColor)
noStroke();
//1
ellipse(xPos,yPos,bSize,bSize);
//2
ellipse(aPos,bPos,aSize,aSize);
//3
ellipse(cPos,dPos,cSize,cSize);
//4
ellipse(ePos,fPos,eSize,eSize);
//5
ellipse(gPos,hPos,gSize,gSize);
//6
ellipse(iPos,jPos,hSize,hSize);
//7
ellipse(kPos,lPos,iSize,iSize);
ellipse(mPos,nPos,jSize,jSize);
//centerball
fill('black');
// ellipse(lPos,oPos,kSize,kSize);
xPos=xPos+ xSpeed;
yPos=yPos+ ySpeed;
aPos=aPos+ aSpeed;
bPos=bPos+ bSpeed;
dPos=dPos+ cSpeed;
ePos=ePos+ eSpeed;
fPos=fPos+ fSpeed;
gPos=gPos+ gSpeed;
iPos=iPos+ hSpeed;
kPos=kPos+ iSpeed;
mPos=mPos+ jSpeed;
//b1
if((xPos>(1000-bSize/2)) || (xPos<bSize/2)){
xSpeed=-xSpeed;
}
if((yPos>(1000-bSize/2)) || (yPos<bSize/2)){
ySpeed=-ySpeed;
}
//b2
if((aPos>(1000-aSize/2)) || (aPos<aSize/2)){
aSpeed=-aSpeed;
}
if((bPos>(1000-aSize/2)) || (bPos<aSize/2)){
bSpeed=-bSpeed;
}
//b3
if ((dPos > (1000-cSize/2)) || (dPos < cSize/2)){
cSpeed = -cSpeed;
}
//b4
if((ePos>(1000-eSize/2)) || (ePos<eSize/2)){
eSpeed=-eSpeed;
}
if((fPos>(1000-eSize/2)) || (fPos<eSize/2)){
fSpeed=-fSpeed;
}
//b5
if ((gPos > (1000-gSize/2)) || (gPos < gSize/2)){
gSpeed = -gSpeed;
}
//b6
if ((iPos > (1000-hSize/2)) || (iPos < hSize/2)){
hSpeed = -hSpeed;
}
//b7
if ((kPos > (1000-iSize/2)) || (kPos < iSize/2)){
iSpeed = -iSpeed;
}
//b8
if ((mPos > (1000-jSize/2)) || (mPos < jSize/2)){
jSpeed = -jSpeed;
}
//presscircle
if (mouseIsPressed) {
ellipse(500, 500, 500, 500);
fill(255);
textSize(50);
text('GROOVY',390,475,500);
} else {
ellipse(0, 0, 0, 0);
}
print(mouseIsPressed);
}
//speedoftheballs
function keyPressed(){
if (key === 'b'){
xSpeed+=5;
ySpeed+=5;
aSpeed+=5;
bSpeed+=5;
cSpeed+=5;
eSpeed+=5;
fSpeed+=5;
gSpeed+=5;
hSpeed+=5;
iSpeed+=5;
jSpeed+=5;
}
if (key ==='v'){
xSpeed-=5;
ySpeed-=5;
aSpeed-=5;
bSpeed-=5;
cSpeed-=5;
eSpeed-=5;
fSpeed-=5;
gSpeed-=5;
hSpeed-=5;
iSpeed-=5;
jSpeed-=5;
}
if (key ==='n'){
xSpeed=0;
ySpeed=0;
aSpeed=0;
bSpeed=0;
cSpeed=0;
eSpeed=0;
fSpeed=0;
gSpeed=0;
hSpeed=0;
iSpeed=0;
jSpeed=0;
}
if(keyCode === UP_ARROW){
mousesize += 25;
}
if (keyCode === DOWN_ARROW){
mousesize -= 25;
}
}
LOOPS AND ARRAY
Instructions
Left click to make more squares appear and right click to reset the artwork
​
Code:
var bxloc=[];
var byloc=[];
var xSpeed = [];
var ySpeed = [];
var numB = 5;
var bs;
function setup() {
// put setup code here
createCanvas(800, 500);
bs=20;
for(var i=0; i<numB; i++){
bxloc[i] = random(50, 700);
byloc[i] = random(100, 400);
xSpeed[i] = random(-5, 15);
ySpeed[i] = random(-5, 15);
}
}
function draw() {
background(225,10);
if (mouseIsPressed) {
if (mouseButton === LEFT) {
fill(255, 255, 255);
noStroke();
ellipse(mouseX, mouseY, bs, bs,mouseIsPressed,mouseButton);
numB = numB + 1;
bxloc.push(mouseX);
byloc.push(mouseY);
xSpeed.push(random(-5, 5));
ySpeed.push(random(-5, 5));
}
if (mouseButton=== RIGHT){
numB= 0;
background(0);
}
}
for (var i=0; i<numB; i++){
noStroke();
rect(bxloc[i], byloc[i], 50, 50);
}
sR = random(150,0,0);
sG = random(0,150,0);
sB = random(0,10);
fill(sR,sG,sB);
ellipse(mouseX, mouseY, bs, bs);
for (var i=0; i<numB; i++){
bxloc[i] = bxloc[i] + xSpeed[i];
byloc[i] = byloc[i] + ySpeed[i];
//horizontal bounce
if ((bxloc[i] > 800) || (bxloc[i] < 0)){
xSpeed[i] = -xSpeed[i];
}
if ((byloc[i] > 500) || (byloc[i] < 0)){
ySpeed[i] = -ySpeed[i];
}
}
}
ALGORITHM
On Youtube it's hard to post songs to avoid copyright and youtubers have to avoid using certain words and inappropriate content to avoid getting their video taken down. Youtubers still have a rough time with Youtube guide lines. Logan Paul a popular youtuber who was considered as the "golden boy" at the time in youtube, posted inappropriate content and didn't get in trouble by the guide lines. Then one day Logan Paul posted a video of being in suicide forest and filmed a dead body that was hanged in Japan. The video was trending number one and a bunch of youtubers had a problem for the video being inappropriate and inhumane. The video stayed for a while and the media had an uproar of responses. Logan Paul himself took the video down instead of the website. The algorithm didn't catch Logan Paul inappropriate video which is a problem, because non popular youtubers are easily affected by YouTube guidelines, but not Logan Paul. This is the companies fault for not taking care of Logan Paul's video and making it trend on the website.
​
ART PROJECT 2 (ROUGH DRAFT)
Created an artwork that can be clicked on causing several circles to move. I'm still working on the mouse pressing, I'm trying to make multiple objects clickable causing for other objects to move. For now there's only one clickable feature on the project which makes all shapes move.