Difference between revisions of "Resistance meter"

From Microduino Wiki
Jump to: navigation, search
(Objective)
(Objective)
Line 4: Line 4:
 
==Objective==
 
==Objective==
  
The course will show you how to use Processing software to display the value of the resistance meter in the form of graph, and the resistance meter can be achieved by Microduino.
+
The course will show you how to use Processing software to display the value of the resistance meter in the form of the graph, and the resistance meter can be achieved by Microduino.
  
 
==Equipment==
 
==Equipment==

Revision as of 08:13, 6 June 2014

Objective

The course will show you how to use Processing software to display the value of the resistance meter in the form of the graph, and the resistance meter can be achieved by Microduino.

Equipment

  • Other Hardware Equipment
    • A USB cable
    • A 20k Ω resistor
    • A 104 ceramic capacitor
    • A bread board
    • A box of jumpers


Schematic Diagram

ResistanceMeterSchematics.jpg


Program

Referring to ResistanceMeter

processingResistanceMeter

Debugging

Step 1:Building hardware environment according to the schematic diagram, just as follows:

IResistanceMeterConnectionDiagram.jpg


Step 2:Here is the code we need:

The code of two ends (Processing and Microduino)

Microduino:

//Using filter algorithm to calculate resistance and displaying the data on Processing via serial output.

 //filter Algorithm
 float filter()
 {
   float sum = 0;
   for(int count = 0; count < N; count++)
   {
     sum += r;
     delay(5);
   }
   return (float)(sum / N);
 }

Processing:

//After getting the data of the first serial port, you can define or cache the data if there is a new line.

// is always my Microduino, so I open Serial.list()[0].
// Open whatever port is the one you're using.
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil('\n'); // Trigger a SerialEvent on new line

//On the screeen, displaying the data received from Microduino in the form of graph and marking scale.

 String val = myPort.readStringUntil('\n');
 if (val != null) {
   if ("Infinity!!".equals(val)) {
     unit="resistancetoo big";
   } 
   else {
     if ("K ohm".equals(val)) {
       unit="K ohm";
     }
     else if (" ohm".equals(val)) {
       unit=" ohm";
     }
     else {
       val = trim(val);
       println(val);
       resistance=Float.parseFloat(val);
     }
   }
 }
 vals[vals.length-1] = 200-resistance;
 //Display scale
 text ( "200-", 370, 10); 
 text ( "--", 370, 50); 
 text ( "100-", 370, 100);
 text ( "--", 370, 150); 
 text ( "0-", 370, 200); 
 //show current num
 text ( resistance+unit, 0, 10);

Step 3:Uploading the code and compiling it successfully.

Step 4: Putting the resistor ready to measure between the yellow and the black lines on the graph, watching resistance on Processing.

Result

The graph will display the current resistance.

IResistanceMeterResult.jpg


Video