BS2-IC from PARALLAX >> Specification: BASIC Stamp 2 Microcontroller. Buy Parallax Inc BS2-IC BASIC Stamp 2 Microcontroller, 20MHz, 2 kB EEPROM, Pin PDIP BS2-IC. Browse our latest microcontrollers offers. Free Next Day. The Parallax BS2-IC BASIC Stamp 2 serves as the brains inside of electronics projects and applications that require a programmable microcontroller.
|Published (Last):||5 October 2008|
|PDF File Size:||7.16 Mb|
|ePub File Size:||19.8 Mb|
|Price:||Free* [*Free Regsitration Required]|
For the more advanced part of the following review, a text file is provided with the source code for a tiny operating system and drivers for a parallel LCD unit and a synchronous serial bus I2C connected to a real-time clock RTC with a temperature-controlled crystal oscillator TCXO. The downside is that the “HomeWork Board” can’t be used to program an actual BS2 for permanent installation in a less bulky standalone project.
The installation puts a “Basic Stamp Editor v2. The first time you run that software, it asks you if you want to associate the related file types to it.
At startup, you’re shown one of 36 “tips of the day”. Then, we click “Getting Started” on the left-hand column. The first task is to identify your board. Since the unit has no power switch, you must disconnect the battery to turn it off.
Before I even touched this unit or looked at the online documentation, I had a few fun applications in mind for this initial review. One of them was generating DTMF tones.
BS2-IC (Parallax) BASIC Stamp 2 Microcontroller Module
It works fine by presents one design flaw: A better solution is to connect the bicolor LED between P1 and something whose polarity is opposite to that of P1 when P1 isn’t in the high-impedance state. At first, we may be satisfied with just one stage and a single capacitor. It’s certainly not necessary to have access to an oscilloscope to use the Stamp. However, a few oscillosope screenshots will help illustrates the concepts we have to teach now.
This is how the Stamp generates siwaves and dual tones. Let’s use an example to design, once and microcontrkller all, a proper audio output for our microcontroller.
A simple first-order lowpass filter is used for the preliminary demonstration. We dedicate a pin to properly trigger a Rigol DSE oscilloscope: The rising and falling edges of the trigger signal need not be adjacent. Such filters are typically third-order or better So far, we have decoded the PWM digital output from the microdontroller into a good analog signal. Unfortunately, it did not. So, we have to find some hardware solution to the problem of allowing software to control the audio volume.
As a purely analog project, that would be a fairly intricate endeavor, well beyond our current scope. Filtering that square wave will result in a signal proportional to the DC level used.
The first step is to produce a steady analog voltage from a PWM signal on some other pin. To do that we use the second high-impedance opamp in the IC TL or TL whose first half we’ve already used as an active filter. The charge on the capacitor has essentially nowhere to go when the microcontroller pin is in its high-impedance state. So, we have a constant voltage at the output of the operational amplifier which will take a very long time to decay We’ll make our wiring compatible with one of the configurations supported by Parallax in the aforementioned specialized LCD primitives.
Then, we’ll discuss PBASIC software to support that configuration and turn the whole thing into the educational experience it was meant to be. I don’t recommend that shortcut at all.
BASIC Stamp – Wikipedia
A priori, we had four choices vs2 the HDA enable signal: The rest of the wiring would have used pins for the first two cases enable on P0 or P1 and pins in the other cases. LCD units without backlighting have connectors with only 14 pins instead of. If Vee is too low, off-pixels are visible. Because the optimal “Vee” depends on temperature, it’s somewhat unpredictable and the user should be able to adjust it with a trimmer.
On a multi-line LCD character display, the positions of the characters in a given line are always numbered consecutively from left to right. What varies from one LCD to the next are the numbers assigned to the first character of each line. The displays that feature 4 lines of 20 characters behave as if they consisted of 2 lines of 40 characters.
However, this is not the way direct-access indices are organized. Instead, the beginnings of the two lines are respectively at addresses 0 and The two sets of forbidden entry points at the “end” of either line and behave exactly like the valid beginning of the next line 64 and 0, respectively. Both forbidden sets are skipped when the LCD is accessed sequentially, by autoincrementing. If you must know, so do the codes of the custom characters. In practice, this means that the characters you defined for codes 0,1, Instead, the data lines sport 30k pull-up resistors, which the designer should keep in mind when sharing this bus with ba2 devices.
The following BS2 program fragment is meant to visualize on the oscilloscope what time is leftover in the worst case That’s all there is to it Its width can easily be measured to be about This means the clock of the tested LCD unit is a multiple of We’re already halfway into this with the LCD provided above.
In this section, we’ll complete the process by endowing the unit with a key keypad. After this, the resulting standalone device microconrroller an enclosure and a name: The supporting software will recognize possible input combinations from this: The idea will then be to use this in a carefully designed menu system, with or without the feedback of the LCD display. Clearly, the unit could have been designed to combine the output microcontrller input functions on a single pin.
Such single-pin devices are indeed available but they happen to be much more expensive than the unit reviewed here Ultrasound sensors on SensorWiki: Time, speed Doppler shift and attenuation of ultrasound. The signal will microcongroller creep to the left if the clock is fast or to the right if it’s slow. Then the drift seemed to stop when the temperature as measured by the chip itself dropped only a quarter of a degree The data sheet says that the oscillator can be trimmed in steps of roughly 0.
If found the influence of the aging register, if any, to be far less than that in the conditions described above. It looks as though the chip is significantly more precise than what’s described in the datasheet, but less adjustable Because of the above considerations, this is now moot.
This is toggled whenever the century changes, to deal with potential bugs at the beginnings of the years, etc. Remember the Y2K millennium bug? That’s only two bits, but the DS doesn’t have them. The DS will therefore fail on the first day of March in, The first bad day for the DS comes only 59 days after the DS will fail for lack of a “century toggle”.
The slave changes the state of the data line SDA in blue, just after each clock pulse. Note that the BS2 uses push-pull on both bus lines in the relevant primitive, instead of the open-collector architecture I2C is based on. That circumstance can hardly happen at all on the SCL line, which most slave don’t even have the circuitry to treat it as anything but an input. A few slaves may be able to “hold the clock” low to tell a fast master to wait during high-speed transfers.
BASIC Stamp 2 Microcontroller Module | BS2-IC | Parallax Inc
This type of protocal is beyond the scope of this article. Don’t even think of allowing the BS2 to share an I2C bus with other masters or with slaves that can “hold the clock”. In practice, this word of caution only applies to the writing counterpart of the 9-bit read discussed above.
If the BS2 chooses to overwrite that bit, it better be a zero. In other words, don’t EVER use the following instruction unless you are absolutely sure that “frame” is even! The logical state of either line is thus high by default and becomes “0” only when it’s actively pulled to ground by a conducting transistor.
They currently do not support bit addressing or high speeds. Many implementations no not follow the official SMB recommendation of pull-up resistors of 14k or more in 5V systems which forces sluggish operations. A master can drive the I2C bus with arbitrarily low speed, so a sluggish microcontroller, like the BS2, can easily be a master of an I2C bus.
An I2C slave device must be able of recognize its own address quickly to respond to a master’s request. The slave is responsible for issuing an ACK bit after each byte transferred.
A slave can deny access to a master at any part of a write transaction from the master’s perspective or at the beginning of a read request simply by doing nothing, instead of pulling SDA low before the master issues its ninth clock pulse. Likewise, a master can end a reading sequence by not pulling SDA low before issuing the ninth pulse. However, no part of the I2C protocol allows a slave to request termination of a read sequence once it has started. For some obscure reason, the latter solution is more popular than the former.
The procedure described below should be made part of the initialization routine of any microcontroller with a reset button or any microcontroller which can be powered down independently of some devices connected to its I2C bus. Making the following procedure part of the microcontroller initialization will remedy that situation and put any interrupted interface back to its normal state after every microcontroller reset.
At this point, we can simply pull SDA low to generate a start condition. Instead, a mecanism is provided which can check for some predetermined event after the execution of every Microconrtoller instruction. It’s the next best thing. Other Similar Parallax Products: Otherwise, the and the board we’re reviewing here are equally suited as starter sets.
There are legacy serial versions of both units, which we’ll ignore here.