Difference between revisions of "Digital Tube Control"

From Microduino Wiki
Jump to: navigation, search
(Created page with "{| style="width: 800px;" |- | ==Objective== The course will show you how to use Processing to control a common cathode digital tube. ==Equipment== *'''Microduino-Core''...")
 
 
Line 27: Line 27:
 
==Debugging==
 
==Debugging==
  
Step 1:Build the hardware environment according to the schematic, just like this:
+
Step 1: Build the hardware environment according to the schematic, just like this:
 
[[File:processing7SegmentConnectionDiagram.jpg|600px|center|thumb]]
 
[[File:processing7SegmentConnectionDiagram.jpg|600px|center|thumb]]
  
Line 37: Line 37:
 
Microduino:
 
Microduino:
  
Using Firmata's StandardFirmata program.  
+
Using Firmata's Standard Firmata program.  
  
 
Processing:
 
Processing:
Line 70: Line 70:
 
     leds[i].display();
 
     leds[i].display();
 
      
 
      
     //draw segemnt lables
+
     //draw segemnt labels
 
     text (segmentLables[i], leds[i].xpos, leds[i].ypos);  
 
     text (segmentLables[i], leds[i].xpos, leds[i].ypos);  
 
      
 
      
Line 81: Line 81:
 
   }
 
   }
  
Step 3:Download the code and get it compiled successfully.  
+
Step 3: Download the code and get it compiled successfully.  
  
Step 4:There will appear eight led lights in Processing after the system goes smoothly. Please click each led and see the response of the digital tube.  
+
Step 4: There will appear eight led lights in Processing after the system goes smoothly. Please click each led and see the response of the digital tube.  
  
 
==Result==
 
==Result==

Latest revision as of 09:29, 13 September 2016

Objective

The course will show you how to use Processing to control a common cathode digital tube.

Equipment


  • Other Hardware Equipment
    • A USB cable
    • A common cathode digital tube
    • A box of jumpers
    • A resistor of 10K Ω

Schematic

Processing7SegmentSchematics.jpg

Program

https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Processing/ProcessingSegment

Debugging

Step 1: Build the hardware environment according to the schematic, just like this:

Processing7SegmentConnectionDiagram.jpg


Step 2: Here is the code needed:

The code the two ends(Processing and Microduino)

Microduino:

Using Firmata's Standard Firmata program.

Processing:

//Define eight led lights to indicate a digital tube.

 LED[] leds = new LED[8]; // An array of 8 led objects!

//Define Microduino pins of the corresponding digital tube pins (1,2...10).

 int microduinoPins[] = {//Correspondence microduino pin for 7 segment 
   11,2,4,5,6,7,9,10};

//Define the name of each segment LED digital tube

 String segmentLables[]={"1-e","2-d","3-c","4-dp","5-b","6-a","7-f","8-g"};


//Initialize and draw each led in setup().

 for (int i = 0; i < leds.length; i ++ ) { // Initialize each led and output pin using a for loop.
   arduino.pinMode(microduinoPins[i], Arduino.OUTPUT); 
 }
 
 leds[0] = new LED(50, 350, 50,200,1);
 leds[1] = new LED(100, 550, 200,50,2);
 leds[2] = new LED(300, 350, 50,200,3);
 leds[3] = new LED(350, 550, 50,50,4);
 leds[4] = new LED(300, 100, 50,200,5);
 leds[5] = new LED(100, 50, 200,50,6);
 leds[6] = new LED(50, 100, 50,200,7);
 leds[7] = new LED(100, 300, 200,50,8);

//Draw the digital tube in draw(), judge the status of the led lights, and send the current status to Microduino

 for (int i = 0; i < leds.length; i ++ ) { // Run each Car using a for loop.
   leds[i].display();
   
   //draw segemnt labels
   text (segmentLables[i], leds[i].xpos, leds[i].ypos); 
   
   if (leds[i].button) {//switch led on/off
     arduino.digitalWrite(microduinoPins[i], Arduino.HIGH);
   }
   else {
     arduino.digitalWrite(microduinoPins[i], Arduino.LOW);
   }
 }

Step 3: Download the code and get it compiled successfully.

Step 4: There will appear eight led lights in Processing after the system goes smoothly. Please click each led and see the response of the digital tube.

Result

Click the mouse and the corresponding digital tube led will turn on or off, as follows:

Processing7SegmentResult1.jpg

Video