#include <wiringPi.h>
#include <stdio.h>
int moneyPin=2;
int zapretaPin = 5;
int money=0;
int sum=0;
int timeAllPulse=3000; // макс. время приема купюры
int timeCount=0;
void count_pulse(void)
{
money++;
if(money==1)
timeCount=millis();
wiringPiISR(0,INT_EDGE_FALLING,count_pulse);
}
void init()
{
printf("%s\n","Start inicialising");
wiringPiSetup();
pinMode(zapretaPin,OUTPUT);
pinMode(moneyPin,INPUT);
wiringPiISR(0,INT_EDGE_FALLING,count_pulse);
printf("%s\n","initialised");
}
void main()
{
init();
printf("%s\n","Start listening");
for(;{
digitalWrite(zapretaPin, LOW);
if(money>0 && (millis()-timeCount)>timeAllPulse)
{
sum+=money;
money=0;
printf("%s","Kredit= ");
printf("%d",sum);
}
}
}
Собственно такое вот получилось на си, с питоном не совладал, как тестовый скетч для распбери пи
Только вот незадача с силами тока выходит, принимает он данные полностью отличающиеся от ардуины.
В ардуине была связка 4.7К резистор + 5В на усиление и приходило конкретное количество импульсов согласно стандарту MDB
В распбери сейчас же приходит каждый раз разное количество импульсов хоть и варьируется в зависимости от номинала
Подскажите куда копнуть или как все же откалибровать эту заразу чтоб она нормально считала.
http://technical.vending.org/MDB_3.0.pdf вот дока по MDB но я не особо доганяю что в результате)