0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
1

Mag3110 output

13.03.2018, 16:28. Показов 1226. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте у меня такая проблема никогда не работал с arduino но дали задание с датчика mag3110 вытянуть output и на их основе построить график
каким образом мне это сделать может быть какой-то сокет есть для потока данных?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2018, 16:28
Ответы с готовыми решениями:

Raspberry pi 4 (Windows 10 IOT) - GpioPinDriveMode.Output (Разновидности Output)
Метод SetDriveMode - задает режимы работы пина. Режим Input и Output это понятно...

Output Compare
Доброго времени суток. Изучать микроконтроллеры начал недавно, возникло желание собрать симисторный...

MSP430: output to TFT LCD
Вопрос один: что сможет сделать MSP430 с такой железкой? 7ymsh TFT LCD Module Dysplay Touch...

Как переконфигурировать пин на лету из уарт в output и обратно?
Исходные данные: STM L053R8 библиотеки HAL Вот весь код: char start_posilka_abs = 0x81;//начало...

Что может значить такая ошибка. Ambiguity between 'Output' and 'System::Output'
Если кто может, помогите разобраться с этой ошибкой. Unit1.cpp(85): E2015 Ambiguity between...

3
515 / 407 / 188
Регистрация: 08.04.2013
Сообщений: 1,738
13.03.2018, 19:02 2
А просто построить какой нибудь график на чем умеете еще не пробовали?
0
0 / 0 / 0
Регистрация: 16.02.2016
Сообщений: 101
13.03.2018, 19:41  [ТС] 3
marat_miaki, для меня проблема получения данных с датчика, а график умею пробовал
0
515 / 407 / 188
Регистрация: 08.04.2013
Сообщений: 1,738
14.03.2018, 01:18 4
Это скетч работы с mag3110
Serial.print(read_x()); передает информацию в сом порт.
Можно как вариант слушать сом порт и в вашу программу считывать. Можно записать в файл на SD и дальше с ним работать, более опытные может что получше подскажут

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
  
 
#include <Wire.h>
 
#define MAG_ADDR  0x0E //7-bit address for the MAG3110, doesn't change
// #define MAG_ADDR  0x3F    // может и так быть
  
void setup()
{
  Wire.begin();        // join i2c bus (address optional for master)
  Serial.begin(9600);  // start serial for output
  config();            // turn the MAG3110 on
}
 
void loop()
{
  print_values();
  delay(5);
}
 
void config(void)
{
  Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E
  Wire.write(0x11);             // cntrl register2
  Wire.write(0x80);             // write 0x80, enable auto resets
  Wire.endTransmission();       // stop transmitting
  delay(15); 
  Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E
  Wire.write(0x10);             // cntrl register1
  Wire.write(1);                // write 0x01, active mode
  Wire.endTransmission();       // stop transmitting
}
 
void print_values(void)
{
  Serial.print("x=");
  Serial.print(read_x());
  Serial.print(",");  
  Serial.print("y=");    
  Serial.print(read_y());
  Serial.print(",");       
  Serial.print("z=");    
  Serial.println(read_z());
}
 
int mag_read_register(int reg)
{
  int reg_val;
 
  Wire.beginTransmission(MAG_ADDR); // transmit to device 0x0E
  Wire.write(reg);              // x MSB reg
  Wire.endTransmission();       // stop transmitting
  delayMicroseconds(2); //needs at least 1.3us free time between start and stop
 
  Wire.requestFrom(MAG_ADDR, 1); // request 1 byte
  while(Wire.available())    // slave may write less than requested
  { 
    reg_val = Wire.read(); // read the byte
  }
 
  return reg_val;
}
 
int mag_read_value(int msb_reg, int lsb_reg)
{
  int val_low, val_high;  //define the MSB and LSB
  val_high = mag_read_register(msb_reg);
  delayMicroseconds(2); //needs at least 1.3us free time between start and stop
  val_low = mag_read_register(lsb_reg);
  int out = (val_low|(val_high << 8)); //concatenate the MSB and LSB
  return out;
}
 
int read_x(void)
{
  return mag_read_value(0x01, 0x02);
}
 
int read_y(void)
{
  return mag_read_value(0x03, 0x04);
}
 
int read_z(void)
{
  return mag_read_value(0x05, 0x06);
}
0
14.03.2018, 01:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.03.2018, 01:18
Помогаю со студенческими работами здесь

как сделать в MS VS 2010 express output не в консоль в output windows
сабж заранее спасибо

Передать значение из <output id="rezultat"></output>
Результаты явой записываются в &lt;output id=&quot;rezultat&quot;&gt;&lt;/output&gt; Мне нужно этим результатом...

Output в Си
Всем привет, как мне сделать здесь чтоб после последнего значения которое будет выводиться не было...

Too many output arguments
Помогите найти ошибку. Может я неправильно вызываю функцию? Вызываю так: y = v_18(1,5).Вот код...

Too many output arguments
function mods = task_2(Tmod,kots,fmod,phi,type) A=1; t=0:1/kots/fmod:Tmod; if type==&quot;rect&quot; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru