P10 Panel sürmek

Merhaba arkadaşlar, P10 panel ile saat ve sıcaklığı gösteren panel yapmak istiyorum. arduino ile p10 led panel nasıl sürülür. teşekkürler.

P10 panel tek renk mi yoksa RGB(3 renk) mi ? Tek renk ise tam adamına rastladın :slight_smile: Yardımıcı oluruz hertürlü. Kolay gelsin.

merhaba bana tek renk ile ilgili bilgi lazım yardımcı olabilirmisiniz.

https://github.com/freetronics/DMD bu linkten led panel kütühanesini(DMD) indir.Yanda “download zip” butonu var zip olarak indir https://code.google.com/p/arduino-timerone/downloads/detail?name=TimerOne-r11.zip&can=2&q= bu linkten timerone kütüphanesini indir Daha sonra bu kütüpheneleri klasörü ile birlikte C:\Program Files (x86)\Arduino\libraries içine at DMD kütühanesi led panel kütüphanesi. Timerone yazdığın yazılımda periyod belirlemek için. DMD kütüphanesi içersinde 2 adet arduino led panel uygulaması örneği var. Şimdilik bunlara bi bak daha sonra bilgi lazım olursa yorum atarsın

Merhabalar hocam Arif ben…Arduino ile P10 panele yazı yazma konusunda tecrübelisiniz galiba bilgi alışverişinde bulunmak istiyorum mümkünse.Kayan yazı yazmak istiyorum ama nasıl bağlantı yapılacak nasıl bir kod lazım hiçbir bilgim yok yardımcı olabilirmisiniz?

http://www.freetronics.com.au/products/dot-matrix-display-32x16-red#.VMZ7UC6b29c linke tıklarsan aşağıda “resources” başlığı altında “DMDCON DMD Connector board Schematic (PDF)” adlı linke tıkla. Arduino ile p10 panel bağlantı şeması var. Hangi ucu hangi uca bağlayacağın yazıyor. Ayrıca yukarıda belirttiğim kütüphanleri indirip C:\Program Files (x86)\Arduino\libraries klasörünün içine at. DMD kütüphanesinin içinde 2 adet p10 panel-arduino uygulaması var. Uygulamadaki komutları kurcalayarak ne işe yaradıklarını anlayabilirsin. Eğer anlamazsan hangi komutun ne işe yaradığını yazarsın. Uzun süredir foruma girmedim. Ama bundan sonra daha sık girerim. Problemin olursa yazarsın yardımcı oluruz.

Herkese merhaba. Elimde Arduino uno ve p10 panel var ama arduino uygulamalarında çok tecrübem yok. yukarıda bahsettiğiniz gibi kütüphaneye DMD ve timerone klasörlerini ekledim. bağlantı şemasındaki gibi bağlantıları yaptım ama C G D pinleri boşta kaldı ve çalışmadı. (panelde birkaç led nokta gibi dağınık yanıyor,ilgili örnekleri yükleme esnasında sönüyor ve sorun aynen devam ediyor) c g d pinleri uno’da yok P10 panel uygulaması uno’da yapılamaz mı? arduino usb üzedinden güc alıyor, p10 panel ayrı bir güç kaynağından, sorun bu mu? (yani uno’nun güç girişinden ayrı bir adaptör ile beslenmesi mi gerekir?) Bu konuda tecrübesi olan arkadaşlar yardımcı olursa çok sevinirim.

kendi soruma cevap veriyorum. sorun bağlantı kablosundaymış. Kütüphaneleri ekleyip bağlantıları yapınca sorunsuz çalışıyor. C G D pinleri boşta kalıyor ne işe yaradığını öğrenemedim. arduino gücünü usb den ya da harici adaptörden alsa da çalışıyor.

merhabalar bnde p10 16x32 lik led panel ve arduino uno var bn arduinodn okuduğum sensörü p10 da görmek istiyorum yapan varsa devre şeması ve kodlarıyla gönderebilir mi dot matrix değil normal p10 ve tf 41367 var nasıl bi bağlantı kurabilirim arduino ile p10 u ?

Merhaba, Aşağıdaki adreslerde örnekler var bunlar sana yardımcı olur. kolay gelsin. https://github.com/freetronics/DMD http://www.freetronics.com.au/pages/using-your-freetronics-dmd#.VwICYHp-ZCM

teşekkürler bakarım

örneğin bn bi sensör okuyup yazdırmak istiyorum p10 a arduinodan ve p10 kütüphanesini okuyacağım sensörün koduna eklemem gerek ama nasıl ekleyip uyarlayacağımı bilmiyorum biliyorsanız örnek atabilirmisisniz?

örnek olarak saat ve sıcakılığı yazan kod. void panel_yaz(String islem,String yazi,String yazi2) { if (islem==“saat”) { dht_oku(); tempC = dtostrf(sic, 2, 1, buffer); dmd.selectFont(System5x7); tempC.toCharArray(c, 3); dmd.drawString( 1, 0, c, 2, GRAPHICS_NORMAL ); yaz = "C "; yaz.toCharArray(c, 3); dmd.drawString( 19, 0, c, 2, GRAPHICS_NORMAL ); yaz = saat_oku(); yaz.toCharArray(b, 6); dmd.drawString( 1, 8, b, 6, GRAPHICS_NORMAL ); Serial.println(yaz); }

include <spi.h>

include
include <arial14.h>
include “Arial_black_16.h”
include <arial_black_16_iso_8859_1.h>
include <dmd.h>
include “SystemFont5x7.h”
include <spi.h>
include “TimerOne.h”
include <softwareserial.h>
/* you can remove the fonts if unused */
define DISPLAYS_ACROSS 1
define DISPLAYS_DOWN 1
DMD dmd( DISPLAYS_ACROSS , DISPLAYS_DOWN );
define PM25 0
define PM10 1
int pin = {50,51};
unsigned long starttime;
unsigned long sampletime_ms = 30000;
unsigned long triggerOn[2];
unsigned long triggerOff[2];
unsigned long lowpulseoccupancy = {0,0};
float ratio = {0,0};
float count = {0,0};
boolean value = {HIGH,HIGH};
boolean trigger = {false, false};
void ScanDMD()
{
dmd.scanDisplayBySPI();
}

void setup(){
Serial.begin(9600);
Timer1.initialize( 5000 );
Timer1.attachInterrupt( ScanDMD );
pinMode(pin[PM25],INPUT); //Listen at the designated PIN
wdt_enable(WDTO_8S);
starttime = millis(); //Fetching the current time
dmd.clearScreen( true );
}

void drawText( String dispString ){
dmd.clearScreen( true );
dmd.selectFont( Arial_Black_16 );
char newString[256];
int sLength = dispString.length();
dispString.toCharArray( newString, sLength+1 );
dmd.drawMarquee( newString , sLength , ( 32*DISPLAYS_ACROSS )-1 ,0);
long start=millis();
long timer=start;
long timer2=start;
boolean ret=false;
while( !ret ){
if ( ( timer+20 ) < millis() ) {
ret=dmd.stepMarquee( -1 , 0 );
timer=millis();
}
}
}

void loop(){
value[PM25] = digitalRead(pin[PM25]);
value[PM10] = digitalRead(pin[PM10]);

if(value[PM25] == LOW && trigger[PM25] == false) {
trigger[PM25] = true;
triggerOn[PM25] = micros();
}
if(value[PM25] == HIGH && trigger[PM25] == true) {
triggerOff[PM25] = micros();
lowpulseoccupancy[PM25] += (triggerOff[PM25] - triggerOn[PM25]);
trigger[PM25] = false;
}
if(value[PM10] == LOW && trigger[PM10] == false) {
trigger[PM10] = true;
triggerOn[PM10] = micros();
}
if(value[PM10] == HIGH && trigger[PM10] == true) {
triggerOff[PM10] = micros();
lowpulseoccupancy[PM10] += (triggerOff[PM10] - triggerOn[PM10]);
trigger[PM10] = false;
}
wdt_reset();
if ((millis()-starttime) > sampletime_ms)//Checking if it is time to sample
{
ratio[PM25] = lowpulseoccupancy[PM25]/(sampletime_ms10.0);
count[PM25] = 1.1
pow(ratio[PM25],3)-3.8pow(ratio[PM25],2)+520ratio[PM25]+0.62;
ratio[PM10] = lowpulseoccupancy[PM10]/(sampletime_ms10.0);
count[PM10] = 1.1
pow(ratio[PM10],3)-3.8pow(ratio[PM10],2)+520ratio[PM10]+0.62;
count[PM25] -= count[PM10];

// Begin mass concentration calculation
const char concentration[] = {0,0};
double pi = 3.14159;
double density = 1.65*pow(10,12);
double K = 3531.5;
// PM10
double r10 = 2.6*pow(10,-6);
double vol10 = (4/3)*pi*pow(r10,3);
double mass10 = density*vol10;
concentration[PM10] = (count[PM10])*K*mass10;
// PM2.5
double r25 = 0.44*pow(10,-6);
double vol25 = (4/3)*pi*pow(r25,3);
double mass25 = density*vol25;
concentration[PM25] = (count[PM25])*K*mass25;
// End of mass concentration calculation

// Begin printing to Serial
Serial.print("PM10 : ");
Serial.print(concentration[PM10]);
Serial.println(" ug/m3");
Serial.print("PM10 Count : ");
Serial.print(count[PM10]);
Serial.println(" pt/cf");
dmd.drawString (0, 1, String(concentration[PM10]), 8, 32);

// Serial.print(“PM2.5 : “);
// Serial.print(concentration[PM25]);
//Serial.println(” ug/m3”);
// Serial.print(“PM2.5 Count: “);
// Serial.print(count[PM25]);
// Serial.println(” pt/cf”);
// Serial.println(“”);

// Resetting for next sampling
lowpulseoccupancy[PM25] = 0;
lowpulseoccupancy[PM10] = 0;
starttime = millis();
wdt_reset();

}

}

bu kodu aktaramıyorum led panele
dmd.drawString (0, 1, String(concentration[PM10]), 8, 32); burada hata veriyor ne yazabilirim ?</softwareserial.h></spi.h></dmd.h></arial_black_16_iso_8859_1.h></arial14.h></spi.h>

string olarak değil char dizi şeklinde göndermelisin. dmd.drawString (0, 1, concentration[PM10], 8, 32); olarak denermisin. örnekte var. dht_oku(); tempC = dtostrf(sic, 2, 1, buffer); dmd.selectFont(System5x7); tempC.toCharArray(c, 3); dmd.drawString( 1, 0, c, 2, GRAPHICS_NORMAL ); yaz = "C "; yaz.toCharArray(c, 3); dmd.drawString( 19, 0, c, 2, GRAPHICS_NORMAL );

Serial.print(rtc.getDateStr(3)); Serial.println(rtc.getTimeStr(2)); Serial.print(humidity, 1); Serial.print(temperature, 1); bu komutları tarih 5 saniye, saat 15 saniye, nem ve sıcaklığı da 5’er saniye nasıl yazdırabilirim? hazır kodları kullanarak yaptığımda saati 30 saniye gösteriyor ama hem aynı saniyeyi gösteriyor. saniye değişmiyor. 30 saniye sonra değişiyor. yardımcı olursanız sevinirim. iyi çalışmalar.

Merhaba arkadaşlar. Elimde p10 panel ve arduino mega var. Internetten dmd kutuphanesini indirdim hatta panelin demosunu da calistirmistim.Ama su anda ayni baglantilari yaptigimda panelde bi kac led yaniyor sadece.arduinoda 9. pine bagladigim kabloyu oynattigimda panel calisiyor.pin bozuk olabilir diye pini degistirdim yine calismadi.bu sefer arduinonun kendi icerisindeki blink ornegini denedim paneli taktigim tum pinlerde ve hepsinde sorunsuz calisti.sorun nerede olabilir?

p10 panel kablosu takıldığı yerle arduinoyu bağlandığı yerde takla atıyor. bu yüzden şemalarda verilen bağlantı olmuyor. şöyle yapmanız gerekiyor. çıkıntılı taraf sağda iken ve pin yuvaları size bakıyorken sağdaki en alt pin D9 üstü GND. sol en alt D6, üstü D7, bir boş, 4.pin D13, D8 ve D11. diğer pinler boş.

Teşekkürler aynı bağlantıları yaptım ama yine çalışmadı. En alt pini D9 a değil D10 a bağlayınca sorun çözüldü.Sanırım sorun bendeki karttaydı.

Merhaba, elimde arduino uno var.karta 2 tane buton bağlı her butona basıldığında millis değerini tutup bu iki millis değeri arasındaki farkı p10 panele yazdırmak istiyorum.Bunun için hangi kodu kullanabilirim?