ئەسسالامۇ ئەلەيكۇم مۇنبەردىكى بارلىق قېرىنداشلار بۈگۈن مەن سىلەرگە، يانتۇلۇق سېنزور ئارقىلىق لىدى
چىراقلارنى يىقىش، ۋە ئۆچۈرۈش تەجرىبىسىنى سۆزلەپ ئۆتمەكچى.بۇنىڭغا كېتىدىغان ماتېرىيال.
adxl345يانتۇلۇق سېنزور.
يېتەرلىك ئۇلاش سىمى.
خالىغان تىپتىكى ئاردينو.
بۇلار تەييارلىنىپ بولۇپ توك يولىنى ئۇلايمىز.
arduino a4-----sda
arduino a5-----scl
arduino 3vcc-----3vcc
arduino gnd-----gnd
arduino 13 ---- led
arduino 12 ----led
arduino 11----led
arduino 10----led
توك يولى ئۇلىغاندىن كېيىن، تۆۋەندىكى كودنى يېزىڭ.يېزىشتىن بۇرۇن ئامبار ھۆججىتىنى كۆچۈرۈشنى ئۇنۇتماڭ.بۇپقاسا كوچۇرمەڭ.
#include
#define ADXLAddress (0x53)
int xAcc, yAcc, zAcc;
int buff[6];
int a_offx = 0;
int a_offy = 0;
int a_offz = 0;
void writeRegister(int deviceAddress, byte address, byte val)
{
Wire.beginTransmission(deviceAddress);
Wire.write(address);
Wire.write(val);
Wire.endTransmission();
}
void readRegister(int deviceAddress, byte address)
{
Wire.beginTransmission(deviceAddress);
Wire.write(address);
Wire.endTransmission();
Wire.beginTransmission(deviceAddress);
Wire.requestFrom(deviceAddress, 6);
int i = 0;
while(Wire.available())
{ buff[i++] = Wire.read(); }
Wire.endTransmission();
}
void initAcc()
{
writeRegister (ADXLAddress, 0x2C, 0x09);
writeRegister (ADXLAddress, 0x2D, 0x08);
}
void getAccData()
{
readRegister(ADXLAddress, 0x32);
xAcc = ((buff[1] << 8) | buff[0] )+ a_offx;
yAcc = ((buff[3] << 8) | buff[2] )+ a_offy;
zAcc = ((buff[5] << 8) | buff[4]) + a_offz;
}
void setup()
{
Serial.begin(9600);
pinMode(13,1);
pinMode(12,1);
pinMode(11,1);
pinMode(10,1);
Wire.begin();
initAcc();
delay(50);
}
void loop()
{
getAccData();
Serial.print("xAcc=");
Serial.print(xAcc);
Serial.print(" yAcc=");
Serial.print(yAcc);
Serial.print(" zAcc=");
Serial.println(zAcc);
delay(200);
if(xAcc<-250)
{digitalWrite(13,1);
digitalWrite(12,0);
}else if(xAcc>0)
{digitalWrite(13,0);
digitalWrite(12,1);}
if(yAcc<-250)
{digitalWrite(11,1);
digitalWrite(10,0);}
else if(yAcc>0)
{digitalWrite(11,0);
digitalWrite(10,1);}
}
يۇكۇئغا كىرىپ arduino ni asla دەپ كڭرگۇزۇڭ سۇرەتلىك فىلمى چىقىدۇ |
|