Es ist noch sehr bescheiden, das RN-Control sendet einfach via I2C
motor und servo Befehle zum rn-mini, der wiederum die Motorsteuerung
übernimmt und per UART befehle zum microservoboard sendet.
Parallel dazu werden die Fahrtrichtungen vom RN-Control auf dem Lcd ausgegeben.
Sensorik ist zwar vorhanden aber noch nicht programmiert.
Die einzelnen Komponenten funktionieren, leider ist es nicht so einfach
alles in einem Programm sinnvoll unter zu bringen.
Ich versuche schon die ganze Zeit in mein Programm die Steuerung für das
RN_Relais mit einzubeziehen, leider ohne erfolg.
Kann mir jemand Helfen den Code von dem RN_Relais (I2C) so umzustellen,
dass es mit meinem Programm (twi Master Transmitter) funktioniert?
Es müsste doch nur die Salveadresse umgestellt werden,
sodass ich einfach mit Call Twi_send_byte(&H40 , relai1)
Call Twi_send_byte(&H40 , aus)
Die Relais schalten kann.
Anschliessend müsste die Slaveadresse wieder zurückgestellt werden,
wo finde ich die eigentlich in dem Programm`?
' wenn Zugriff auf den Bus erlaubt, Slaveadresse ausgeben
If Twi_status = &H08 Or Twi_status = &H10 Then
Twdr = Slave And &HFE ' slave adresse + Write
Twcr = &B10000100 ' TWINT löschen, Byte senden
Hier steht nur Slave, die Adresse kann ich nirgens finden....stehe ein wenig auf dem Schlauch.
Wie ihr seht arbeite ich zur Zeit noch an dem Hauptprogramm,
als nächstes sollen die Sensoren mit einbezogen werden.
Call Twi_send_byte(&H40 , x)
&H40 die Slaveadresse ist
für den pcf müsste diese &H74 sein.
jetzt fehlt mir noch dieser teil
Sub Rnb_relaisschalten(byval Relaisnr As Byte , Byval Status As Byte)
Relaisstatus.relaisnr = Status
I2cstart
I2cwbyte Relaisport_adr 'Schreibbefehl an PCF schicken
I2cwbyte Relaisstatus 'Datenbyte an PCF
I2cstop
Relaisstatus ist entweder 0 (aus) oder 1 (ein)
Relaisport_adr sagt mir so nix
Relaisstatus.relaisnr = status auch nicht.
Ich habe mal mit
Print Relaisport_adr
Print Relaisstatus
die werte auf dem Terminal ausgeben lassen, allerdings erhalte ich da komische Werte.
118,1,118,1,118,3,118,3,118,7,118,7,118,15,118,15, 118,31,118,31,118,63,118
,63,118,127,118,127,118,255,118,254,118,255,118,25 3,118,255,118,251,118
255,118,247,118,255,118
bei 8 relais und status 0 oder 1
Ich hab mal einfach auf doof
For I = 1 To 7
Wait 1
' Den Wert zum Slave senden
Lesezeichen