From 4ac048f2ee510803345f60e40db688e5394005d1 Mon Sep 17 00:00:00 2001 From: Andrea Manni Date: Mon, 2 Mar 2015 03:23:58 +0100 Subject: [PATCH] logic analyzer for PWM --- .../led_PWM_logical_analyzer_demo.ino | 46 +++++++++++++++++++ basic/led_PWM_simple/led_PWM_simple.ino | 21 +++++---- .../shift_register_serial.ino | 2 +- 3 files changed, 60 insertions(+), 9 deletions(-) create mode 100644 advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino diff --git a/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino b/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino new file mode 100644 index 0000000..5524160 --- /dev/null +++ b/advanced_projects/led_PWM_logical_analyzer_demo/led_PWM_logical_analyzer_demo.ino @@ -0,0 +1,46 @@ +/* + PWM demo with a logical analyzer + + Connect pin ~11 to a logic analyzer and a multimeter + and witness the power of the built-in PWM generator. + + BTW: Logic comes from: http://downloads.saleae.com/betas/1.1.34/Logic+1.1.34+(64-bit).zip + */ + +int led = 11; +int c = 0; + + +void setup() +{ + pinMode(led, OUTPUT); + delay(5000); + +} + +void loop() +{ + // Static test value, comment exit() or ad a delay() + //analogWrite(led, 0) ; // No light + //delay(20) + //analogWrite(led, 254) ; // Full light + //delay(20) + //analogWrite(led, 63) ; // 1/4 + //delay(20) + //analogWrite(led, 127) ; // 1/2 + //delay(20) + //analogWrite(led, 191) ; // 3/4 + //delay(20) + //return ; + + for ( c = 0; c < 255 ; c++) { + analogWrite(led, c) ; + delay(2 ); + } + exit(0); + +} + + + + diff --git a/basic/led_PWM_simple/led_PWM_simple.ino b/basic/led_PWM_simple/led_PWM_simple.ino index 45d3ff9..254ad86 100644 --- a/basic/led_PWM_simple/led_PWM_simple.ino +++ b/basic/led_PWM_simple/led_PWM_simple.ino @@ -1,27 +1,32 @@ /* - Adafruit Arduino - Lesson 3. RGB LED + LED for PWM + + LEd PWM routine with a for loop, ascending and descending. + */ -int redPin = 11; -int greenPin = 10; -int bluePin = 9; +int led = 11; int c = 0; -//uncomment this line if using a Common Anode LED -//#define COMMON_ANODE void setup() { - pinMode(redPin, OUTPUT); + pinMode(led, OUTPUT); } void loop() { for ( c = 0; c < 255 ; c++) { - analogWrite(redPin, c) ; + analogWrite(led, c) ; + delay(5 ); + } + // Now reverse + for ( c = 255; c > 0 ; c--) { + analogWrite(led, c) ; delay(5 ); } } + diff --git a/shift_register/shift_register_serial/shift_register_serial.ino b/shift_register/shift_register_serial/shift_register_serial.ino index bb82c9a..38b5d7c 100644 --- a/shift_register/shift_register_serial/shift_register_serial.ino +++ b/shift_register/shift_register_serial/shift_register_serial.ino @@ -6,7 +6,7 @@ of a 74HC595 shift register. Hardware: - * 74HC595 shift register attached to pins 2, 3, and 4 of the Arduino, + * 74HC595 shift register attached to pins 8, 12, and 11 of the Arduino, as detailed below. * LEDs attached to each of the outputs of the shift register -- 2.39.2