Помощь новичку с Mega 2560
- Войдите на сайт для отправки комментариев
Пнд, 21/07/2014 - 19:04
В общем ситуация следующая.
Есть Mega 2560 и есть купюрник APEX 540.
Пытаюсь их подружить но понятия не имею на кокую ногу кидать импульс с приемника.Нашел скетч работы с мотнетником но как я понял поддержка купюрника тож есть.
Вот схема подключения но в datasheet atmega2560 прямого обозначения D1 D2 и т.д.
// купюник IC A7 V7 const int moneyPin1=2; // монетник CH-926 const int moneyPin2=3; int pulse1=0; int pulse2=0; unsigned long timeAllPulse1=2000; // макс. время приема купюры unsigned long timeAllPulse2=1000; // макс. время приема монеты unsigned long timeCount1=0; unsigned long timeCount2=0; float nominals2[6]={0,0.5,1,2,10,5}; float sum=0.0; // дисплей WH1602 #include "LiquidCrystal.h" LiquidCrystal lcd(12,11,7,6,5,4); void setup() { Serial.begin(9600); pinMode(moneyPin1,INPUT); pinMode(moneyPin2,INPUT); //attachInterrupt(0,count_pulse,FALLING); attachInterrupt(1,count_pulse2,FALLING); lcd.begin(16,2); lcd.clear(); lcd.setCursor(0,0); lcd.print("coin ok!"); } void loop() { // прошло максимальное время приема монеты? if(pulse2>0 && (millis()-timeCount2)>timeAllPulse2) { sum+=nominals2[pulse2]; Serial.println(nominals2[pulse2]); lcd.clear(); lcd.setCursor(0,0);lcd.print("1="); lcd.setCursor(2,0);lcd.print(nominals2[pulse2]); lcd.setCursor(0,1);lcd.print("*="); lcd.setCursor(2,1);lcd.print(sum); pulse2=0; } } // обработка прерывания монетоприемника - получить кол-во импульсов // void count_pulse2() { //detachInterrupt(0); detachInterrupt(1); pulse2++; if(pulse2==1) timeCount2=millis(); //attachInterrupt(0,count_pulse,FALLING); attachInterrupt(1,count_pulse2,FALLING); }
вот скетч который пытаюсь разтормошить. Я уже и методом ты ка пробовал и танцы с бубном нечего не помогает. Я новичек в микроконтроллерах так что не тыкайте паяльником.
Или я возможно неправильно подрубил купюрник.