Chua chaotic oscillator and MCP4922 DAC

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "MCP4922.h"
00003 
00004 MCP4922 MCP(p5, p7,p8);  // MOSI, SCLK, CS
00005 
00006 int main() {
00007 
00008     MCP.frequency(1000000);
00009 
00010     float x = 0.5;
00011     float y = 0.25;
00012     float z = 0.125;
00013     float oldx = 0;
00014     float oldy = 0;
00015     float oldz = 0;
00016         
00017     float dt = 0.005;
00018     
00019     float alpha = 15.6;
00020     float beta = 28.58;
00021     float a = -1.14286;
00022     float b = -0.714286;
00023     float h = 0;
00024     
00025     int xout = 0;
00026     int yout = 0;
00027 
00028     while (1) {
00029 
00030     oldx = x;
00031     oldy = y;
00032     oldz = z;
00033 
00034     h = (b * x) + (0.5 * (a - b) * (abs(x+1) - abs(x-1)));
00035                 
00036     x = oldx + dt * (alpha * (oldy - oldx - h));
00037     y = oldy + dt * (oldx - oldy + oldz);
00038     z = oldz + dt * (-beta * oldy);
00039     
00040     xout = 2047+(850*x);        
00041     yout = 2047+6*(800*y);
00042    
00043     MCP.writeA(xout);
00044     MCP.writeB(yout);
00045 
00046     }
00047 }