Kamil Ondrousek
/
DAC-Chua
Chua chaotic oscillator and MCP4922 DAC
Embed:
(wiki syntax)
Show/hide line numbers
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 }
Generated on Tue Jul 12 2022 21:11:13 by 1.7.2