Корпус хоть и многоногий, большинство выводов микросхемы не используется:

Достаточно вывести всего 8 выводов для полной работы с акселерометром adxl312 



Акселерометр может выводить информацию по двум протоколам: I2C  и по SPI

Адрес микросхемы в случае работы по I2C в шестнадцатеричной системе: 0х1D

Таким образом работая с микросхемой по шине I2C при записи байта нужно отправлять 0х3A а при приеме 0x3B

Рабочий диапазон измерений акселерометр может быть выбран из ряда: 1,5g; 3g; 6g; 12g

Выбор диапазона измерений выбирается записью в регистр по адресу 0х31


Логика работы по I2C интерфейсу:



Тестовый код для акселерометра ADX312 в Bascom-AVR


$regfile = "m8def.dat"                     'микроконтроллер ATmega8

$crystal = 8000000                         'частота работы 8МГц

'конфигурируем scl и sda пины
Config Sda = Portb.1                       ' I2C Data
Config Scl = Portb.0                       ' I2C Clock

'константы на биты чтения и записи adxl312
Const Adxl312write = &H3A                  ' бит записи
Const Adxl312read = &H3B                   ' бит чтения


Dim Data0x As Byte
Dim Data1x As Byte
Dim Data0y As Byte
Dim Data1y As Byte
Dim Data0z As Byte
Dim Data1z As Byte


Do

Gosub Adxl312

Loop


End                              'end program

Adxl312:

I2cstart                         'даем старт шине
I2cwbyte Adxl312write            'отправляем бит записи
I2cwbyte &H32                    'отправляем адрес откуда нужно считать
I2cstart                         'повторный старт
I2cwbyte Adxl312read             'отправляем бит чтения
I2crbyte Data0x , Ack            'принимаем данные для трех осей
I2crbyte Data1x , Ack
I2crbyte Data0y , Ack
I2crbyte Data1y , Ack
I2crbyte Data0z , Ack
I2crbyte Data1z , Nack           'заканчиваем прием командой nack
I2cstop                           'закрываем шину

Return


Осталось сложить байты для кождых из осей и вывести показанию любым удобным способом. По умолчанию акселерометр начинает работать в диапазоне измерений 1,5g


   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order
авторизация
Логин:
Пароль:
Комментарии
Передача измеренной температуры по радиоканалу. Связка NRF24L01+ и DS18B20
16.08.2017 - sand:
Собрал обе схемы. На передатчике светодиоды ведут себя как на видео. На приемник...
Детектор утечки бытового газа на датчике MQ-4
28.07.2017 - ak74xxx:
Да и исходник почему то не открывается
Детектор утечки бытового газа на датчике MQ-4
28.07.2017 - ak74xxx:
Всем привет,может есть у кого печатка в Sprint Layout?
Термометр на Tiny2313 и ds18b20. Вывод температуры на семисегментный индикатор
25.07.2017 - Aisek:
Не туда написал коммент.
Опрос большого количества датчиков DS18B20 в Bascom-AVR
25.07.2017 - Aisek:
Сделал в протеусе симуляцию кажет отрицательную температуру. Откуда? Если в коде...
Термометр на Tiny2313 и ds18b20. Вывод температуры на семисегментный индикатор
25.07.2017 - Aisek:
Сдела в протеусе симуляцию кажет отрицательную температуру. Откуда? Если в коде ...
Направлятор
21.07.2017 - алексей1984:
у меня тоже модуль шлет 10 строк, лишние никак не могу отключить, не подскажите ...
Направлятор
21.07.2017 - алексей1984:
Помогите пожалуйста, собрал сей девайс, при включении проходит заставка, выходит...
Бесконтактный датчик температуры MLX90614
02.07.2017 - exersizze:
Да, заработает. Только программу перекомпилировать под 328 камень.