Arduino

From Wildsong
Revision as of 00:04, 27 August 2018 by Brian Wilson (talk | contribs)
Jump to navigationJump to search

I now have an Arduino Uno R3. This is the fancy Make: magazine version so all components are SMD. It has an ATmega328P as its main controller and an ATMega16 to talk to the USB port.

Here's its schematic. https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf

I have a littleBits kit around too but this is my first genuine Arduino.

Arduino as AVR development board

I have a FutureKit Temperature Controller, which is based on an Atmel AVR controller. I'd like to be able to write code for it too, by leveraging the Arduino environment.

Writing programs for Arduino

I know I can use the official Arduino IDE but I also want to know more about [Atmel Studio http://www.atmel.com/tools/atmelstudio.aspx]. Are there advantages for me to use one or the other since I intend to develop for both the Arduino and just plain Atmel AVR controllers.

Atmel Studio

It looks like Atmel Studio is Windows only? How can this be? How sad! Here are instructions to use it on Mac: http://www.thinkcreate.org/index.php/avr-studio-on-mac-os/ There is a toolchain supported for Linux, but no IDE: http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx but I am more inclined to try Parallels with Windows 7 first.

Maybe I don't care, if the Arduino IDE works for me. Anyway, I am removing old crud from a W7 machine and that could take several more hours! So, later for Studio.

Arduino IDE

2018-08-26 version 1.8.6

It starts up on Mac OS/X, more than I can say for Microchip's MPLAB X! (1-2017)

Arduino has a simple IDE that works. I did indeed write a little program using the Make: Getting Started With Arduino book while sitting at the patio table at California Flora Nursery in Fulton. What a lovely place it is.

Now I wonder if the IDE works with a plain vanilla ATmega328P.

Loading programs into Arduino

Apparently the Arduino model is to put code into EEPROM and then use a bootloader in flash to load it? Where does it get loaded?

I am used to working directly with Microchip PIC controllers, programming them with a PicKit3. Using an ICSP programmer is also possible with Arduino.

Shields

Multifunction shield

http://hobbycomponents.com/shields/461-multifunction-shield-for-arduino-uno-leonardo

https://www.mpja.com/download/hackatronics-arduino-multi-function-shield.pdf

http://arduinolearning.com/code/multi-function-shield-examples.php

http://www.cohesivecomputing.co.uk/hackatronics/arduino-multi-function-shield/part-1/

http://www.sniff.org.uk/2015/04/arduino-multifunction-shield.html

Features

  • 4 digit 7 segment LED display (connected via two 74HC595 drivers.
  • DS18B20 temperature sensor interface
  • LM35 temperature sensor interface
  • 3296 precision adjustable potentiometer, analog input port
  • socket for infrared receiver
  • Three separate programmable buttons and a reset button
  • Piezo buzzer
  • Socket for a wireless module or voice recognition module.
  • Servo interface (really?)
  • 4 LEDs