Skip to content

Commit 9e32b68

Browse files
committed
Added SWEEP MODE
Added "sweep mode". Removed LCD screen version because it was out of date.
1 parent f5a413a commit 9e32b68

File tree

3 files changed

+152
-369
lines changed

3 files changed

+152
-369
lines changed

Diff for: README.md

+5-9
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,22 @@
11
# Arduino Function Generator
22

3-
A function / signal generator based on the AD9833 function generator chip. It uses an LCD screen to display a waveform menu and output frequency, and has 5 input buttons (up, down, left, right, select) which are
3+
A function / signal generator based on the AD9833 function generator chip. It uses an OLED screen to display a waveform menu and output frequency, and has 5 input buttons (up, down, left, right, select) which are
44
used to change frequency and waveform.<br>
5-
There are two Arduino .INO files included; one for an LCD display, and one for an OLED display. Although both have the same result, are written differently to account for different screen behavioiur.<br>
6-
* function_generator_lcd.ino uses an LCD display and updates only parts of the display that have changed because of a slow, old, LCD driver.
7-
* function_generator_oled.ino is slightly more simple logic flow and updates the whole display with each user input. I would recommend starting with this version and modifying to suit your needs.
5+
**Added in Version 1.1** - Can do "sweep mode" by pressing and holding the select button. This will repeatedly sweep through frequencies starting at the selected frequency up to +1 MHz, or +10 MHz.
86
<br>
97

108
## Installation
119
* Download the ZIP file and extract it to your Arduino folder.
1210
* Download and install the AD9833 library here: https://github.com/BasicCode/AD9833-arduino
13-
###Choose a display library:
14-
* Download and install the LCD library here: https://github.com/BasicCode/4DSystems_uLCD-144-G1-arduino
1511
* The OLED display uses two libraries from Adafruit (Thanks!). The SSD1306 driver: https://github.com/adafruit/Adafruit_SSD1306 and the graphics routines: https://github.com/adafruit/Adafruit-GFX-Library
1612

1713
## Build
1814
### Prototyping
19-
Prototyping on a breadboard the LCD and OLED displays should look like this:
20-
![picture](images/LCD_display.jpg)<br>
21-
128 x 128 px LCD display example<br><br>
15+
Prototyping on a breadboard looked like this:
2216
![picture](images/OLED_display.jpg)<br>
2317
128 x 32 px OLED display example.<br>
18+
This works fine and the extra wire lengths do not seem to disturb the output signal.<br>
19+
2420
### Fabrication
2521
I used a program called pcbWeb (http://www.pcbweb.com/) to design the circuit and PCB, then send the files off to one of the distributors included in the program. The whole process was very easy and the
2622
printed boards arrived after about 10 days. To my surprise I hadn't made any major mistakes on the board design and the fabrication was flawless. I found that it was cheaper to buy knock-off Arduino Nano

Diff for: function_generator_lcd/function_generator_lcd.ino

-336
This file was deleted.

0 commit comments

Comments
 (0)