Combining multiple PWM outputs is a great way of getting lower noise floor and higher accuracy from your DAC, but there are a few things to watch out for. Here we will go into detail on how to build Dual and Triple PWM circuits, and explain the limitations of these designs. But first, here is the basic topology: Figure 1. Dual and Triple PWM schematics with R and C value equations. n is the number of bits per stage, and Fc is the cut-off frequency of the low-pass filter. The theory behind these circuits is pretty simple: Multiple PWM outputs can create multiple audio signals.
The Shrimp is a low-cost Arduino -compatible, microcontroller circuit that can be made for £3 - £4 (depending on how and where you source your components) and which can then be used to create digital inventions. The Shrimp has been devised by Cefn Hoile at Shrimping.it for use in ' maker' workshops in Morecambe, the shrimping capital of England. For those of you who don't know what an Arduino is, it's a single-board microcontroller based on the Atmel ATMEGA series of chips with a software suite for programming it. Compared to other similar micro-controller boards such as the BASIC Stamp , the Arduino is much cheaper as well as having fully open hardware and open source software. The latest Arduino board is the Uno R3 (shown above) which uses the ATMEGA328 microcontroller chip. Although it's available as prefabricated circuit board, there is even a breadboard version of the Arduino which can be self-assembled.
This project describes an open software open hardware pH meter using an Arduino / Freeduino board. In other words, this is an electronic circuit to be connected with a glass electrode pH sensor. It was possible by the idea from my friend Mr. Denis Vidal, the space that my supervisor gave me, prof.
Yes you did read that correctly, this post will present a port of the Standard Template Library , or STL as it’s more commonly known, to the AVR microcontrollers. Introduction The STL has been around forever in computing terms with copyright notices appearing in the source code as far back as 1994 and is tried and trusted by C++ programmers the world over.
In two of my previous articles I showed you how to reverse engineer the Nokia 2730 LCD for connecting to a device with 3.3V I/O’s and then I showed you how to build a 16-channel level converter for connecting devices together that have differing I/O level requirements. This article brings together the knowledge we have gained in the previous two articles and puts it to use by creating a project that will allow a Nokia QVGA 24-bit colour TFT LCD to be indirectly connected to an Arduino Mega via a level converter, all on one small 50mm PCB. All quite straightforward so far.
In part 1 of this two part series I presented the hardware design and build for the Nokia 6300 TFT that shows how we can connect it directly to the external memory interface of the Arduino Mega and that by doing so we achieve the fastest possible interface between the TFT and the Arduino MCU. Now the driver software has been updated to support the 2.4″ Nokia N82 LCD that I have reverse engineered. Everything that you can do on the 6300 screen, you can now also do on the N82.
Servos have a 3 pin connector, consisting of ground, supply voltage, and control signal. Pinouts have been known to vary by manufacturer. Servos are controlled by sending it a variable width pulse (a type of Pulse Width Modulation (PWM)). Important paramiters about the shape of the pulse are the 'centre duration' and repetition rate.
I had a bit of an experience developing GUI`s and Data Visualization in Processing.Processing is very cool to work with and the designs are highly scale-able. There are tons and tons of separate examples and libraries available for processing especially the Serial Library which eases the task. During this week , i tried to make myself a GUI using Visual C#. It was a really great experience.Although you can make buttons in processing too..but its a lot easier in Visual C# Express.However, it seems not many DIY`ers use C# and its used mainly by hardcore coders and developers..but still i managed to find some cool references via MSDN and a demo(of his work) by my friend to put together a simple and easy way to talk to Arduino on a windows machine! You can monitor Analog Inputs , control digital pins and connect to the COM Port of your choice.Since i am still building upon it.So i am leaving a gist of how the GUI/program currently looks.
In part 1 , we examined the architecture of the Arduino and AVR microcontroller. In part 2 , we set up the AVR-GCC toolchain and avrdude. The Plan This time, we will look at some more project-specific hardware buildup for a gradual-wake light clock. This is meant to be at the “completely new to electronics design” level. If you know your way around parallel LEDs, you can probably build something better than I’ll build here.
You can use Simulink to develop algorithms that run on the Arduino, an inexpensive, open-source microcontroller board. Arduino boards feature an Atmel ATmega processor and provide digital and analog connectivity and serial communications. The Arduino platform helps students understand the workflow for designing an embedded system without using manual programming. Students can use Simulink to create algorithms for control system and robotics applications. They can apply industry-proven techniques for Model-Based Design to verify that their algorithms work during simulation. They can then implement the algorithms on the ATmega processor on the Arduino board as standalone applications.
Welcome back fellow arduidans! Today we are going to harness the awesome power of the telephone network to control an Arduino board via a SM5100B Cellular Shield: If you have not already done so, please review the first GSM shield article, taking note of power supply, antenna issues and so on. Are you using an Arduino Mega board? Mega users – things will be slightly different for you.
So I get my hand on a PIC18F2550.Unfortunately I don't have a PIC programmer, and I'm reluctant to build a parallel/printer port programmer, so I made one using my Arduino. The PIC18F2/4 family support low-voltage programmer which makes easier to program via the Arduino.Moreover the programming specifications are well written and quite easy to understand.I wrote my sketch to work with PIC18F2550 only, but with a minor changes it can be work for the whole family as well (a full list of the family can be found at the end). Connecting the arduino to the PIC is quite simple:
As part of my attempt to load as much as possible onto an Arduino , I added a LIS302DL accelerometer into the mix and used the Y axis output to drive a strip of LEDs via a couple of TLC5916 LED drivers. I was sampling the accelerometer every 10msec and it jittered a little, so I wanted to add some smoothing to the sensor values. There are all sorts of fancy smoothing algorithms available, but a simple Exponential moving average worked just fine, and was easy to calculate: // choose a weighting factor W between 0 .. 1, then // current average = (current sensor value * W) + (last average * (1 - W)) static uint16_t avg = 0; uint8_t val = getAccelValue(); avg = val * 0.1 + avg * 0.9;
Announcing the formal release of BootDrive for Arduino . If you’ve been reading the blog, you know that I’ve been working with Justin Shaw of Wyolum labs to enable their I2SD (Arduino clone with a micro-sd card) to bootload a program onto another Arduino. After battling several issues, mostly related to porting avrdude code to the Arduino (assumptions about infinite memory, etc!)