我正在尝试修改此代码,以使其适用于Arduino Mega.我对C很陌生,所以我可能犯了一些重大错误.顺便说一下,这是一个自平衡滑板.
这段代码取自ATmega32(来自这里),我试图让它在Arduino Mega上运行.
此代码是为ATmega32开发板编写的.
我做了一些修改(纠正了一些错误),但最后,我遇到了:
在函数'int main()'中:
错误:'int main()的重新定义
这是完整的代码:
#include <avr/io.h>
#include <avr/pgmspace.h>
#include <avr/interrupt.h>
#include <math.h>
#define CLOCK_SPEED 16000000
#define OCR1_MAX 1023
typedef unsigned char u8;
void set_motor_idle(void);
void InitPorts(void);
float level=0;
float Throttle_pedal;
float aa;
float accelraw;
float x_acc;
float accsum;
float x_accdeg;
float gyrosum;
float gangleratedeg;
float gangleraterads;
float ti = 2.2;
float overallgain;
float gaincontrol;
float batteryvolts = 24;
float gyroangledt;
float angle;
float anglerads;
float balance_torque;
float softstart;
float …Run Code Online (Sandbox Code Playgroud) 我试图用加速度计移动图像:
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
image.center = CGPointMake(acceleration.x, acceleration.y);
}
Run Code Online (Sandbox Code Playgroud)
当我测试应用程序时,应该移动的图像只是位于x0 y0位置.
我宣布加速度计,称为.h UIAccelerometerDelegate等等...
我究竟做错了什么?
提前致谢!-DD
大家好我想用加速度计值移动图像,但是我无法做到.任何人都可以帮我这样做,我已经在Android开发者网站上看过示例代码,但无法正确理解.
有人知道CMMotionmanager.deviceMotion及其子属性的每个属性,它们基于什么样的硬件(磁力计,加速度计,陀螺仪......)?
我的问题是关于硬件,而不是软件.
我需要知道CMMotionManager从哪个硬件中获取其值,以了解我的CMMotionManager调用哪种类型的iPhone将起作用.并在我的网站上写下随后的文字.
那么用什么硬件构建:
deviceMotion.attitude.roll
deviceMotion.attitude.pitch
deviceMotion.attitude.yaw
deviceMotion.rotationRate(唯一的陀螺仪?带iOS4的Iphone 4/4S)
deviceMotion.gravity(唯一的加速计?所以它适用于所有iOS4的iPhone)
deviceMotion.userAcceleration(唯一的加速度计?所以它应该适用于iOS4的所有iPhone)
deviceMotion.magneticFied(唯一的磁力计?Iphone 3GS/4/4S与iOS4)
我正在尝试编写一个将手机放在桌子上的小型 android 游戏。
屏幕上有一个球,用户通过移动手机来控制它的移动。
在整个游戏过程中,用户不会从桌子上拿起电话。
一开始,球会放在屏幕中间:

从用户推送电话:


应该将球移向智能手机屏幕的顶部:

从球的当前位置,将手机移回用户,并向右移动:


将相应地移动球:
我读了Android的运动传感器指南仔细,但我甚至没有意识到发生了什么Sensor\Sensors我应该使用。
我很想得到任何指示。
我正在通过 FFT 分析加速度计数据,因为有人建议我从 FFT 的输出中获取有关频率的信息。FFT 的输出如何与频率信息相关。
FFT 函数被传递一个值数组(所有实数)。FFT 函数返回 2 个相同大小的数组 - 对于实数和复数部分。
我阅读了之前的一些帖子,但仍然对如何从 FFT 的输出数组中提取频率信息感到困惑。1. 输出数组是一个频率数组吗?数组是有序的吗?1.输出数组的每个索引是什么意思?有人建议您可以计算每个索引的大小 - sort (real[i]* real[i] + img[i] * img[i]) 2. 每个索引的大小是否与索引中的索引有关输入数组 - 或者这是一个频率?3. 如何找到主频?
在iOS中,我正在使用可从事件(CMAccelerometerData *)获得的事件时间戳,
我想知道其引用的是2001年还是1970年?
我找不到解释时间戳详细信息的适当文档。
尝试测量基于距离的加速度(加速度计移动).如果那是真的
Accelerometer {
id: accel
dataRate: 1000 / 25
onReadingChanged: {
console.log(reading.x, reading.y, reading.z);
}
}
Run Code Online (Sandbox Code Playgroud)
在控制台中
D/libsensor.so(16533): qrc:/main.qml:20 (onReadingChanged): qml: 1.359906554222107,8.791508674621582,-0.4405331015586853
Run Code Online (Sandbox Code Playgroud)
现在,当您显示信息并使移动设备完全静止(静止)时.显示所有轴的加速度,这是荒谬的!你知道为什么吗?
我在同时从加速度计和陀螺仪获取数据时遇到了一些问题。我需要使用这些传感器来获取加速度和方向,以便计算我正在处理的项目的相对位置。当两个传感器同时使用时,它会导致一些非常奇怪的数据输出,其中数据每秒只更改一次。当只运行加速度计时,数据并没有好多少,因为它在最快的设置下每秒只改变大约 10 次。该数据被打印到一个带有每个传感器读数的时间戳的文件中。
我在互联网上找不到教程,特别是同时使用多个传感器。我是否需要将每个传感器放在不同的线程上?我没有太多使用线程的经验,我怎么能做到这一点。
我正在开发一个读取来自加速度计的数据的应用程序,我想将它们保存在 .txt 文件中,以便我以后可以处理它们。
到目前为止,我已经能够获得读数并只保存一个读数,因为据我所知,我总是创建一个新文件来覆盖以前存在的文件。但我想要的是从我按下开始按钮的那一刻起,直到按下停止按钮,所有的测量值。
这是我正在使用的代码:
public class MainActivity extends AppCompatActivity implements SensorEventListener, View.OnClickListener {
private SensorManager mSensorManager;
private Sensor mAccelerometer;
private Button bStart, bStop;
float[] acceleration = new float[3];
private String mString;
MyFile file = new MyFile(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bStart = (Button)findViewById(R.id.start);
bStop = (Button)findViewById(R.id.stop);
mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
bStart.setOnClickListener(this);
bStop.setOnClickListener(this);
bStart.setEnabled(true);
bStop.setEnabled(false);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {}
public final void onSensorChanged(SensorEvent event){
if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER){
acceleration[0] = event.values[0];
acceleration[1] …Run Code Online (Sandbox Code Playgroud)