Quantcast
Channel: ArduinoDev.com
Viewing all 77 articles
Browse latest View live

Nokia 5510 LCD module working with Arduino Leonardo

$
0
0

Adafruit’s PCD8544 library makes it easier and providing more features for playing Nokia 5110 LCD module with Arduino. I re-packaged the library files and it can be downloaded here.
LCD Unit
IMG_1625

LCD module connection with Arduino (LCD pin – Arduino pin):

  • RST – Pin 3
  • CE – Pin 4
  • D/C – Pin 5
  • DIN – Pin 6
  • CLK – Pin 7
  • VCC – 3.3v
  • LIGHT – Pin 13
  • GND – GND

You can easily get the example code run with Arduino IDE (don’t forget to place library files in IDE’s libraries folder). This time I managed to compile and upload the test sketch to Arduino Leonardo with my just-updated Arduino Uploader (with PCD8544 libraries packaged in).


Arduino Uploader 0.5.1 released

$
0
0

Arduino Uploader is an open-source command line utility for compiling and uploading Arduino sketch to Arduino board. The latest version has following changes:

  • totally re-written to fix the issues with compiling sketch referencing libraries with utility sub-folder
  • compiling and uploading for Arduino Leonardo was fully implemented
  • updated Arduino cores and library files to 1.0.3

Link: Arduino Uploader Page

Arduino Online Compiler is online again!

$
0
0

Arduino Online Compiler is online again, with following new features:

  • More supported Arduino boards, including Arduino Leonardo and Esplora.
  • New compile report display, incl

    uding assembly listing and MCU memory consumption

  • Downloadable compiled HEX file

Try Arduino Online Compiler now!

zp8497586rq

Arduino Uploader 0.5.2 released

$
0
0

Arduino Uploader has been updated to 0.5.2. In this revision, following changes have been made:

  • added board types of Arduino Esplora, Arduino Micro and Arduino Mega 8
  • serial port enumeration and choice when unspecified
  • display MCU memory consumption after sketch compiliation

Link: Arduino Uploader Home Page

CodeBlocks Arduino Edition updated

$
0
0

CodeBlocks Arduino Edition is a complete out-of-box IDE for Arduino development most suitable for software engineers demanding a more powerful IDE and those who need to heavily modify or develop Arduino libraries. I have been maintaining the project basically to provide myself a productive and flexible Arduino development environment. Now I mainly release for Windows, while someone else has forked my code on github and maintain the linux port.

The new revision has following major changes:

  • Based on latest CodeBlocks 12.11
  • Added build targets of Arduino Leonardo, Esplora and Micro
  • Integrated Arduino Uploader for uploading (supporting Leonardo)
  • Fixed Arduino MEGA 2560 uploading issue
  • Added “Upload to Arduino” menu item in Tools menu and allowing choosing among available serial ports for uploading

cb_arduino_20130127

Download

Arduino OBD-II adapter now available in DFRobot Store

$
0
0

If you want to pick up more Arduino goodies together my OBD-II UART adapter, now you can order it in DFRobot Store, one of the biggest online Arduino and robotic merchant in the world.

dfrobot_banner

Arduino OBD-II library gets updated

$
0
0

This maintenance update mainly fixed the library’s compatiblity issue with Arduino Leonardo and other ATMega32U4 based new boards. The folder structure has also some adjustments. The shield library files which demo sketches use are now placed in their sub-folders respectively. A new demo sketch was added in the release package (source code) which drives a tiny cool OLED module to make a dashboard for the car. The module can be ordered here.

1359818923

Links

SPI lines difference among Arduino boards

$
0
0

The SPI lines have some differences among different Arduino boards, especially the new Leonardo. Unclearance of this might cause some trouble when making wire connections manually.

For Arduino Leonardo, the pins on the ICSP header are not connected to any of the digital I/O pins as they are on the Uno. They are only available on the ICSP connector. This means that if you have a shield that uses SPI, but does NOT have a 6-pin ICSP connector that connects to the Leonardo's 6-pin ICSP header, the shield will not work.

The following table display on which pins the SPI lines are broken out on the different Arduino boards:

Arduino Board MOSI MISO SCK SS (slave) SS (master)
Uno or Duemilanove 11 or ICSP-4 12 or ICSP-1 13 or ICSP-3 10 -
Mega1280 or Mega2560 51 or ICSP-4 50 or ICSP-1 52 or ICSP-3 53 -
Leonardo ICSP-4 ICSP-1 ICSP-3 - -
Due ICSP-4 ICSP-1 ICSP-3 - 4, 10, 52

Note that MISO, MOSI, and SCK are available in a consistent physical location on the ICSP header; this is useful, for example, in designing a shield that works on every board.

Reference:

Open-source OBD-II data logger

$
0
0

After working out and merchandising the Arduino OBD-II adapter, I was thinking of putting up some kits based on the adapter with which people can start playing Arduino with cars more easily. A useful application as my initial approach is a OBD-II data logger device which reads out sensor data from vehicle and records the data on mass storage (e.g. SD card). Besides data logging, it better also displays some realtime data and states on a screen. The logged data also needs something to illustrate, possibly into a chart. All these thoughts brought up the Arduino OBD-II data logger kit and this website.

The logger displays (on a 128×64 OLED display module) and records (to a SD card) selected OBD-II data (engine RPM, speed etc.). The bright monochrome OLED display has very good visibility in daylight regardless of its small size. You can place it anyway on your dashboard that you feel comfortable. By pulling out the SD and inserting into computer (with a SD reader or a built-in one),  the data can be easily illustrated into a chart.

Objectives:

  • Displaying realtime engine RPM and vehicle speed on OLED screen
  • Recording realtime OBD-II data to SD card in text-based CSV file format
  • Illustrating the recorded data in as chart

Recorded data includes:

  • Engine RPM
  • Speed
  • Throttle position
  • Engine load
  • Engine coolant temperature
  • Intake manifold absolute pressure
  • Intake temperature

Of course any data that can be obtained from OBD-II can be recorded.  The recorded data is stored in a SD card in the format of CSV. Each line represents a record with time, data type and data value like this:

[Time Elapsed],[Data Type],[Data Value]

Time Elapsed is the time elapsed in milliseconds since previous data record. Data type is the OBD-II pid number which is defined in the OBD-II library (e.g.  0xC is engine RPM). Here is an example data clip:

169,D,0
171,11,12
170,43,21
165,B,30
175,C,705
169,D,0
170,11,12
171,43,21
170,C,702
169,D,0

You can write you own software to analyze and illustrate the recorded data. If you don’t want to do any programming on this, an online service is set up for illustrating the data recorded in a graphic chart like this:
OBD Data Chart
To view your own chart, simply plug the SD card into your computer (either with built-in or external SD card reader), choose the CSV file, and click the view button. If you don’t have a recorded file, you can still click the Demo link to view some sample data.

Demo Chart

Pictures

Arduino Leonardo Data Logger
Kit with Arduino Leonardo

obdkit_nano
Kit with Arduino Nano

oled1oled2
Kit in car



Source Code

The source code of this OBD-II data logger uses following Arduino libraries:

  • SD Library (for accessing SD card)
  • Wire Library (for communicating with I2C OLED display module)
  • MultiLCD (a custom library encapsulating OLED & PCD8544 access routines)
  • Arduino OBD-II Library (for accessing OBD-II adapter)

Wiring Up

Connecting Arduino with SD breakout

The SD breakout board is connected with Arduino via SPI. On Arduino Leonardo, the SPI pins are at the ICSP connector (see this for difference in SPI spins on different Arduino boards).

The SD breakout board has following 6 pins to be wired:

  • VCC -> Arduino ICSP 2 (VCC)
  • GND -> Arduino ICSP 6 (GND)
  • DO -> Arduino ICSP 1 (MISO/D12)
  • DI -> Aruino ICSP 4 (MOSI/D11)
  • CLK -> Arduino ICSP 3 (SCK/D13)
  • CS -> Arduino D10

Connecting Arduino with I2C OLED module

The OLED module can be powered by either 3.3V or 5V. It has 8 pins at the back and 4 of them need to be wired.
oled4 oled3
Pins to to wire:

  • 3v3 -> Arduino 3.3V
  • GND -> Arduino GND
  • SDA -> Arduino SDA (A4)
  • SCL -> Arduino SCL (A5)

Connecting Arduino with OBD-II

The OBD-II adapter provides power for Arduino and the connected devices and serial UART connection with Arduino.

  • TxD (white line) – Arduino UART RxD (D0)
  • RxD (green line) – Arduino UART TxD (D1)
  • 5V (read line) – Arduino 5V
  • GND (black line) – Arduino GND

Kit for Order

If you like this open-source Arduino OBD-II logger kit, you can order it now. The kit consists of:

  • Arduino OBD-II adapter (x1)
  • Arduino Leonardo / Arduino Nano (x1)
  • SD breakout board (SDHC compatible, SD card not included) (x1)
  • I2C OLED display module (128×64 pixels) (x1)
  • Wires needed for connecting all parts (x10)
  • Complete source code (sketch & libraries)

obdkit1
The complete source code will be provided so you can freely modify it to change or add features you need (e.g. changing the display or logging other data you need).

To order this kit, please click HERE.

zp8497586rq

CodeBlocks Arduino Edition released with Arduino Uploader of brand new look

Arduino Uploader 0.6 released with both GUI and CLI versions

$
0
0

Arduino Uploader now comes with GUI version which makes compiling and uploading an Arduino sketch to the board never easier. With no more than 3 clicks, you sketch will be running on your board. Take a look at the the screenshot. The command line version is also updated and have the same functionality as the GUI version while the former can be integrated into 3rd party applications (a real example: Mind+).

arduino_uploader

Download Arduino Uploader

Top countries of CodeBlocks Arduino IDE users

ArduinoUploader 0.7.0 released

$
0
0

The new release has added options for MCU operating frequency including 20Mhz, 16Mhz, 12Mhz and 8Mhz.

arduino_uploader_0_7_0

An interesting Arduino variant (based on ATMega644pa) named Microduino is also supported in this version.
microduino

Click here to download Arduino Uploader

A tutorial for Arduino Builder

$
0
0

Arduino Builder is a tool for viewing and compiling Arduino sketch (source code) and programming the Arduino board with the compiled code (HEX code).

From this link you can pick the latest version and download. Once downloaded, extract the 7z compressed package to a new folder and you can launch Arduino Builder by running ArduinoBuilder.exe in the folder.

Before launching, please plug your Arduino to computer with USB cable, as the program will search for available serial ports appeared on your system and display them.

It’s only 3 steps for compiling your Arduino sketch and programming the Arduino with the compiled code

STEP 1: Set board type and operating frequency if necessary

Arduino Builder - Step 1

 

STEP 2: Load your sketch or HEX file

Click the “Load Sketch / Hex” button to choose a file to load and the content of the file will be displayed.

ab2

 

STEP 3: Choose serial port or programmer

Click one of the serial port or programmer button shown the whole procedure will begin. If you only want to compile the code into HEX file, click Build Only button.

Once started, the program will swith to console view in which the process of compiling and programming will be displayed as well as error message if there is any.

ab3

When the process completes with no error, a report with 3 pie charts will be shown from which you can grab a overview of the memory consumption for your Arduino’s FLASH, SRAM and EEPROM space.

ab4

At this point, everything is done. If you want to open a serial terminal and see some results from the board, choose a baudrate and click “Open” button or a serial port button. The content from serial port will be displayed in the console window.


// ]]>

Switching among Arduino LCD shields or modules with ease

$
0
0

arduino_lcd_shieldsI have long been facing an issue when writing an Arduino program dealing with LCD display. After spending time coding with the library of one type of shield, I want to switch to another type, and then I have to modify the sketch code heavily as the library APIs changes. This results in several versions of a sketch doing the same job just with a different shield. So I decided to write my own “driver” library to solve this issue. In order not to make things even worse, so I make the library as easy as possible.

This library, named MultiLCD, encapsulate several libraries for various Arduino LCD shield or module into a set of unified APIs. It supports these hardware:

  • DFRobot LCD4884 shield
  • Nokia 5100 LCD module
  • LCD1602 shield
  • ZT I2C OLED module

With this library, the sketch code needs only very little change to switch from one shield to another for display. To use a specific shield or module as the display of Arduino, all needed is to use one of following declarations:

LCD_OLED lcd; /* for I2C OLED module */

LCD_PCD8544 lcd; /* for LCD4884 shield or Nokia 5100 screen module */

LCD_1602 lcd; /* for LCD1602 shield */

The library provides easy-to-use APIs for text display, including:

void begin(); /* initializing */
void clear(); /* clear screen */
void setCursor(unsigned char column, unsigned char line); /* set current cursor */
void print(const char* s); /* display a string at current cursor*/
void printLarge(const char* s) /* display a string of number in larger font */

Links:


Developing new Arduino OBD-II + GPS data logger with Microduino

$
0
0

P1050336Right now an enhanced version for the Arduino OBD-II data logger kit is under development. The new kit will feature 10Hz GPS logging via MTK3329, OBD-II data logging via Arduino OBD-II adapter, and 3-axis accelerometer sensor data logging via MPU6050 embedded inside the adapter. What is more interesting is that the new kit will base on a variant of Arduino, named Microduino, with smaller size and better capability, stackable like normal Arduino, making the whole kit small and tidy.

For those who have previously ordered the Arduino OBD-II data logger kit, there is no worry about your investment, as the most valuable parts in the kit (OBD-II adapter and I2C OLED module) is still usable in the new kit, and there will also be an upgrade pack (including the new Microduino parts and MTK3329 GPS receiver) by the time the new kit is ready for order.

About Microduino

Let me briefly introduce about the Arduino variant. The Microduino features two types. The type Core, which is 100% compatible with Arduino UNO (ATMega328 based) in both software and hardware pinouts. The type Core+ is based on ATMega644P. They share the same board size and stackable shields. The Core+ is used for the new kit, which features:

  • 2 hardware serial UART (one for OBD-II adapter and one for GPS)
  • 64KB program memory / 4KB SRAM /2KB EEPROM
  • Stackable MicroSD/TF shield
  • Stackable FT232 USB shield (for uploading program)

A dedicated extension board is developed for the new kit. 2 serial UART pinouts and 2 I2C pinouts are available on the board for easy connection of Arduino OBD-II adapter and GPS receiver.

logger_board
The extension board for the new OBD-II data logger kit

For development environment, the standard Arduino IDE can be used with some mods. A better choice is to use CodeBlocks Arduino IDE which will provide you an out-of-box experience with this Arduino variant. You can also use Arduino Builder to compile and upload you pre-written sketch to the board.

 cb20130317
CodeBlocks Arduino IDE with Microduino support

Arduino Builder - Step 1Arduino Builder with Microduino support

P1050333
Running OBD-II OLED dashboard example

IMG_1791
Running OBD-II data logger sketch

Real-Time Arduino GPS Tracker w/ iPhone app

$
0
0

Just bumped into a website introducing a home-brew Arduino GPS tracker made up with a GPS and GSM shield.

 

Progress on the new OBD-II logger kit

$
0
0

The target is to make the kit into a box-shaped unit, stacked up by Microduino controller (ATMega644p+), MicroSD shield, FT232 USB shield (optional) and break-out base board (for connecting OBD-II adapter, GPS receiver and OLED display) and OLED display module on the top. Hopefully the ready-for-order kit will be available in one or two weeks.

IMG_2583


IMG_2585

IMG_2588

OBD-II + GPS + Accelerometer + Gyro data logger based on Arduino MEGA2560

$
0
0

This will be the most comprehensive OBD-II data logger kit and also the biggest in size as it is based on Arduino MEGA2560. Te kit consists of:

With it, following data can be accessed and recorded into a MicroSD card by a standard Arduino program:

  • OBD-II data (all PIDs available in vehicle)
  • GPS data (5Hz/10Hz update rate)
  • 3-axis accelerometer data
  • 3-axis gyro data
  • temperature sensor data

P1050375

P1050376

After being able to record all these data, it is then possible create a KML and display the data with Google Earth like this:

Finally a video showing my Arduino Mega data logger working in the car, with an additonal LED attached to display status.
 

 


Progress on the new OBD-II logger kit

$
0
0

The target is to make the kit into a box-shaped unit, stacked up by Microduino controller (ATMega644p+), MicroSD shield, FT232 USB shield (optional) and break-out base board (for connecting OBD-II adapter, GPS receiver and OLED display) and OLED display module on the top. Hopefully the ready-for-order kit will be available in one or two weeks.

IMG_2583

IMG_2585

IMG_2588

IMG_2591

Viewing all 77 articles
Browse latest View live