Sida 6 av 7

Re: I2C Display och Arduino

Postat: 2 augusti 2023, 19:36:02
av Icecap
Definitivt!

Re: I2C Display och Arduino

Postat: 2 augusti 2023, 19:43:01
av Wihelm
Var mera att har man programmerare så spelar det ingen roll. Vill man ha bootloader så kan köra in den själv.

Re: I2C Display och Arduino

Postat: 6 augusti 2023, 19:32:23
av pi314
Jag var ett tag inriktad på att använda Oled-displayer. Men, jag tycker att dom är väl små ibland och testar nu lite med LCD som alternativ. Båda har för- och nackdelar...

Här är två LCD (1602/I2C) och en Oled.

230806_1602_LCD_and_Oled.jpg
/Pi

Re: I2C Display och Arduino

Postat: 6 augusti 2023, 20:49:00
av SeniorLemuren
När jag häll på med dessa displayer på stenåldern så fanns inte drivrutiner för ÅÄÖåäö så det fick man fixa själv på lediga adresser. Hur är det i dag?

Re: I2C Display och Arduino

Postat: 7 augusti 2023, 22:00:29
av pi314
SeniorLemuren:
Jag kan inte minnas att jag hittat någon, LCD eller OLED, som har åäö som standard. Jag gjorde t.ex. ett eget bibliotek till OLED för ett halvår sedan. Då la jag in "begrånsad UTF-8-support" så att västeuropeiska språk kunde hanteras. Samt några speciltecken som jag ville ha, som t.ex. "°" (gradtecken).

/Pi

Re: I2C Display och Arduino

Postat: 9 augusti 2023, 21:20:14
av Henry
Det finns väldigt billiga och bra TFT displayer i mängder, jag gick över till dom för ett antal år sedan då LCD ju var rätt begränsat med tex grafik om ville göra större siffror som såg snygga ut eller lite färglagd grafik som annars var en omöjlighet. OLED håller jag mig lite ifrån då de inte tycker om statiska bilder/tecken samt väldigt dyra om man vill går upp i storlek mot tex 3.5 - 4" där en TFT bara kostar någon lite dryg 200-lapp.

Den klassiska LCD kontrollern HD44780 har sedan så vitt jag vet en intern teckenuppsättning för litet ä och ö men inte å av någon konstig anledning, går dock rätt lätt att fixa en egen teckenuppsättning för det annars men det är länge sedan sist så kommer inte ihåg.

Re: I2C Display och Arduino

Postat: 9 augusti 2023, 22:09:04
av MiaM
Den "konstiga" anledningen är väl att å används i färre språk än ä och ö, kanske? Eller möjligtvis används av färre personer.

Tyska har t.ex. Ä och Ö men inte Å.

Ungerska har Ö men inte Ä och Å. (Å andra sidan har ungerska alla vokaler med lutande flerpar ovanför, som indikerar att det är lång vokal, och dessa räknas tydligen som separata tecken och därmed anses alfabetet på ungerska ha 44 tecken).

Re: I2C Display och Arduino

Postat: 10 augusti 2023, 01:58:14
av Henry
Nej visst är det väl så men som sagt rätt lätt fixat ändå.

Re: I2C Display och Arduino

Postat: 10 augusti 2023, 06:00:34
av Marta
En original Hitachi 44780 kan ha ÅÄÖ. Den finns i två vaianter. Den ena har europeiska och ryska krumelurer i de 128 översta positionerna, däribland alla de tre svenska.
Den andra har två blank-kolumner, chinakrumelurer och några få europeiska där endast ÄÖ ingår.
Alla har de 8 lägsta positionerna i RAM för användardefinierade tecken.

Re: I2C Display och Arduino

Postat: 10 augusti 2023, 06:42:55
av MiaM
Med tanke på att Hitachi är japanskt och kretsen dök upp på den tiden det inte gjordes mycket handel mellan västvärlden och Kina så är det väl troligt att de asiatiska tecknen är japanska och inte kinesiska, eller?

Re: I2C Display och Arduino

Postat: 10 augusti 2023, 08:21:04
av Marta
Du har givetvis helt rätt.
Den kretsvariant som har möjlighet till 10 linjer och därmed nedsänkta gemener har även de japanska krumelurerna och tre blank-kolumner.
Den andra varianten har 8 linjers tecken och samtliga positioner är använda. Definitivt fler användbara krumelurer i denna.

Re: I2C Display och Arduino

Postat: 10 augusti 2023, 10:15:01
av Henry
Tänkte väl fasen att jag sett något med Å, Ä och Ö nån gång.

Re: I2C Display och Arduino

Postat: 11 augusti 2023, 15:04:09
av 4kTRB
Intressant läsning om dessa tecken.
Databladet till den modul jag köpte ser ut så här och litet "ö" verkar finnas med.
tecken_LCD.jpg

Re: I2C Display och Arduino

Postat: 11 augusti 2023, 15:16:47
av 4kTRB
För övrigt så håller jag på med att få en uppfattning av hur det där FTDI-chippet kan programmeras.
Rena djungeln!
Jag har i vilket fall testat loopback med RX och TX sammankopplade.
Först via Putty och X-CTU och sedan ett program i Java.
Ganska så kul för mig att det finns Java-stöd. Java-funktionerna
är i princip samma som https://www.ftdichip.com/Support/Docume ... 00071).pdf

Det här programmet testar loopback. Funkar med D2xx och VCP, som är det som installeras.
Man kan välja bort att VCP ska användas i enhetshanteraren och då används D2xx.
Skillnaden i koden nedan är att com-porten inte visas för D2xx medans om man använder VCP så får jag COM5 som resultat.
Med VCP verkar det inte gå att ha en Seriell Terminal i Eclipse samtidigt för då går det inte öppna kommunikationen med adaptern.

Kod: Markera allt

package yad2xx;


import static net.sf.yad2xx.FTDIConstants.FT_BAUD_9600;
import static net.sf.yad2xx.FTDIConstants.FT_BITS_8;
import static net.sf.yad2xx.FTDIConstants.FT_FLOW_NONE;
import static net.sf.yad2xx.FTDIConstants.FT_PARITY_NONE;
import static net.sf.yad2xx.FTDIConstants.FT_STOP_BITS_1;

import java.io.PrintStream;
import net.sf.yad2xx.Device;
import net.sf.yad2xx.FTDIException;
import net.sf.yad2xx.FTDIInterface;

/*
 * https://github.com/aushacker/yad2xx/blob/master/yad2xxJava/src/test/java/net/sf/yad2xx/SerialEcho.java
 * 
 * Send and receive characters to the serial port. Connect tx to rx to get loopback.
 * 
 */
public class SerialEcho {

	public SerialEcho() {
		// TODO Auto-generated constructor stub
	}

	public static void main(String[] args) {
		try {
			PrintStream out = System.out;

			out.println("Serial Echo");
			out.println("-----------");
			out.println("D2XX Library version: " + FTDIInterface.getLibraryVersion());
			out.println();

			out.println("---------");
			if (FTDIInterface.getDevices().length > 0) {
				Device dev = FTDIInterface.getDevices()[0];				
				
				if (!dev.isOpen()) {
					out.println("Opening device 0");
					dev.open();
					out.println("Setting baud");
					dev.setBaudRate(FT_BAUD_9600);;
					out.println("Setting 8,N,1");
					dev.setDataCharacteristics(FT_BITS_8, FT_STOP_BITS_1, FT_PARITY_NONE);
					out.println("Setting flow control");
					dev.setFlowControl(FT_FLOW_NONE, (char) 0, (char) 0);
					out.println(dev.getModemStatus());
					out.println("ComPortNumber " + dev.getComPortNumber());
					out.println();
					// 48 45 4C 4C 4F = HELLO
					byte[] data = { (byte)0x48, (byte)0x45, (byte)0x4C, (byte)0x4C, (byte)0x4F };
					out.println("Sending data");
					for (int i = 0; i < 2; i++) {
						
						dev.write(data);
						try { Thread.sleep(100); }
						catch (InterruptedException ie) {}

						byte[] input = new byte[5];
						out.println("Reading bytes: " + dev.read(input));
						out.println((char)input[0] + " " + (char)input[1]+ " " + (char)input[2]+ " " + (char)input[3]+ " " + (char)input[4]);
					}
					out.println(dev);
					out.println("Closing device 0");
					dev.close();
					out.println(dev);
				} else {
					out.println("Unable to open device");
				}
			}
		} catch (FTDIException e) {
			e.printStackTrace();
			System.err.println("Function: " + e.getFunction());
			System.err.println("Status: " + e.getStatus());
		}
	}
}

Utskrift........

Kod: Markera allt

Serial Echo
-----------
D2XX Library version: 3.2.22

---------
Opening device 0
Setting baud
Setting 8,N,1
Setting flow control
ModemStatus(modem: 0, line: 60)
ComPortNumber -1

Sending data
Reading bytes: 5
H E L L O
Reading bytes: 5
H E L L O
Dev 0:
	Flags=1 (isOpen: true isHighSpeed: false)
	Type=5 (FT_DEVICE_232R)
	ID=4036001
	locID=11
	SerialNumber=A1083FUF
	Description=FT232R USB UART
	ftHandle=278236e9690

Closing device 0
Dev 0:
	Flags=0 (isOpen: false isHighSpeed: false)
	Type=5 (FT_DEVICE_232R)
	ID=4036001
	locID=11
	SerialNumber=A1083FUF
	Description=FT232R USB UART
	ftHandle=0

Re: I2C Display och Arduino

Postat: 11 augusti 2023, 15:28:34
av Hesabon
Du har också bokstaven 'ä' på plats 0xE1.
Jag har också använt displayer med samma chip. Lilla ö och ä finns alltså redan, Å, Ä, Ö samt å får man varje gång ladda ner på minnesplatserna 0x00..0x07. Det är sist och slutligen ganska enkelt.