Wednesday, March 30, 2016

Arduino layout and ATMega328 layout


All AVR devices, like our Mega328, have ports. Usually they are a group of 8 pins that send or receive binary to or from the outside world.

There are three registers associated with each port.

  1. The output register PORTX
  2. The input register PINX
  3. The data direction register DDRX.
For instance port B is made up of 8 pins PB0, PB1, PB2 ....PB7. It has three associated registers:
  1. PORTB
  2. PINB
  3. DDRB
These registers live in the I/O register space just above the 32 general purpose registers.




Some good port pages:
Useful but about GCC.
Some good stuff here.

Monday, March 21, 2016

RS232 protocol

The RS232 protocol has been around for many years now. There are various versions and we have to be aware that non-standard applications are used often. The main aspects are the sockets and plugs and the packet sending rules.





Wearable Ideas


The next project is about using an embedded system very close to a person. It could be on clothes, shoes or on something you carry or on an accessory like a coat, hat or belt. Some ideas below are given in links.


http://www.gizmag.com/wearableelectronics/2/

http://www.wareable.com/wareable50/best-wearable-tech

http://hapticjacket.blogspot.co.nz







Links


http://atmelcorporation.wordpress.com/2014/01/23/wearables-to-create-personal-data-streams/?utm_campaign=January_2014_Newsletter.html&utm_medium=email&utm_source=Eloqua

Some Instructable wearable projects.

http://www.instructables.com/id/Despicable-Me-Minion-Costume-1/

http://learn.adafruit.com/light-activated-pixel-heart

New Zealand has a a strong wearable art movement.

http://www.nst.com.my/life-times/tech/top-picks-ground-breaking-wearable-gadgets-1.528292

http://realbusiness.co.uk/article/26128-7-of-the-best-tech-gadgets-from-londons-wearable-technology-show

http://www.pcadvisor.co.uk/news/google-android/3507296/android-wear-release-date-smartwatches/?cmpid=HTML-DN190314&olo=daily%20news

http://sensoree.com/

Building your own Arduino

Building your own Arduino is possible and you learn a lot in the process.

For example this site shows you how to build an Uno for about $5.


Sunday, March 6, 2016

Analog inputs on the Arduino

Most sensors are detected via a changing voltage that's fed into the analog inputs using voltage division.


 There are some good introductions to analog voltage on the Arduino including this one.

And here's the Arduino tutorial about the analog pins.




Two LED program

/*
Blink2
Turns on a LED on for half a second, then off for half a second, repeatedly. It also does the same to an off-board LED connected to pin 12 so that when one LED is on the other is off.
The circuit:
* LED connected from digital pin 13 to ground via resistor.
* second LED connected from digital pin 12 to ground via resistor. I used 330 ohms.
* Note: On most Arduino boards, there is already an LED on the board
connected to pin 13.
Created 1 June 2005
By David Cuartielles. Adapted by Peter Brook
based on an orginal by H. Barragan for the Wiring i/o board
*/
int ledPin = 13; // LED connected to digital pin 13
int redLedPin = 12; // LED connected to digital pin 13
int del =500;
// The setup() method runs once, when the sketch starts
void setup() {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
pinMode(redLedPin, OUTPUT);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop()
{
digitalWrite(ledPin, HIGH); // set the LED on
digitalWrite(redLedPin, LOW); // set the LED on
delay(del); // wait
digitalWrite(ledPin, LOW); // set the LED off
digitalWrite(redLedPin, HIGH); // set the LED on
delay(del); // wait
}