INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Uno r3 mit nano verbinden.
02.01.2015, 14:15
Beitrag #1
Uno r3 mit nano verbinden.
Hallo

Habe einen arduino nano mit lcd usw. Mein Projekt läuft auch darauf wunderbar bis jetzt.

Jetzt habe ich noch einen uno r3 mit einem 3,5 touch tft bekommen worauf ich mein Projekt gerne umschreiben würde.
Problem ist das alle Ports des uno durch das tft belegt sind ist nen shield.

Gibt es eine Möglichkeit den nano mit dem uno zu verbinden.
So das der uno das Display steuert und an den nano meine sensoren kommen?

Wie muss ich dann meinen Sketch aufteilen?

Für Hilfe wäre ich dankbar.
Mfg
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2015, 15:02 (Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2015 15:04 von Luppi.)
Beitrag #2
RE: Uno r3 mit nano verbinden.
Das Display ist es.
https://www.ex-store.de/LCD-TFT/3-5-TFT-...::189.html

Hab auch noch einen Mega 2560 hier liegen. aber da bekomme ich die ansteuerung nicht hin.
Hab schon verschiedene sachen ausm Netz probiert Krieg ich aber nichts hin mit.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.01.2015, 23:07
Beitrag #3
RE: Uno r3 mit nano verbinden.
Hab noch was rum gestöbert und in einem anderen forum das hier gefunden.

Code:
//   ic:ili9327  
#define LCD_RD   A0
#define LCD_WR   A1    
#define LCD_RS   A2        
#define LCD_CS   A3      
#define LCD_REST A4

void Lcd_Writ_Bus(char VH)
{
unsigned char i,temp,data;
data=VH;
for(i=8;i<=9;i++)
{
   temp=(data&0x01);
   if(temp)
     digitalWrite(i,HIGH);
   else
     digitalWrite(i,LOW);
   data=data>>1;
}
for(i=2;i<=7;i++)
{
   temp=(data&0x01);
   if(temp)
     digitalWrite(i,HIGH);
   else
     digitalWrite(i,LOW);
   data=data>>1;
}

digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_WR,HIGH);
}


void Lcd_Write_Com(char VH)  
{  
digitalWrite(LCD_RS,LOW);
Lcd_Writ_Bus(VH);
}

void Lcd_Write_Data(char VH)
{
digitalWrite(LCD_RS,HIGH);
Lcd_Writ_Bus(VH);
}

void Lcd_Write_Com_Data(int com,int dat)
{
Lcd_Write_Com(com);
Lcd_Write_Data(dat);
}

void Address_set(unsigned int x1,unsigned int y1,unsigned int x2,unsigned int y2)
{
Lcd_Write_Com(0x2a); // Set_column_address 4 parameters
Lcd_Write_Data(x1>>8);
Lcd_Write_Data(x1);
Lcd_Write_Data(x2>>8);
Lcd_Write_Data(x2);

Lcd_Write_Com(0x2b); // Set_page_address 4 parameters
Lcd_Write_Data(y1>>8);
Lcd_Write_Data(y1);
Lcd_Write_Data(y2>>8);
Lcd_Write_Data(y2);

Lcd_Write_Com(0x2c); // Write_memory_start
}

void Lcd_Init(void)
{
digitalWrite(LCD_REST,HIGH);
delay(5);
digitalWrite(LCD_REST,LOW);
delay(15);
digitalWrite(LCD_REST,HIGH);
delay(15);

digitalWrite(LCD_CS,HIGH);
digitalWrite(LCD_WR,HIGH);
digitalWrite(LCD_CS,LOW);  //CS

Lcd_Write_Com(0xE9);
Lcd_Write_Data(0x20);

Lcd_Write_Com(0x11); //Exit Sleep
delay(100);

Lcd_Write_Com(0xD1);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x71);
Lcd_Write_Data(0x19);

Lcd_Write_Com(0xD0);
Lcd_Write_Data(0x07);
Lcd_Write_Data(0x01);
Lcd_Write_Data(0x08);

Lcd_Write_Com(0x36);
Lcd_Write_Data(0x48);

Lcd_Write_Com(0x3A);
Lcd_Write_Data(0x05);

Lcd_Write_Com(0xC1);
Lcd_Write_Data(0x10);
Lcd_Write_Data(0x10);
Lcd_Write_Data(0x02);
Lcd_Write_Data(0x02);

Lcd_Write_Com(0xC0); //Set Default Gamma
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x35);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x01);
Lcd_Write_Data(0x02);

Lcd_Write_Com(0xC5); //Set frame rate
Lcd_Write_Data(0x04);

Lcd_Write_Com(0xD2); //power setting
Lcd_Write_Data(0x01);
Lcd_Write_Data(0x44);

Lcd_Write_Com(0xC8); //Set Gamma
Lcd_Write_Data(0x04);
Lcd_Write_Data(0x67);
Lcd_Write_Data(0x35);
Lcd_Write_Data(0x04);
Lcd_Write_Data(0x08);
Lcd_Write_Data(0x06);
Lcd_Write_Data(0x24);
Lcd_Write_Data(0x01);
Lcd_Write_Data(0x37);
Lcd_Write_Data(0x40);
Lcd_Write_Data(0x03);
Lcd_Write_Data(0x10);
Lcd_Write_Data(0x08);
Lcd_Write_Data(0x80);
Lcd_Write_Data(0x00);

Lcd_Write_Com(0x2A);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0xeF);

Lcd_Write_Com(0x2B);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x00);
Lcd_Write_Data(0x01);
//  Lcd_Write_Data(0x3F);
Lcd_Write_Data(0x8F); // on internet

Lcd_Write_Com(0x29); //display on      

Lcd_Write_Com(0x2C); //display on

digitalWrite(LCD_CS,HIGH);
}

void H_line(unsigned int x, unsigned int y, unsigned int l, unsigned int c)                  
{
unsigned int i,j;
Lcd_Write_Com(0x02c); //write_memory_start
digitalWrite(LCD_RS,HIGH);
digitalWrite(LCD_CS,LOW);
l=l+x;
Address_set(x,y,l,y);
j=l*2;
for(i=1;i<=j;i++)
{
   Lcd_Write_Data(c);
}
digitalWrite(LCD_CS,HIGH);  
}

void V_line(unsigned int x, unsigned int y, unsigned int l, unsigned int c)                  
{
unsigned int i,j;
Lcd_Write_Com(0x02c); //write_memory_start
digitalWrite(LCD_RS,HIGH);
digitalWrite(LCD_CS,LOW);
l=l+y;
Address_set(x,y,x,l);
j=l*2;
for(i=1;i<=j;i++)
{
   Lcd_Write_Data(c);
}
digitalWrite(LCD_CS,HIGH);  
}

void Rect(unsigned int x,unsigned int y,unsigned int w,unsigned int h,unsigned int c)
{
H_line(x  , y  , w, c);
H_line(x  , y+h, w, c);
V_line(x  , y  , h, c);
V_line(x+w, y  , h, c);
}

void Rectf(unsigned int x,unsigned int y,unsigned int w,unsigned int h,unsigned int c)
{
unsigned int i;
for(i=0;i<h;i++)
{
   H_line(x  , y  , w, c);
   H_line(x  , y+i, w, c);
}
}

void LCD_Clear(unsigned int j)                  
{
unsigned int i,m;
Lcd_Write_Com(0x02c); //write_memory_start
digitalWrite(LCD_RS,HIGH);
digitalWrite(LCD_CS,LOW);
Address_set(0,0,479,399);

for(i=0;i<480;i++)
   for(m=0;m<400;m++)
   {
     Lcd_Write_Data(j);
   }
digitalWrite(LCD_CS,HIGH);  
}

void setup()
{
for(int p=2;p<10;p++)
{
   pinMode(p,OUTPUT);
}
pinMode(A0,OUTPUT);
pinMode(A1,OUTPUT);
pinMode(A2,OUTPUT);
pinMode(A3,OUTPUT);
pinMode(A4,OUTPUT);
digitalWrite(A0, HIGH);
digitalWrite(A1, HIGH);
digitalWrite(A2, HIGH);
digitalWrite(A3, HIGH);
digitalWrite(A4, HIGH);
Lcd_Init();
LCD_Clear(0x00);
}

void loop()
{  

for(int i=0;i<1000;i++)
{
   Rect(random(300),random(300),random(300),random(300),random(65535)); // rectangle at x, y, with, hight, color
}
LCD_Clear(0x00);
}

Das funktioniert soweit.
Es dieses Demo mit den rechteck kästchen ausgegeben.
Nur irgend etwas anderes anzeigen kann ich damit nicht.
Und so weit bin ich mit der Arduino Programierug noch nicht das ich das verstehe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino mit Raspberry verbinden georg01 5 84 Gestern 21:57
Letzter Beitrag: Bitklopfer
  Ardunio Nano 3,3V Mathias 5 118 24.11.2016 22:38
Letzter Beitrag: Tommy56
  Arduino NANO mit zwei 1.8 SPI-tfts Thandor 2 99 15.11.2016 23:18
Letzter Beitrag: Thandor
  Arduino Nano - VIN Mathias 16 685 22.09.2016 21:39
Letzter Beitrag: ardu_arne
  Arduino Nano und SD Card emjott 3 330 09.09.2016 12:15
Letzter Beitrag: Bitklopfer
  ESP8266 mit Genuino UNO verbinden, bin am verzweifeln TimeMen 1 445 13.07.2016 19:55
Letzter Beitrag: torsten_156
  Arduino Nano. Externe Stromversorgung reimundko 1 614 26.06.2016 13:44
Letzter Beitrag: hotsystems
  Arduino Nano - RGB LED Controller MasT3r-A 13 827 29.04.2016 11:43
Letzter Beitrag: hotsystems
Photo 2 RC-Kanäle am Arduino Nano Clone do1xxy 1 443 04.04.2016 21:10
Letzter Beitrag: hotsystems
  Arduino Nano + Funkmodul nRF24L01+ luxusl 1 811 26.02.2016 17:05
Letzter Beitrag: arduinopeter

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste