несколько диспеев на max7219
- Войдите на сайт для отправки комментариев
Чт, 03/11/2016 - 20:43
Есть у меня два дисплея на MAX7219 на первий вся вивести получается а вот второй молчит.
Вот код там много ненужного и недоработаного ма только нада узнать как вивести свое значения на 1й 2й и так дальше дисплеи.
#include "DHT.h" #include "LedControlMS.h" #include <DS1307.h> #define DHTPIN 2 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); int set_button ; int set_button_t ; int set_button_pin = 7; int set_button_pin_t = 6; int newhour ; int newminute ; int hundreds = 0; int tens = 0; int ones = 0; int hundredsH = 0; int tensH = 0; int onesH = 0; int T1 = 0; int H1 = 0; char mm = ' '; int cof = 0; DS1307 rtc(4, 5);\ // I assume you know how to connect the DS1307. // DS1307: SDA pin -> Arduino Digital 4 // SCL pin -> Arduino Digital 5 /* ***** These pin numbers will probably not work with your hardware ***** pin 12 is connected to the DataIn pin 11 is connected to the CLK pin 10 is connected to LOAD We have only a single MAX72XX. */ // I assume you know how to connect the DS1307. // DS1307: SDA pin -> Arduino Digital 4 // SCL pin -> Arduino Digital 5 LedControl lc=LedControl(12,11,10,2); unsigned long delaytime=250; void setup() { rtc.halt(false); pinMode(set_button_pin, INPUT); pinMode(set_button_pin_t, INPUT); lc.shutdown(0,false); lc.shutdown(1,false); lc.setIntensity(0,8); lc.shutdown(1,false); Serial.begin(9600); pinMode(2, INPUT); digitalWrite(2, HIGH); pinMode(3, INPUT); digitalWrite(3, HIGH); dht.begin(); } void writeOn7Segment() { lc.setChar(0,0,ones,false); lc.setChar(0,1,tens,true); lc.setChar(0,2,hundreds,false); lc.setChar(0,3,mm,false); lc.setChar(0,4,onesH,false); lc.setChar(0,5,tensH,true); lc.setChar(0,6,hundredsH,false); lc.setChar(0,7,' ',false); } void timing(){ set_button = digitalRead(set_button_pin); if(set_button==1){ newhour++ ; if(newhour > 24){ newhour = newhour-25; } rtc.setTime(newhour, newminute, 0); delay (300); } set_button_t = digitalRead(set_button_pin_t); if(set_button_t==1){ newminute++ ; if(newminute > 60){ newminute = newminute-61; } rtc.setTime(newhour, newminute, 0); delay (300); } Serial.print(rtc.getDOWStr()); Serial.print(" "); Serial.print(rtc.getDateStr()); Serial.print(" -- "); Serial.println(rtc.getTimeStr()); Serial.println(set_button); delay (10); } void loop() { timing(); writeOn7Segment(); float H = dht.readHumidity(); float T = dht.readTemperature(); float hic = dht.computeHeatIndex(T, H, false); int i = 0; if(H>95){ H = H + 1.1; } if(T<0){ mm = '-'; T = T*-1; cof = 1; }else{ mm = ' ' ; cof = 0; } T1 =T*10; hundreds = T1/100; tens=(T1-hundreds*100)/10; ones=T1-(hundreds*100+tens*10); H1 = H*10; hundredsH = H1/100; tensH=(H1-hundredsH*100)/10; onesH=H1-(hundredsH*100+tensH*10); }
Нужно сначала инициализировать второй (и третий , и т.д) дисплеи в сетапе
А потом и в скетче выводить на первый -то , на второй - другое
спасибо работает :)