Collin's Lab: USB Hacking with Arduino. Arduino - HomePage. News. Lab3 - Laboratory for Experimental Computer Science. Watchdog and Sleep functions This example shows how to make use of the Watchdog and Sleep functions provided by the ATMEGA 168 chip .
These functions are useful if you want to build low power consuming devices operated by battery or solar power. The reduced power consumption is achieved by through a intermittent operation of the system .In case of Arduino your main loop will be executed once before the system is put into the sleep mode. After a few seconds t the watchdog wakes the system up and the main loop is executed again. The ratio between main loop execution time and watchdog time determines the amount of power that will be saved.
When we assume that the time to measure a sensor and making some decisions will take 10 millisecond and the watchdog is set to 8 seconds the on/off ratio is 800 which extends the battery live time by this factor. Battery live time calculation Now we want to know long we can operate our device with standard alkaline AA Cells. Arduino Hacks. Blog Archive » Arduino DCF77 radio clock receiver. Posted by md on November 05, 2006 As a first sketch, I developed a little DCF77 library for the arduino.
The DCF77 sender broadcasts the exact time in Germany. It uses a binary format which needs to be decoded – which is exactly what the library does. There are others around who wrote a DCF77 decoder: I would like to thank Captain for his DCF77 code. You need to have an Arduino and a DCF77 receiver in order to use this sketch. Blog Archive » Tweaking the code. Posted by md on April 18, 2007 Thanks to Lasse Lambrecht, I can release a new version of the DCF77 code – now you can run it on the ATMega168-based Arduinos.
The ATMega8 differs slightly from the ATMega48/88/168-series: The latter chips have an extended Timer2-hardware and therefore need different initializations. Lasse send me a nice adjustment of the code, basically he uses preprocessor flags to figure out which initialization commands to use: #ifdef ATMEGA168 TCCR2B |= (1< Teensy USB Development Board. The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects.
All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port. Update: Discussion / Support Forum Teensy 3.1 changes from Teensy 3.0 Teensy Loader Application Software Development Tools. 4 Operating Systems for the Arduino. I was working in the lab, late one night, when my eyes behold an eerie sight...
Yes, Halloween is a long time ago, but that stupid song is still stuck in my head. I miss Halloween. I never got to post up pictures of my skeleton running off IXM's. :-)Anyway, I was browsing the Arduino forums and saw this cool post about DuinOS, a real-time embedded "operating system" for the Arduino. DuinOS by RobotGroupIt's a simple little realtime OS (RTOS) built by the guys at RobotGroup (hello!)
, and can be downloaded here. Well, that's something of a stretch, but it's getting there... we won't get into context switching an RAM page swapping just yet :-) So then that got me thinking, why not write up the other "OS's" out there for the Arduino platform. Hackable-devices.com : Welcome. Blog Archive » Arduino DCF77 v0.2 released. Posted by md on January 06, 2007 The sketch for decoding the time radio signal DCF77 is greatly improved: I use interrupts for handling the signal and a backup timer has been added.
Note that there is no interface at the moment, the time is simply put to the serial line. But it should be easy to add a display to show the time. The sketch eats roughly 6000 bytes of memory – if you want to add a user interface, you should consider buying a 16 kb Arduino ;-) Of course, you also need the DCF77 receiver module and a pullup-resistor, as described in my old post. You can download the code here: arduino-dcf77-clock-0.2.0.tar.bz. AVR-Tutorial: Interrupts. Definition[Bearbeiten] Bei bestimmten Ereignissen in Prozessoren wird ein sogenannter Interrupt ausgelöst.
Interrupts machen es möglich, beim Eintreten eines Ereignisses sofort informiert zu werden, ohne permanent irgendeinen Status abzufragen, was teure Rechenzeit kosten würde. Dabei wird das Programm unterbrochen und ein Unterprogramm aufgerufen. Wenn dieses beendet ist, läuft das Hauptprogramm ganz normal weiter. AVR-GCC-Tutorial. Dieses Tutorial soll den Einstieg in die Programmierung von Atmel AVR-Mikrocontrollern in der Programmiersprache C mit dem freien C-Compiler avr-gcc aus der GNU Compiler Collection (GCC) erleichtern.
Vorausgesetzt werden Grundkenntnisse der Programmiersprache C. Diese Kenntnisse kann man sich online erarbeiten, z. Arduino timer interrupt. This is a total shot in the dark, but when you do this: is it possible that other bits are already set in TCCR2?
Doing a bitwise-OR between a zero and a bit that is already set to 1 will leave that bit at 1, not change it to zero. For example, when you do the following line: You are not changing the value of TCCR2, no matter what its current value, because it is the same as saying: If you really want to make sure a bit is turned off, you should use &= and the bitwise not operator ~. //Timer2 Settings: Timer Prescaler /64, TCCR2 |= ((1<<CS22) | (0<<CS21) | (0<<CS20)); // Use normal mode TCCR2 |= (0<<WGM21) | (0<<WGM20);