xxxxxxxxxx
104
var cmn_AC = true;
var seg_g = false;
var seg_f = false;
var seg_e = false;
var seg_d = false;
var seg_c = false;
var seg_b = false;
var seg_a = false;
function mousePressed(){
if(mouseX >= 50 && mouseY >= 50 && mouseX <= 110 && mouseY <= 60){
seg_a = !seg_a;
}
else if (mouseX >= 50 && mouseY >= 65 && mouseX <= 60 && mouseY <= 125) {
seg_f = !seg_f;
}
else if (mouseX >= 100 && mouseY >= 65 && mouseX <= 110 && mouseY <= 125) {
seg_b = !seg_b;
}
else if (mouseX >= 50 && mouseY >= 130 && mouseX <= 110 && mouseY <= 140) {
seg_g = !seg_g;
}
else if (mouseX >= 50 && mouseY >= 145 && mouseX <= 60 && mouseY <= 205) {
seg_e = !seg_e;
}
else if (mouseX >= 100 && mouseY >= 145 && mouseX <= 110 && mouseY <= 205) {
seg_c = !seg_c;
}
else if (mouseX >= 50 && mouseY >= 210 && mouseX <= 110 && mouseY <= 220) {
seg_d = !seg_d;
}
else if (mouseX >= 200 && mouseY >= 65 && mouseX <= 350 && mouseY <= 105) {
cmn_AC = !cmn_AC;
}
}
function drawSeg(x, y, l, b, segStat, segName){
if(segStat){
fill('green');
} else {
fill('grey');
}
rect(x, y, l, b, 20);
fill('black');
textSize(12);
if( segName == 'a' || segName == 'g' || segName == 'd'){
text(segName, (x+(l/2)-4), (y+(b/2)+4));
} else {
text(segName, (x+(l/2)-3), (y+(b/2)+4));
}
}
function btnAC(){
textSize(18);
if(cmn_AC){
fill('teal');
rect(200, 65, 150, 40, 20);
fill('black');
text('CMN Anode', 220, 90);
} else {
fill('red');
rect(200, 65, 150, 40, 20);
fill('black');
text('CMN Cathode', 212, 90);
}
}
function setup() {
createCanvas(400, 230);
textFont('Courier New');
}
function draw() {
background('white');
noStroke();
textSize(28);
fill(0, 102, 153);
text('Seven Segment Display', 10, 30);
drawSeg(50, 50, 60, 10, seg_a, 'a');
drawSeg(50, 65, 10, 60, seg_f, 'f');
drawSeg(100, 65, 10, 60, seg_b, 'b');
drawSeg(50, 130, 60, 10, seg_g, 'g');
drawSeg(50, 145, 10, 60, seg_e, 'e');
drawSeg(100, 145, 10, 60, seg_c, 'c');
drawSeg(50, 210, 60, 10, seg_d, 'd');
btnAC();
text('Segments:', 130, 140);
text('Binary :', 130, 160);
text('g-f-e-d-c-b-a',230,140);
if(cmn_AC){
text(str(int(!seg_g))+'-'+str(int(!seg_f))+'-'+str(int(!seg_e))+'-'+str(int(!seg_d))+'-'+str(int(!seg_c))+'-'+str(int(!seg_b))+'-'+str(int(!seg_a)),230,160);
}
else {
text(str(int(seg_g))+'-'+str(int(seg_f))+'-'+str(int(seg_e))+'-'+str(int(seg_d))+'-'+str(int(seg_c))+'-'+str(int(seg_b))+'-'+str(int(seg_a)),230,160);
}
textSize(14);
fill('grey');
text('Grey:LED Off', 130,210);
fill('green');
text('Green:LED On', 250,210);
}