Figure 3-3. Setting the project’s .NET Micro Framework properties
Visual Studio will now deploy your first Netduino app to the Netduino hard-
ware. In a few seconds, you’ll see the blue LED (Figure 3-4) blinking on and
off every half second.
Figure 3-4. The Netduino’s onboard LED
20
Getting Started with Netduino
Batch convert pdf to jpg - Convert PDF to JPEG images in C#.net, ASP.NET MVC, WinForms, WPF project
How to convert PDF to JPEG using C#.NET PDF to JPEG conversion / converter library control SDK
convert pdf to jpg file; bulk pdf to jpg
Batch convert pdf to jpg - VB.NET PDF Convert to Jpeg SDK: Convert PDF to JPEG images in vb.net, ASP.NET MVC, WinForms, WPF project
Online Tutorial for PDF to JPEG (JPG) Conversion in VB.NET Image Application
convert pdf to jpg 100 dpi; change pdf to jpg image
NOTE: When you started your Netduino app, it was
written into the Netduino’s microcontroller chip’s
flash memory, so all you have to do to run the pro-
gram again is plug it in via a MicroUSB cable or with
a power adapter (using the power barrel jack). You
can write over your Netduino App. Visual Studio will
automatically stop and erase your current Net-
duino App whenever deploying a new one.
Now that you’ve successfully written a simple Netduino app and controlled
an LED by sending it digital output of high (true) and low (false) voltages,
you’re ready to learn how to read digital input signals.
Pushing the Onboard Button
Both Netduino and Netduino Plus have an on onboard pushbutton labeled
SW1. You can read the digital value of this pushbutton—true or false—to
determine whether it is currently being pushed. Then you can take actions
based on that pushbutton’s current state, such as turning an LED on and off
or instructing a Netduino-powered robot to start moving its motors.
NOTE: By default, this pushbutton will reboot your
Netduino and restart your current Netduino app.
But because of a special configuration in the Net-
duino’s circuitry, it can alternatively be used as a
digital input.
In Visual Studio, create a new project by selecting New Project in the File
menu. Select Netduino Application as the template as before, and give your
project a name such as “Pushbutton1.” Finally, double-click on Program.cs
in the Solution Explorer to begin editing it.
In the main section of the Visual Studio editor, you are again editing Pro-
gram.cs. Click on the line underneath the text // write your code here.
Now, type the following:
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
InputPort button = 
new InputPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled);
bool buttonState = false;
First Projects
21
C# Create PDF from images Library to convert Jpeg, png images to
Batch convert PDF documents from multiple image formats, including Jpg, Png, Bmp, Gif, Tiff, Bitmap, .NET Graphics, and REImage.
batch pdf to jpg online; reader pdf to jpeg
VB.NET PDF Convert to Images SDK: Convert PDF to png, gif images
VB.NET components for batch convert high resolution images from PDF. Convert PDF documents to multiple image formats, including Jpg, Png, Bmp, Gif, Tiff, Bitmap
convert pdf to high quality jpg; convert pdf to jpg 300 dpi
As with the previous example, the first line of code creates an Output
Port so that you can turn the onboard LED on and off.
The second line of code creates an InputPort. An InputPort lets you read
the voltage level of the pins on the Netduino (or in this case, the voltage
coming from the pushbutton). Pins.ONBOARD_SW1 is shorthand that tells
the Netduino which pin of the microcontroller to use for input. The second
value, false, tells the runtime that you don’t need glitch filtering (if you
enable it, Netduino will take multiple readings during a button press to
make sure the reading is correct). The final value, Port.ResistorMode
.Disabled indicates that Netduino won’t use a built-in resistor to affect
incoming signals on the microcontroller’s digital pin.
NOTE: I explore the resistor mode in greater de-
tail later in “Pushing the MakerShield’s But-
ton” on page 34.
The third line of code creates a variable named buttonState. A variable is
a way to store and manipulate data in the memory of the Netduino. In this
case, the app stores whether or not the Netduino’s pushbutton is cur-
rently being pushed in the buttonState variable. The word bool, which
precedes the variable, indicates that buttonState will store a Boolean
value. Boolean values are values that are true or false, perfect for this
application. Finally, = false sets the state of the value to false, by default.
It’s generally a good idea to set variables to a default value so that you
make your intentions clear to anyone else (including you!) who reads the
source code in the future.
Now you’re going to read the state of the pushbutton and turn the LED on
and off as the pushbutton is pushed and released. First, create an infinite
loop as before. Add the following code to your project:
while (true)
{
}
22
Getting Started with Netduino
JPEG to PDF Converter | Convert JPEG to PDF, Convert PDF to JPEG
JPEG to PDF Converter is able to convert image files to PDF directly without the software Adobe Batch conversion is supported by JPEG to PDF Converter.
convert pdf file into jpg format; convert pdf document to jpg
JPG to GIF Converter | Convert JPEG to GIF, Convert GIF to JPG
speed JPEG to GIF Converter, faster than other JPG Converters; output files with high good quality; Batch process mode support; let you convert a hundred of
batch pdf to jpg converter online; pdf to jpg
Then, read the current state of the pushbutton and write out that state to
the LED. Between the two sets of curly braces, insert the following two lines
of code:
buttonState = button.Read();
led.Write(buttonState);
Your final program’s Main() method should look like this:
public static void Main()
{
// write your code here
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
InputPort button = 
new InputPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled);
bool buttonState = false;
while (true)
{
buttonState = button.Read();
led.Write(buttonState);
}
}
Now, you’re almost ready to run the app, press the pushbutton, and use it
to control the state of the LED. But first, you need to make sure you’re de-
ploying the project to the Netduino instead of to the built-in emulator. Click
on the Project menu and select your project’s properties. Then click on
the .NET Micro Framework category on the left side. Change the Transport
from Emulator to USB, and then make sure that the Device selection box
shows your Netduino.
Now run your project. Press the Start Debugging button in the toolbar at the
top of the screen or press F5.
After a few seconds, your Netduino app will be running. Once the blue LED
turns off, you know that your board has booted. Press the pushbutton, and
the blue LED will turn on. Release the pushbutton, and the blue LED will turn
back off. Congratulations!
First Projects
23
JPG to DICOM Converter | Convert JPEG to DICOM, Convert DICOM to
Select "Convert to DICOM"; Select "Start" to start conversion How to Start Batch JPEG Conversion to DICOM. JPEG to DICOM Converter first; Load JPG images from
c# convert pdf to jpg; convert pdf file to jpg
JPG to JBIG2 Converter | Convert JPEG to JBIG2, Convert JBIG2 to
Ability to preserve original images without any affecting; Ability to convert image swiftly between JPG & JBIG2 in single and batch mode;
best way to convert pdf to jpg; .pdf to jpg
NOTE: The Netduino’s pushbutton uses a special
wiring configuration to enable it to act as both a re-
set button and a digital input. It also technically
sends a low voltage when pushed even though your
code will see a value of true. These values are re-
versed for the pushbutton inside the Netduino firm-
ware; they are logical values instead of physical
values.
Early versions of the Netduino firmware did not re-
verse the physical values. If your Netduino’s LED
exhibits the reverse behavior when you run this
sample, you can either update your firmware or
change the code from:
buttonState = button.Read()
to:
buttonState = !button.Read()
The exclamation mark before the word button re-
verses the result.
Conclusion
You’ve now created, deployed, and run your first Netduino projects. You can
unplug the Netduino from your computer and demonstrate your first
projects to others.
24
Getting Started with Netduino
JPG to Word Converter | Convert JPEG to Word, Convert Word to JPG
Select "Convert to Word"; Select "Start" to start conversion How to Start Batch JPEG Conversion to Word. Open JPEG to Word Converter first; Load JPG images from
convert pdf page to jpg; convert multiple pdf to jpg online
JPG to JPEG2000 Converter | Convert JPEG to JPEG2000, Convert
Select "Convert to JPEG2000"; Select "Start" to start conversion How to Start Batch JPEG Conversion to JPEG2000. to JPEG2000 Converter first; ad JPG images from
convert .pdf to .jpg; change pdf file to jpg
7/Sound and Motion
Speakers generate sounds by vibrating.
You can generate those sound vibrations with the same PWM feature you
used in Chapter 6 to adjust the intensity of LEDs. By changing the period and
length of pulses, you can change the frequency of the sounds. And by using
pulses that correspond to musical notes, you can play songs.
You can also use the length of pulses as a signal to a servo (motor), setting
the servo to certain angular positions through specific pulse lengths.
Making Music
To play a song, you’ll need a speaker. For this example, use a common and
inexpensive piezo speaker.
Wire up the piezo’s positive wire to pin D5 on your Netduino. Wire up the
piezo’s negative (ground) wire to the GND pin on your Netduino. Figure 7-1
shows the connections.
NOTE: Some piezos have legs rather than wires. In
most cases, one leg is longer than the other, and the
long leg is positive. There may also be faint mark-
ings on the piezo indicating which is positive and
which is negative. If in doubt, check your piezo’s in-
structions or datasheet for proper wiring.
53
Figure 7-1. Connecting the piezo
Create a new Netduino project. Add the following code to the top of your
Main routine:
// store the notes on the music scale and their associated pulse lengths
System.Collections.Hashtable scale = new System.Collections.Hashtable();
54
Getting Started with Netduino
// low octave
scale.Add("c", 1915u);
scale.Add("d", 1700u);
scale.Add("e", 1519u);
scale.Add("f", 1432u);
scale.Add("g", 1275u);
scale.Add("a", 1136u);
scale.Add("b", 1014u);
// high octave
scale.Add("C", 956u);
scale.Add("D", 851u);
scale.Add("E", 758u);
// silence ("hold note")
scale.Add("h", 0u);
I’m introducing a new concept here called a Hashtable. A Hashtable is a
collection of keys and values. The keys here are the notes, and the num-
bers are the pulse length values. Hashtables make it easy to look up values
by specifying their keys. You’ll do this later by looking up notes and getting
back their pulse length values.
The “u” after each value signifies that the values should be stored as un-
signed integers (whole numbers). You could store this data in other ways,
but this makes the sample simpler to understand later on.
NOTE: These note values are calculated by the
equation 1 / (2 * toneFrequency).
toneFrequency is the number of cycles per sec-
ond for a specific note. You can extend this scale
further if desired.
Next, specify the speed of the song. You’ll specify this in beats per minute,
a common measurement for music.
int beatsPerMinute = 90;
int beatTimeInMilliseconds = 
60000 / beatsPerMinute; // 60,000 milliseconds per minute
int pauseTimeInMilliseconds = (int)(beatTimeInMilliseconds * 0.1);
To calculate the beatTime (length of a beat) in milliseconds, divide 60,000
(the number of milliseconds in a minute) by the number of beats per minute.
And since you want a tiny bit of pause in between each note (so that the notes
don’t all blur together), multiply the beat length by 10% to create a pause
length. Later on, you’ll subtract 10% from the beat length and insert this
pause instead, keeping a steady rhythm but making the song more pleasant.
Sound and Motion
55
NOTE: You casted the pause time to an integer
value. Integers are positive or negative whole num-
bers. Since 0.1 (10%) is a fractional number and not
a whole number, you need to do this explicitly. The
programming language is smart and realizes that
you might lose a little bit of accuracy by ending up
with a few tenths of a number that can’t be stored
in an integer. So it requires that you explicitly cast
the product into an integer to show you know that
you might lose some precision.
Now, define the song. This song involves animals on a farm and the sounds
that they make:
// define the song (letter of note followed by length of note)
string song = "C1C1C1g1a1a1g2E1E1D1D1C2";
The song is defined as a series of notes (upper-case for higher octave, lower-
case for lower octave) followed by the number of beats for each note. For
the musicians’ reference, one beat is a quarter note in this instance and two
beats is a half note, in 4/4 time.
Now that you have a musical scale and a song, you need a speaker to play
them. You’ll add one here:
// define the speaker
PWM speaker = new PWM(Pins.GPIO_PIN_D5);
You’re all set to play the song. Create a loop that reads in each of the note/
length entries in the song string, and then plays them by generating specific
pulses for the piezo using PWM.
Create a loop:
// interpret and play the song
for (int i = 0;
i < song.Length;
i += 2
)
{
// song loop
}
The first part of the for statement, int i = 0, establishes the variable i
as a position counter in the encoded song’s string.
The middle part of the statement, i < song.Length, repeats the loop until
you’ve finished playing the song.
The third part of the statement, i += 2, moves the position forward by
two places (the size of a note/length pair) each time through the loop.
56
Getting Started with Netduino
Inside this loop, you’ll extract the musical notes and then play them. Inside
the pair of curly braces, add the music interpreter/player code:
// extract each note and its length in beats
string note = song.Substring(i, 1);
int beatCount = int.Parse(song.Substring(i + 1, 1));
The first line reads the note out of the song string at the current position, i.
Song.Subtring(i, 1) means “the string data starting at position i, length
of 1 character.”
The second line reads the beat count of the song string. It reads the beat
count at one position beyond the note. Then, it uses int.Parse() to trans-
late this letter into an integer number that you can use. This is needed
because you can’t do math with letters, and you’ll need to do a bit of math
with the beat count shortly.
Now that you have the note, look up its duration:
// look up the note duration (in microseconds)
uint noteDuration = (uint)scale[note];
By passing in the letter (the variable note), you get back the noteDuration.
Lookup is a powerful feature of C# that can be used for many purposes.
Whenever you retrieve a value from a collection (a Hashtable in this in-
stance), you need to explicitly cast it since the programming language wants
to be sure it knows what it’s getting.
Now, play the note:
// play the note for the desired number of beats
speaker.SetPulse(noteDuration * 2, noteDuration);
Thread.Sleep(
beatTimeInMilliseconds * beatCount - pauseTimeInMilliseconds);
SetPulse is another PWM feature (in addition to SetDutyCycle, which you saw
in Chapter 6). It sets a period of twice the noteDuration, followed by a dura-
tion of noteDuration. This will generate a pulse at the frequency required to
sound the desired note.
You use Thread.Sleep to keep the note playing for the specified number of
beats. You subtracted pauseTimeInMilliseconds from the note’s sounding
time so that you can pause a tenth of a beat and make the music more
pleasant.
Now that you’ve played the note, go ahead and insert that one-tenth beat
pause:
// pause for 1/10th of a beat in between every note.
speaker.SetDutyCycle(0);
Thread.Sleep(pauseTimeInMilliseconds);
Sound and Motion
57
Documents you may be interested
Documents you may be interested