Archive for May, 2009
Book Notes -> Transparency: How Leaders Create a Culture of Candor
Posted by Will Eatherton in Uncategorized on May 31st, 2009
by Warren Bennis; Daniel Goleman; James O’Toole; Patricia Ward Biederman

Publisher: John Wiley & Sons
Pub Date: June 13, 2008
Print ISBN: 978-0-470-27876-5
Web ISBN: 0-470278-76-5
Pages: 144
Review :
I am pretty sure I have read other books by Jame O’Toole. Overall the technology aspects of this book (blogging..) were pretty repeat for anyone in the sector. Key messages were around culture of communication both externaly and internally. How mgrs handle themselves day-day as far as sharing information, what behaviors they encourage as far as truth, clarity Vs groupthink/butt-kissing is definitely worth consideration.
The book helped me reflect on several points for myself, but overall wouldn’t say it was major impact book for me.
What i took Away from Book :
At this point I am leading a router development group at cisco (team is in 100’s of folks) and there are often fun complications in getting best information flow possible :
– the amount of information coming at engineers in my team is massive, I hate to add to pollution. Choosing what will help folks Vs pollute their mailbox requires consideration, often there is so much going on that just spending time each day/week considering what I shouldn’t pass on, what folks already know, what to pass on that useful is just not possible
– at any one time there are dozens of indepdent projects in flight around various parts of my team, I sometimes worry over focus, accolades, on specific ones will at times illict more overt focus on the projects I find most interesting (obviously I shuld use in
I don’t deal too much at all (very middle mgmt) with external cisco publicity. So many of the examples regarding corporate communication gone wrong were not as applicable to me. Probably most application would be relative to handling of Software releases, release notes, field notices … I overall am pretty happy with how my group handles this, but will keep notes from this book in mind in future on those fronts.
Thinking about Groupthink, hard to say if I encourage this much within my team. I definitely know of Mgmt teams that seem to have this issue in cisco.
❑ TODO : read Antigone
On the need for a corproate fool to question groupthink, to shake things up I have had similar view for some time. I have seen a person that was not a fool, but was ‘outside’ the normal development team in position of influence both organiationally and personality wise, and could really shake things up. He put mgmt and ‘mainstream’ technical leaders off kilter and could interestinly really make some interesting things happen.
– there is a flip side, a # of times, the influence of this person could cause some folks to be particularly off center (not doing their best) and there were some distortions of reality that at times were unhealthy
– I view it is good to have some chaotic elements in any process/org that when needed can shake things up. BUt would guess that the organism of modern corporate entities will push such people away from influence.
I believe a major problem among execs I see today is the fear of taking action with a view there is more to lose from failed action then is lost by taking no action at all.
I think I do ok at this, but I need to continually to be on lookout for folks that compliment me or subtly manipulate with unwarranted flattery. I know it happens and I know of few times I enjoyed it some without really realizing it until later. I dont want to encourage that behavior around me.
– there is a flip side of this which is to avoid the kissing up with relgion. There are some folks it can be particularly easy/tempting. I have done it in small bits I am sure over the years but try to shy away from it. I think the rule here shoudl be if you find yourself in position were kissing up is expected or seems like only way to compete then you are in bad situation and time to evaluate options.
Book Notes :
Chapters in the book :
CREATING A CULTURE OF CANDOR
SPEAKING TRUTH TO POWER
THE NEW TRANSPARENCY
Chapter 1. CREATING A CULTURE OF CANDOR
– Culture of candor is free flow of information so that everyone in compnay has right info when they need it
– Good information flow is rare
– Book talks about flow of info both internal to an organization with public. Gives examples were lack of public candor left to harm to firms reputation
– In past 20 years notes that democrats have declassifed governt info, and republicans have classified
– Blogs are hard for companies to control (lot info that seems repeated in many forms these days about new media impacts on companies)
+ by mid-2007 70 million blogs
– Quite a bit about CEO’s (usual Jobs discussions) and how much they communicate to public
– On internal transparency the authors call out that staff’s will soften/spin message to their leaders.
– interesting some companies have ‘transparency software’, software that allows employees to anonymously communicate issues, risks, unethical behavior, ..
– culture of a group can influence upwards transparency a lot (e.g. dont volunteer
– There is notion that what we learn in our families impacts transparency, ignore major issues “vital lies”
– there is notion that companies/familes make up coded langugage to deal with problems
– GroupThink : “Whenever a tight-knit decision-making group fails to collect all relevant data and candidly analyze it, bad decisions are liable to be made.”
+ uses bay of pigs as examples
+ another example : Failure of the C.I.A. to provide reliable evaluations of Iraq’s weapons and armed forces in the run-up to the second Iraq War.
+ Groupthink-driven decisions are the downside of a dynamic every organization seeks to build: group cohesiveness and pride in belonging.
– best way for leaders to start information flowing freely in their organizations is to set a good example. They must accept, even welcome, unsettling information.
–
Chapter 2. SPEAKING TRUTH TO POWER - Jame O’Toole
– For chapter title use example of Enron and Sherron Watkins, meaning is that is hard to speak truth to people/groups in power.
– Talks about story of ‘Antigone’ and how it raised complex ethical dilemas
– “groupthink, a state of collective denial or self-deception that often has disastrous business and ethical consequences.”
– “People in organizations typically form shared ideas—”collective representations” in the language of social anthropology—and all the forces of the group conspire to protect those notions, no matter how inaccurate or outmoded they may be, or may become.”
+ example of US automakers self defeatuing notion that consumers didnt care about quality, and japanese eating their lunch
– When Verne Morland was an executive at NCR in the 1980s, he suggested that all companies could benefit from hiring a “corporate fool.”
+ would be obligated to “stir up controversy, respect no authority, and resist pressures to engage in detailed analyses.” (
– Fear of punishment by tyrannical leaders causes many managers to become risk averse. To free his people from such crippling fears, Percy Barnevik issued these “General Principles of Management Behavior” when he became CEO of ABB in the 1980s:
+To take action (and stick out one’s neck) and do the right things is obviously the best.
+ To take action and do the wrong things (within reason and a limited number of times) is second best.
+ Not to take action (and lose opportunities) is the only non-acceptable behavior.[]
– Whenever followers are asked to rank what they require of leaders, trust is always at the top of the list. But leaders can’t provide trust directly to followers. Instead, trust is an outcome of all a leader’s accumulated actions and behaviors.
+ leaders must do several practical things: provide equal access to information to all, refrain from punishing those who constructively demonstrate imperial nakedness, refrain from rewarding spurious loyalty, and empower and reward principled contrarians.
– Perhaps the main reason why so many leaders stubbornly refuse to listen to subordinates is that they fear the news they carry is of the boss’s own mistakes. Nobody likes to admit he is wrong but, as Lao Tsu wrote six hundred years before the birth of Christ, in the long run it is self-defeating for a leader not to do so:
A great nation is like a great man:
When he makes a mistake, he realizes it.
Having realized it, he admits it.
Having admitted it, he corrects it.
He considers those who point out his faults
As his most benevolent teachers.
He thinks of his enemy as the shadow that he himself casts.
– The book continues with a # of addiitonal depressing examples of George W Bush decision making issues. Amazing how common it is to use Bush as example of all things wrong.
– great unintentional harm can be done when speaking truthfully. That’s why managers find it so difficult to give candid performance appraisals to subordinates whose work is not up to par. Because giving negative feedback is nearly as unpleasant as firing people, most managers shy away from giving such appraisals even though they realize that an honest assessment of underperformance is in the interest of their organization and also of the subordinate receiving the bad news.
– The author James, gives personal example of ethical test were his mgmt were making bad decisions and he quit. He quit to avoid looking like he was disloyal and burning brdiges. He now wishes he had tried to work with them to fix things. And failing that tried to get company board to help fix.
–
Chapter 3. THE NEW TRANSPARENCY
– Opacity Index, launched in 2001
+ each country ranked
+ China is moving toward greater technology-driven openness. By 2008, China had 210 million Internet users and 47 million bloggers. And while the Chinese government diligently polices the Internet—limiting what people can access on Google, for instance—citizens are using the Internet to expose some of the most disturbing aspects of Chinese life.
+ More stuff on blogs that is pretty common knowledge
+ Talks about lack of privacy with new technology
Book Notes -> The Network Challenge: Strategy, Profit, and Risk in an Interlinked World
Posted by Will Eatherton in Uncategorized on May 30th, 2009
by Paul R. Kleindorfer; Yoram (Jerry) Wind; Robert E. Gunther
Publisher: Wharton School Publishing
Pub Date: June 16, 2009
Print ISBN-10: 0-13-701191-1
Print ISBN-13: 978-0-13-701191-9
Web ISBN-10: 0-13-702286-7
Web ISBN-13: 978-0-13-702286-1
Pages: 592

Review :
This book has a lot of authors, many from Business schools and such. Many times I find such books to be fairly disjoint and/or repetitive. After reading the outline of the book I decided to just try reading one chapter to start with (Ch18) which was ok but not cause for any major reflections on my part. Networks is such a general construct that to have a book that covers this range of network topics doesnt seem to be real useful to me. I don’t see reading the rest of the book.
What i took Away from Book :
Read this book with safari online.
Reding the outline of book looks like potentially a lot of fluff or repetitive mgmt stories from fat earth and such.
* Ch18 : Author’s may not be aware at places like Cisco IM is already integrated into work place. During typical work day I have IM windows up all day long and there is often lots of coordination of short (5) minute face-face on point issues, there is resolving of questions, approval/informational IM’s and seeking of information to help close a topic at a meeting to minimze the # of topics that are taken offline or require followup. A good meeting has couple concrete decisions, couple actions, and resolves as much as possible.
– One interesting thought is vast majority of my work IM is one-one. Occasionaly at a key customer meeting (teleconference or TP, usually not face-face), there might be a group IM, but otherwise 1:1. Usually mutliparty IM might move to email (or just too much effort to set up)
❑Looked into book : X-Teams : there is book on this by Ancona and Bresman 2007),
Book Notes :
* Intro
– Based on first few pages network for this book is meant to include internet, the applications on internet, and the general abstract notion (Flat earth) that everyone and companies are closer toogether with more communication then ever before.
– consumers have more information flow, facebook and such
* Bookoutline
+ Part I : innovation moving from firms to the network, examples in medical, challenges in knoledge mgmt, leadership in global enterprise,
+ Part II : power shifts from firms to networks, biological networks and lessons to learn
+ Part III : how to tap into global brain for innovation, complex products like planes/auto designed by network of team that are difficult to coordinate
+ Part IV : agent based simulation to understand networks, airbu/boeing using technology to coordinate wide supply networks, marketing with social networks, networks can be antennae to scan peripheral information and gather inteligence
+ Part V : orchestration of suppliers to allow ‘Li & Fung’ to be top global contract manufacturer without owning a single factory, I generation (Ch 18), HR reruiting and such in networked world, alliances between companies,
+ Part VI : global financial risks in ineterlinked world, airline security is only effectve as weakest link, logistical planning, telecom battles ATT Vs Google, political/social issues (Oil drilling)
+ Part VII ; global terrorism, disease spread in global world,
* CH18 Managing the Hyper-Networked “IM” Generation
– this chapter written by a computer scientist (Wharton), anthropologist, undergrad
– notes that for youth today IM can allow for more real time herding behavior, what is impact at work place when IM real time behavior becomes predominant ?
– Trends based on survey noted are that younger employees have better access to information, have better analytical tools (spreadsheet), have less confidence in information supplied by their company (drop)
– Younger emplolyess view their direct boss rules with authority (i.e. real knowledge and decision making) and boss of the boss is viewed as leading based on hierarchy, which book asserts allows young employees to place loyalty with their boss but avoid loyalty to their company
– X-Teams : there is book on this by Ancona and Bresman 2007), teams that are creative and can exisit within an orgainzation and sometimes outside the organization. Reduces company centric affiliation,
– Recommendations to deal with next generation of work force :
+ let networks self organize
+ open question how to handle networks that extend outside the company (IP issues)
+ Recognize leaders that emerge from shadow networks
+ immediate reword for success
+ consider how to allow loaners outside these netowkrs to have input, groputhink from IM type communication can be a problem
+ support latest tech within your company
PIR Motion Sensor Research
Posted by Will Eatherton in Uncategorized on May 24th, 2009
PIR Motion Sensor - Information pulled off the web
sku: SEN-08630
Description: This is a simple to use motion sensor. Power it up and wait 1-2 seconds for the sensor to get a snapshot of the still room. If anything moves after that period, the ‘alarm’ pin will go low.
Red wire is power (5 to 12V). Brown wire is GND. Black wire is open collector Alarm.
This unit works great from 5 to 12V (datasheet shows 12V). You can also install a jumper wire past the 5V regulator on board to make this unit work at 3.3V. Sensor uses 1.6mA@3.3V.
The alarm pin is an open collector meaning you will need a pull up resistor on the alarm pin. The open drain setup allows multiple motion sensors to be connected on a single input pin. If any of the motion sensors go off, the input pin will be pulled low.
The connector is slightly odd but has a 0.1” pitch female connector making it compatible with jumper wires and 0.1” male headers.
———————
@cloverstreet: I’ve seen it detect motion reliably up to ~20ft away. There is no need to reset the alarm, it doesn’t latch. The alarm pin is debounced (deflapped?) internally, and seems to cycle off on the order of a second or so.
Also, a slight warning about the datasheet (at least for my unit): If you’re not paying attention, and use the three silver pin latches to orient the connector it’ll be backwards. As the description says, red is power, brown is ground, and black is alarm.
———
This says you can use it down to 5V but it does not appear to be stable to me at this voltage. The output is bouncing all over the place. When I change the input to 12V it works perfectly.
Good web site at :
http://itp.nyu.edu/physcomp/sensors/Reports/PIRMotionSensor
——————————————————————
Dual sensor PIR is the most widely used motion detection system. They’re false-triggered less often than ultrasonic.
Changing the cover on it can change the range they cover.
They only react to change so they can’t detect someone standing still in front of them.
When using more than one, they can be connected on the same input to Arduino, however the values need to be normalized. I found it better to connect them to different analog inputs.
The PIR motion sensor needs a direct and uninterrupted line of sight. It’s unable to detect through cloth or cardboard.It detects movement in front of it from about 8 feet away.
As you can see it needs a resistor going to power for the Alarm Pin. This keeps the value at around 1023 while no infrared has been detected.
Sample code in Arduino
This code makes the LED on digital pin 11 blink as soon as the sensor goes lower than 20. The regular value without movement is above 1021, upon detecting it, it goes low to 17 - 18.
‘ // example for the PIR motion sensor SE-10
‘
‘ int timer = 500;
‘ int alarmPin = 0;
‘ int alarmValue = 0;
‘ int ledPin = 11;
‘ void setup () {
‘ Serial.begin (9600);
‘ pinMode(ledPin, OUTPUT);
‘ pinMode(alarmPin, INPUT);
‘ delay (2000); // it takes the sensor 2 seconds to scan the area around it before it can
‘ detect infrared presence.
‘ }
‘ void loop (){
‘ alarmValue = analogRead(alarmPin);
‘ if (alarmValue < 100){
‘ blinky(); // blinks when the motion has been detected, just for confirmation.
‘ }
‘ delay(timer);
‘ Serial.println (alarmValue);
‘ delay (10);
‘ }
‘ void blinky() {
‘ for(int i=0; i<3; i++) {
‘ digitalWrite(11,HIGH);
‘ delay(200);
‘ digitalWrite(11,LOW);
‘ delay(200);
‘ }
‘ }
——————————————————————
Arduino Board Research
Posted by Will Eatherton in Uncategorized on May 24th, 2009
Overview
The Arduino Duemilanove (”2009″) is a microcontroller board based on the ATmega168 (datasheet) or ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog input s, a 16 MHz crystal oscillator , a USB connectio n, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started.
Note My Board has ATmega328
“Duemilanove” means 2009 in Italian and is named after the year of its release. The Duemilanove is the latest in a series of USB Arduino boards; for a comparison with previous versions, see the index of Arduino boards.
Schematic & Reference Design
EAGLE files: arduino-duemilanove-reference-design.zip
Schematic: arduino-duemilanove-schematic.pdf
Summary
Microcontroller ATmega168
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed 16 MHz
Power
The Arduino Duemilanove can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board’s power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
* VIN. The input voltage to the Arduino board when it’s using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
* 5V. The regulated power supply used to power the microcontroller and other components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
* 3V3. A 3.3 volt supply generated by the on-board FTDI chip. Maximum current draw is 50 mA.
* GND. Ground pins.
Memory
The ATmega168 has 16 KB of flash memory for storing code (of which 2 KB is used for the bootloader); the ATmega328 has 32 KB, (also with 2 KB used for the bootloader). The ATmega168 has 1 KB of SRAM and 512 bytes of EEPROM (which can be read and written with the EEPROM library); the ATmega328 has 2 KB of SRAM and 1 KB of EEPROM.
Input and Output
Each of the 14 digital pins on the Duemilanove can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins have specialized functions:
* Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip.
* External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
* PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function. // Since analog outputs, guess the 8 bits sets level of output analog style
* SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language.
* LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on, when the pin is LOW, it’s off.
The Duemilanove has 6 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and the analogReference() function. Additionally, some pins have specialized functionality:
* I2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library.
There are a couple of other pins on the board:
* AREF. Reference voltage for the analog inputs. Used with analogReference().
* Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields which block the one on the board.
See also the mapping between Arduino pins and ATmega168 ports.
Communication
The Arduino Duemilanove has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega168 and ATmega328 provide UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An FTDI FT232RL on the board channels this serial communication over USB and the FTDI drivers (included with the Arduino software) provide a virtual com port to software on the computer. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being transmitted via the FTDI chip and USB connection to the computer (but not for serial communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the Duemilanove’s digital pins.
The ATmega168 and ATmega328 also support I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. To use the SPI communication, please see the ATmega168 or ATmega328 datasheet.
Programming
The Arduino Duemilanove can be programmed with the Arduino software (download). Select “Arduino Diecimila or Duemilanove w/ ATmega168″ or “Arduino Duemilanove w/ ATmega328″ from the Tools > Board menu (according to the microcontroller on your board). For details, see the reference and tutorials.
The ATmega168 or ATmega328 on the Arduino Duemilanove comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files).
You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see these instructions for details.
Automatic (Software) Reset
Rather then requiring a physical press of the reset button before an upload, the Arduino Duemilanove is designed in a way that allows it to be reset by software running on a connected computer. One of the hardware flow control lines (DTR) of the FT232RL is connected to the reset line of the ATmega168 or ATmega328 via a 100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing the upload button in the Arduino environment. This means that the bootloader can have a shorter timeout, as the lowering of DTR can be well-coordinated with the start of the upload.
This setup has other implications. When the Duemilanove is connected to either a computer running Mac OS X or Linux, it resets each time a connection is made to it from software (via USB). For the following half-second or so, the bootloader is running on the Duemilanove. While it is programmed to ignore malformed data (i.e. anything besides an upload of new code), it will intercept the first few bytes of data sent to the board after a connection is opened. If a sketch running on the board receives one-time configuration or other data when it first starts, make sure that the software with which it communicates waits a second after opening the connection and before sending this data.
The Duemilanove contains a trace that can be cut to disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It’s labeled “RESET-EN”. You may also be able to disable the auto-reset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.
USB Overcurrent Protection
The Arduino Duemilanove has a resettable polyfuse that protects your computer’s USB ports from shorts and overcurrent. Although most computers provide their own internal protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
Physical Characteristics
The maximum length and width of the Duemilanove PCB are 2.7 and 2.1 inches respectively, with the USB connector and power jack extending beyond the former dimension. Three screw holes allow the board to be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16″), not an even multiple of the 100 mil spacing of the other pins.
Resistors
Posted by Will Eatherton in Uncategorized on May 24th, 2009
generally, there are four stripes, and each colour represents a number. One of rings
is usually gold-coloured; this one represents the precision of that resistor. To read the
stripes in order, hold the resistor so the gold (or silver in some cases) stripe is to the right.
Then, read the colours and map them to the corresponding numbers. In the following table,
you’ll find a translation between the colours and their numeric values.
For example, brown, black, orange, and gold markings mean 103±5%. Easy, right? Not
quite, because there is a twist: the third ring actually represents the number of zeros in the
value. Therefore 1 0 3 is actually 1 0 followed by 3 zeros, so the end result is 10,000 ohms
±5%.
My Arduino & XBee Parts
Posted by Will Eatherton in Uncategorized on May 24th, 2009
My equipment bought 1st half of May 2009 :
From nkcelectronics :
Name Code Qty Each Options
—————————————————————
Arduino Duemilanove ARD-0020 1 29.45
XBee Explorer USB XBE-0002 1 19.95
Character LCD Module 20×4 LCD-0016 1 15.99 Blue
Wall Adapter Power Supply PRO-0011 1 5.95 - 9VDC 650mA
Solderless Breadboard PRO-0003 1 9.99
Jumper Wire Kit
From Sparkfun :
Status Product Qty Total
————————————————————————————————————-
Item in Box COM-00528 Super Bright LED - Red - 10,000mcd 2 $1.90
Item in Box COM-00530 Super Bright LED - Yellow - 10,000mcd 2 $1.90
Item in Box COM-08285 Super Bright LED - Green - 10,000mcd 2 $1.90
Item in Box PRT-00112 Basic Breadboard 1 $11.95
Item in Box DEV-09063 Arduino XBee Shield Empty 1 $24.95
Item in Box WRL-08691 XBee 2mW Series 2.5 Chip Antenna 2 $51.90
Item in Box COM-00097 Mini Push Button Switch 4 $1.40
Item in Box SEN-08630 PIR Motion Sensor 1 $9.95
To Buy
MOSFET like the IRF520 (NEED TO GET THIS FROM RADIO SHACK !!)
Light sensor
0.1” male headers
any general resistor/capactior packs ? what about online ?
My Arduino Experiments
Posted by Will Eatherton in Uncategorized on May 24th, 2009
1) Did Blinking LED Experiment from ARduino Book, last weekend : May17th 2009
Below are notes from the book on Arduino :
——————————————————————

#define LED 13 // LED connected to
// digital pin 13
void setup()
{
pinMode(LED, OUTPUT); // sets the digital
// pin as output
}
void loop()
{
digitalWrite(LED, HIGH); // turns the LED on
delay(1000); // waits for a second
digitalWrite(LED, LOW); // turns the LED off
delay(1000); // waits for a second
}
——————————————————————
* With kids we changed the delay and watched the blinking go very fast (as we go into 10 miliseconds still blinked even though eye can’t see more then like 30 Hz right ?
2) Next experiment using say PIR sensor instead of light sensor
See : PIR Motion Sensor Research
Using PIR from sparkfun : SEN-08630
Experiments run on May 24th,2009
I tried to use instructions from : http://itp.nyu.edu/physcomp/sensors/Reports/PIRMotionSensor


minor modifications for newer Arudino board and changed my setup slightly.
// example for the PIR motion sensor SE-10
int timer = 500;
int alarmPin = 1;
int alarmValue = 1;
int ledPin = 13;
void setup () {
Serial.begin (9600);
pinMode(ledPin, OUTPUT);
pinMode(alarmPin, INPUT);
delay (2000); // it takes the sensor 2 seconds to scan the area around it before it can detect infrared presence.
}
void loop ()
{
alarmValue = analogRead(alarmPin);
if (alarmValue < 100)
{
blinky(); // blinks when the motion has been detected, just for confirmation.
}
delay(timer);
Serial.println (alarmValue);
delay (10);
}
void blinky() {
for(int i=0; i<3; i++) {
digitalWrite(13,HIGH);
delay(200);
digitalWrite(13,LOW);
delay(200);
}
}
Was not happy with results !! Though it was cool to see sensor data coming out of the Arduino into the ‘Serial Monitor’ screen of the Arduino IDE for the first time
Example data results when not moving

* When I waved my hands no real change (300’s)
* When I put my hand onto the PIR senseor it goes up to ~1000, then will drop to <20, and then will call the blinky function
* I think that I need 12V rail is my guess based on comment in forum that with 12V more sensistive
— don’t have any easy/great ways to get 12V DC onto my breadboard
– searching web pages
* woudl it help to remove plastic casing ?
There is some code on web to do calibration for a parallax sensor, given how little my readins vary unless I touch the sensor seems like it would not be useful.
– http://www.arduino.cc/playground/Code/PIRsense
– there is note in forums for this code that with parallalx it takes minute for sensor to calibrate, and any movement will disrupt, I will try to be calm first
* At this point I took pictures of the setup, and plan to put it aside
– now I realize good photos of electronics setups that will be useful to me later is not easy (using a simple canon point and shoot), why does everything have to be hard !!
* Scouring internet for all references to this PIR device, finally found one that sounds similar to my issue
– http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1236875530
– “But I can’t get any output from it. If I plug it in analog port I get a constant output from 300 to 500 but it doesn’t change with motion.”
** Ok so I did visual inspection of my wiring on the breadboard and found mistake ! I did not have the Brown (ground) wire of the PIR sensor connected to the ground on the BB (which is connected to ground on the Ardunino)
– boy it has been a while since I have done debugging like this, very sad, somehow in my head when I wired up I though (easy) and I visualized 2 wires in adjacent rows of BB were connected (which they are not)
* now when I turn on the program the readings bounce from 20-60 regardless of what I am doing and the blinking from the software (for trigger) is continous !!
– so I flipped the issue onto it’s head
* ok visually debugging again
– no issues
* one theory now is I somehow burnt out the PIR sensor ?
* am getting out DMM to look at if voltages are correct
* Hmm when I check voltage there is 200mV on BB rails, ok time to start at square one
- coming out of Ardunino power rails seeing 5V - check
–
* BTW I need me some alligator clips
– very sorry I threw away electronics box sometime in past 15 years since college, had some cool stuff
* Ok at this point I am giving up on PIR (maybe burn out ?)

3) Next try turning the little toy motor I have
Ok based on below
From Arduino Book :
——————————————————————
Each one of the pins on an Arduino board can be used to power devices that use up to 20
milliamps: this is a very small amount of current, just enough to drive an LED. If you try
to drive something like a motor, the pin will immediately stop working, and could
potentially burn out the whole processor. To drive bigger loads like motors or incandescent
lamps, we need to use an external component that can switch such things on and off and
that is driven by an Arduino pin. One such device is called a MOSFET transistor—ignore
the funny name—it’s an electronic switch that can be driven by applying a voltage to one
of its three pins, each of which is called a gate. It is something like the light switch that we
use at home, where the action of a finger turning the light on and off is replaced by a pin
on the Arduino board sending voltage to the gate of the MOSFET.
In Figure 5-7, you can see how you would use a MOSFET like the IRF520 (NEED TO GET THIS FROM RADIO SHACK !!) to turn on and
off a small motor attached to a fan. You will also notice that the motor takes its power
supply from the 9 V connector on the Arduino board. This is another benefit of the
MOSFET: it allows us to drive devices whose power supply differs from the one used by
Arduino. As the MOSFET is connected to pin 9, we can also use analogWrite() to control
the speed of the motor through PWM.
——————————————————————
Ok used DC motor from toy, 10k resistor and BB from circuit above
Program (trying to keep it simple) was :
int value = 0; // variable to keep the actual value
int ledpin = 9; // light connected to digital pin 9
void setup()
{
// nothing for setup
}
void loop()
{
analogWrite(ledpin, 1023);
}
Trying to use DMM not working out well
– overall I need better way to debug BB (alligator clips e.g.)

5) Try out xbee simple
What to try ? toggling of led from laptop ? See how far away you can move ?
6) try out xbee + LCD + Arduino
Missing parts ?
(2) 1N4004 diodes
40-pin Male Header to expose LCD pins
![]()
http://rapplogic.blogspot.com/2009/05/arduino-xbee-portal.html
MacJournal
Posted by Will Eatherton in Uncategorized on May 16th, 2009
Q. When I publish to iweb what about tag ?
Answer : no tags on iweb, infact I won’t try and use mac journal with iweb (poor interface and manual)
Q. What if i want to publish blog directly to html and link in from web page
– THat is what I am doing now
Q. What if I create entry without making it blog entry and then do publish of blog entries for will’s journal as a whole ?
– the new entry is made into blog entry, so either never do general publish of journal, or create separate journals for internal Vs publication
– Maybe make one for video
Q. What if I delete entry will it delete on web ?
– it will explictly ask you on delete
Q. How does export of Video work to blog entry ?
– first of all if you just record video but don’t insert into entry it won’t export
– 2nd the html generated for the video seems limited
+ as shown below the diary entry has limited box size
+ here is html generated : <p><embed autoplay=”false” src=”http://www.eathertons.com/blog/wp-content/uploads/2009/05/0f7b26d5-b298-4800-be5f-d704b201ba65.mov”></embed></p>

Q. If edit old entry does it update any info on the blog page about new date/time ?
– no
Q. how do I remove blog entry from web, but keep entry in MacJournal ?