Tero's Arduino Blog

Using Arduino with Ada

Articles by Tero Koskinen

AVR-Ada and PN532, part 2: Mifare Classic, Yubikey NEO, I2C support

I continued tweaking my PN532 code and during the past few months I have added support for I2C interface, Mifare Classic tags (read-only), and Yubikey NEO keys (NFC Forum Type 4 interface).

PN532 and Arduino

I2C support means that you can use Adafruit PN532 Arduino Shield and normal Arduino UNO to run my ...

[more]

Read, write, and emulate NFC tags using Adafruit PN532 breakout board, Olimexino-328, and AVR-Ada

Recently, I have been playing with PN532 breakout board from Adafruit to read NFC tags and to communicate with NFC-enabled devices, like smart phones.

Adafruit's PN532 breakout board uses 3.3V voltage level and it is little tricky to use it with normal Arduino. So I ended up using ...

[more]

Driving Neopixel LEDs using only Ada

Inspired by my earlier delay experiments and its followup discussion on AVR-Ada mailinglist, I decided to put my delay functions in good use.

Neopixel RGB LEDs require exact timing and people usually use AVR assembler code to get the timing right. However, I wanted to see can I do it ...

[more]

Measuring the accuracy of delays in AVR-Ada

Saleae Logic cables to Arduino UNOr3

AVR-Ada provides basically two ways to delay the code execution.

One way is busy looping using Generic_Busy_Wait_Seconds and Generic_Wait_USecs procedures from the AVR.Wait package.

procedure My_Wait is new AVR.Wait.Generic_Busy_Wait_Seconds
  (Crystal_Hertz => 16_000_000);

procedure Wait_1000ms is new AVR.Wait.Generic_Wait_USecs
  (Crystal_Hertz => 16_000_000, Micro_Seconds => (1_000_000));

Another way is to use ...

[more]

Arduino Leonardo and (bad) USB interrupt

This is little heads-up for people, in case someone else also hits the same problem.

When playing with Arduino Leonardo, I noticed that if I enable interrupts, the code seems to freeze.

After some debugging and Google search, I found out that USB is turned on by the boot loader ...

[more]

« Page 2 / 8 »


Copyright © 2012, 2013 Tero Koskinen - Theme Skeleton; Blogging engine Pelican; Powered by Python