> Описание: Разработка дешевого UART-BT4.0-AtomSwift моста
486DX
Отправлено: 09 Апреля, 2021 - 20:03:15
Post Id



Частый гость


Off-line
Сообщений всего: 53
Дата рег-ции: Сент. 2017  
Откуда: Moscow
Репутация: 0




Спасибо огромное Syph3r! Все отлично работает , буду делать апгейд своему СРП68)
Не могу никак разобраться с CPM . как передать приложению множитель, что бы значение CPM рассчитывалось верно?
 
 Top
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА
а пока можете посетить ресурс: блог сисадмина-пайщика




Убедительная просьба для всех. Загружайте пожалуйста фотографии в нашу фотогалерею по адресу http://rhbz.pw У кого нет учетной записи - отпишитесь в этой теме ЗДЕСЬ либо в ЛС к BON'у
Syph3r
Отправлено: 09 Апреля, 2021 - 22:29:00
Post Id



Частый гость


Off-line
Сообщений всего: 96
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 26




486DX 0x60. Нужно правильно вычислить и передать по этому адресу. Это чувствительность датчика твоего. Для СБМ20 она равна 78 импульсов на мкР. У СРП поди что нибудь около нескольких тысяч. Смотри пример для винды, там можно понять что куда передавать и как. Несколькими постами ранее была ссылка на немецкий форум, там парни успешно осваивают привязку к ардуине.
 
 Top
elexx
Отправлено: 13 Апреля, 2021 - 10:16:51
Post Id


Бывалый


Off-line
Сообщений всего: 16
Дата рег-ции: Июль 2018  
Откуда: Europe/EastGermany/Saxony/Werdau
Репутация: 4




 486DX пишет:
Не могу никак разобраться с CPM . как передать приложению множитель, что бы з


Use some Code like this (example):

CODE:
#define CalFactor 1930.0 // Zählrohr-Kalibrierungsfaktor in counts / µR SBM-20:78, AF 7735:1700

void loop() {
BluetoothPutKalib (CalFactor); // Sende den Kalibrierfaktor in counts/µR
}


void BluetoothPutKalib (float value){
byte * p = (byte *) & value; // p ist ein Pointer auf ein Array von Bytes
Serial.write(0xA0); // SCHREIBEN!
Serial.write(0x60); // Kalibrierwert
Serial.write(p,4); // Serial.write(buf, len), 4 Byte
}


Note the type of the variable: It must be FLOAT.

In the App the cpm-reading in the SEARCH-Mode is calculated backwards from the doserate. First of all, the reading of the doserate in the SEARCH-Mode *must* be working correctly.

The Doserate in the MEASURE-Mode is calculated from the difference of two doses between start of measurement and "now". To get the MEASURE-Mode working, the reading of the *Dose* must be working correctly.

-----
Немецкий счетчик гейгеров форум: https://www.geigerzaehlerforum.de
 
 Top
Nikita71
Отправлено: 15 Июля, 2021 - 22:43:24
Post Id



Частый гость


Off-line
Сообщений всего: 95
Дата рег-ции: Сент. 2020  
Откуда: Україна Київ
Репутация: 2




Приставка счетчик для дшки . (Мой старый проект на который я забил. Вот решил выложить, вдруг кому-то пригодится.)





схема :


микросхема К155АГ1, оба конденсатора по 0.1мкф,
подстроечный резистор на 1 кОм.

между тп4056 и vin Ардуино желательно поставить повишайку на 5 и выключатель.



код :
CODE:


by nikita71


unsigned long previousMillis = 0, previousMillis1 = 0;
#include <GyverButton.h>
#define BTN_PIN1 3 // кнопка подключена сюда
GButton butt1(BTN_PIN1);
#define PIN_BUZ 13 // пин пищалки
const float tm_int = 46;
volatile unsigned long k=0;
float rad;
float cps;
volatile int s=0;

unsigned long bt;
int menu = 1;

byte buzzon = 1 ;
byte buzzonbl ;


#define ARRAY_SIZE 10
unsigned long y_array[ARRAY_SIZE];



#include <EEPROM.h>
#define save_DOZ 5 //как часто сохранять накопленную доху например каждые 5мкР
float doz_v = 0.0;
unsigned long time_doza = 75000;
int doza_vr = 0;

long interval = 1000;

void setup() {
Serial.begin(115200);


pinMode(4, OUTPUT);
pinMode(2, INPUT);

attachInterrupt(0, Int0Count, RISING); // импульс с трубки на пинD2 Int0Count

eeprom_readD ();


attachInterrupt(1, isr1, CHANGE);
butt1.setDebounce(40); // настройка антидребезга (по умолчанию 80 мс)
butt1.setTimeout(500); // настройка таймаута на удержание (по умолчанию 500 мс)





}

void loop() {
butt1.tick();
if(butt1.isSingle()){
Serial.println("isSingle");
if(menu == 0){
tone( PIN_BUZ, 3000, 50);
y_array[0] = 0;
y_array[1] = 0;
y_array[2] = 0;
y_array[3] = 0;
y_array[4] = 0;
y_array[5] = 0;
y_array[6] = 0;
y_array[7] = 0;
y_array[8] = 0;
y_array[9] = 0;
k=0;
s=0;
}
if(menu == 1){
tone( PIN_BUZ, 5000, 80);
k=0;
s=0;
y_array[0] = 0;
y_array[1] = 0;
y_array[2] = 0;
y_array[3] = 0;
y_array[4] = 0;
y_array[5] = 0;
y_array[6] = 0;
y_array[7] = 0;
y_array[8] = 0;
y_array[9] = 0;
}
}
if(butt1.isDouble()){
switch(buzzon){
case 1:
buzzon = 0;
tone( PIN_BUZ, 2000, 70);
eeprom_wrD ();
break;
case 0:
tone( PIN_BUZ, 4000, 90);


buzzon = 1;
eeprom_wrD ();
break;
}
}
if(butt1.isTriple()){
time_doza = 0;//сброс накопленной дозы
doz_v = 0;//сброс накопленной дозы
eeprom_wrD();
tone( PIN_BUZ, 2000, 500);

}
if(butt1.isHolded()){

switch (menu){
case 0 :
buzzonbl = buzzon;
buzzon = 1;
tone( PIN_BUZ, 1000, 50);
k=0;
s=0;
menu = 1;
buzzon = buzzonbl;


break;
case 1 :
buzzonbl = buzzon;
buzzon = 1;
tone( PIN_BUZ, 2000, 50);
delay(200);
tone( PIN_BUZ, 2000, 50);
y_array[0] = 0;
y_array[1] = 0;
y_array[2] = 0;
y_array[3] = 0;
y_array[4] = 0;
y_array[5] = 0;
y_array[6] = 0;
y_array[7] = 0;
y_array[8] = 0;
y_array[9] = 0;
menu = 0;
buzzon = buzzonbl;


break;
}
}

if (millis() - previousMillis >= interval) {
previousMillis = millis();


if (menu == 0){

for (byte i = 0; i < ARRAY_SIZE - 1; i++) { // счётчик от 0 до ARRAY_SIZE
y_array[i] = y_array[i + 1]; // сдвинуть массив давлений КРОМЕ ПОСЛЕДНЕЙ ЯЧЕЙКИ на шаг назад
}
// последний элемент массива теперь - новое значение (просто с аналог. датчика)
y_array[ARRAY_SIZE - 1] = bt;
bt = 0;
float Uarray = ( y_array[0] + y_array[1] + y_array[2] + y_array[3] + y_array[4] + y_array[5] ) / 6;
rad = 9.2 * (float)(Uarray + y_array[6] + y_array[7] + y_array[8] + y_array[9] );

Bluetooth ();

}

else {
s++;
rad = tm_int/float(s)*float(k);

if(s > 5){
Bluetooth ();
}
}



doz_v = doz_v + rad / 100.0 / 36.0;
time_doza = time_doza + 1;
if (doz_v - doza_vr >= save_DOZ) {
eeprom_wrD ();
doza_vr = doz_v;
}

BluetoothDoza ();

}

}
void isr1() {
butt1.tick(); // опрашиваем в прерывании, чтобы поймать нажатие в любом случае
}
void Int0Count(){

k++;
bt ++;
if (buzzon == 1){
tone( PIN_BUZ, 1000, 3);
}
}
void Bluetooth (){
double walue;
float value31 = rad * 0.01;
walue = value31;
byte * q = (byte *) & walue;

Serial.write(0xA0);
Serial.write(0x02);
Serial.write(q,4);

}
void BluetoothDoza (){
double value3 ;
value3 = doz_v * 0.00001;
byte * c = (byte *) & value3;
Serial.println();
Serial.write(0xA0);
Serial.write(0x01);
Serial.write(c,4);
}

void eeprom_wrD () {
EEPROM.write(8, buzzon);
byte hi = time_doza >> 8;
byte low = time_doza;
EEPROM.write(9, hi);
EEPROM.write(10, low);
hi = int(doz_v) >> 8;
low = int(doz_v);
EEPROM.write(11, hi);
EEPROM.write(12, low);
}
void eeprom_readD () {
buzzon = EEPROM.read(8);
byte hi = EEPROM.read(9);
byte low = EEPROM.read(10);
time_doza = (hi << 8) | low;
hi = EEPROM.read(11);
low = EEPROM.read(12);
doz_v = (hi << 8) | low;

}

(Отредактировано автором: 15 Июля, 2021 - 22:49:16)

 
 Top
Nikita71
Отправлено: 23 Июля, 2021 - 21:29:07
Post Id



Частый гость


Off-line
Сообщений всего: 95
Дата рег-ции: Сент. 2020  
Откуда: Україна Київ
Репутация: 2




Небольшой гайд по прошивке блютуз модуля для чайников . В видео есть пару неточностей, но не суть)

 
 Top
Digger17
Отправлено: 10 Февраля, 2024 - 13:42:36
Post Id



Активный участник


Off-line
Сообщений всего: 244
Дата рег-ции: Март 2015  
Откуда: USSR
Репутация: 31




 Syph3r пишет:
Сорцы соответственно тут:
https://drive.google.com/file/d/...iew?usp=drivesdk


Ссылка протухшая, ни у кого исходники не остались?
 
 Top
Syph3r
Отправлено: 12 Февраля, 2024 - 07:41:46
Post Id



Частый гость


Off-line
Сообщений всего: 96
Дата рег-ции: Авг. 2018  
Откуда: Россия, Кавказ
Репутация: 26




 Digger17 пишет:
 Syph3r пишет:
Сорцы соответственно тут:
https://drive.google.com/file/d/...iew?usp=drivesdk


Ссылка протухшая, ни у кого исходники не остались?


Создал публичную репу на гите, с мобилы смог загрузить только архивами. Потом загружу нормально, когда время будет и пк под рукой. https://github.com/s4ph3r/ProtonBridge
 
 Top
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Самодельные дозиметрические приборы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 

> Похожие темы: ProtonBridge или используем приложение AtomSwift в самодельном дозиметре
Темы Форум Информация о теме Обновление
Электроприводы
фото часто используемых электроприводов пост тока
Всякая разная электронная аппаратура и оборудование Ответов: 19
Автор темы: _Dovnar
23 Февраля, 2023 - 11:04:17
Автор: BON
Радиостанция Р-168-5УН-1
Отечественно-импортная "новая" разработка
Войсковые средства связи Ответов: 8
Автор темы: camuflage-spb
23 Августа, 2016 - 12:30:24
Автор: Сашок
кто возьмётся за разработку прибора
разработка
Самодельные дозиметрические приборы Ответов: 7
Автор темы: 1qaz2wsx
22 Марта, 2020 - 16:21:13
Автор: Zverozavr
radcomm RC2
Что известно о дозиметре
Американские дозиметрические приборы Ответов: 7
Автор темы: Ilya
09 Февраля, 2018 - 07:15:00
Автор: Ilya
Дозиметр МКС-85 «Школьник»
Информация о дозиметре МКС-85 «Школьник»
Российские современные дозиметрические приборы Ответов: 6
Автор темы: gad969
11 Октября, 2016 - 12:42:25
Автор: gad969
Продам Дозиметр QUARTEX за 1200 р., бесплатная доставка
Куплю/продам дозиметры, радиометры, сцинтилляторы Ответов: 6
Автор темы: a55555
23 Мая, 2017 - 17:33:24
Автор: a55555
SFIORA classic vibro что можете сказать об этом дозиметре
Стои ли его покупать
Российские современные дозиметрические приборы Ответов: 14
Автор темы: mirag
31 Октября, 2017 - 16:04:47
Автор: AndreySkv
Детектор-индикатор радиоактивности Квартекс РД 8901 (Quartex RD 8901)
постперестроечное детище
Отечественные дозиметрические приборы Ответов: 25
Автор темы: Sauron
02 Января, 2020 - 21:41:54
Автор: BON
 

Яндекс.Метрика

Вся информация является собственностью www.rhbz.org и охраняется законом об авторском праве.
Копирование материалов условно разрешено
Copyright © 2010 - 2024 rhbz.org

Powered by ExBB

[Script Execution time: 0.2286]     [ Gzipped ]