In this article, we discuss about using CC2531 USB Evaluation Module Kit for wireless communication. At first, a zip file - CC USB Firmware Library and Examples, was downloaded from TI's website. After that, USB RF Modem Example in CC USB Software Examples User’s Guide was tested.
Wednesday, November 25, 2015
CC2531 Zigbee USB Dongle
Labels:
2.4 GHz,
8051,
C,
C++,
CC2530,
Circuit,
Communication,
Electronics,
firmware,
Free Software,
Hardware,
IAR,
IEEE 802.15.4,
Microcontroller,
Robotics,
TI,
USB,
Wireless,
Zigbee
Tuesday, November 24, 2015
Wireless Communication using CC2530 Zigbee Wireless MCU
CC2530 is an system-on-chip (SoC) solution for IEEE 802.15.4 and Zigbee that combines RF transceiver and 8051 MCU. To develop a wireless module using it, we had bought a CC2530DK devolopment kit that consists of 2 CC2530EM Evaluation Modules, 2 SmartRF05EB Evaluation Boards, and a CC2531 USB Dongle. It cost about USD 400. At first, we installed SmartRF Studio which was available for free at TI's website.
Labels:
2.4 GHz,
8051,
C,
C++,
CC2530,
Circuit,
Communication,
Electronics,
firmware,
Free Software,
Hardware,
IAR,
IEEE 802.15.4,
Microcontroller,
Robotics,
TI,
Wireless,
Zigbee
Monday, November 16, 2015
Fitting a curve to a function
An example MatLab code to fit a curve to a piecewise linear function with the fixed end points.
LineSeg.m
%Fitting a curve to a piecewise linear function using least square method
%with the fixed start and end points
%clear command windows
clc;
%clear workspace
clear all;
%--------------------------------------------------------------------------
%Read curves
load Curve.dat;
%find lower left and upper right corners
xD=Curve(1,:);
yD=Curve(2,:);
x0=min(xD); x1=max(xD);
y0=min(yD); y1=max(yD);
n=5;%order n i.e, the number of segments
FS=x1-x0;
global xs;
global yB;
global yE;
xs=(0:FS/n:FS);
yB=y0;
yE=y1;
%initialize coefficients (y values) to find
%excluding the first and the last one
ys_initial=xs(2:n);
% options = optimset('MaxFunEvals',1000,'MaxIter',1000);
% LowerBoundC=y0;
% UpperBoundC=y1;
% ys =lsqcurvefit(@LineSeg,ys_initial,xD,yD,LowerBoundC,UpperBoundC,options);
ys =lsqcurvefit(@LineSeg,ys_initial,xD,yD);
%fixed start and end points
ys=[y0 ys y1];
%--------------------------------------------------------------------------
%Plot
hFig1 = figure(1);
set(hFig1, 'Position', [600 100 500 300])
plot(xD,yD,':g','LineWidth',3,...
'MarkerEdgeColor','b',...
'MarkerFaceColor','b',...
'MarkerSize',2)
hold on;
plot(xs,ys,'-rs','LineWidth',1,...
'MarkerEdgeColor','r',...
'MarkerFaceColor','r',...
'MarkerSize',4)
hold off;
grid on;
%--------------------------------------------------------------------------
LineSeg.m
function [y] = LineSeg(ys,x)
global xs
global yB
global yE
L=length(x);
y=zeros(1,L);
ys=[yB ys yE];
LS=length(ys);
for i=1:L
xt=x(i);
%--------------------------
%find segment
for j=2:LS
if(xs(j)>=xt)
break;
end
end
%interpolate
x2=xs(j);
y2=ys(j);
y1=ys(j-1);
x1=xs(j-1);
y(i)=y1+(y2-y1)/(x2-x1)*(xt-x1);
%--------------------------
end
Subscribe to:
Comments (Atom)


