Keresés

Részletes keresés

Prof Creative Commons License 2015.03.15 0 0 1018

Ha nincs közte semmi, kb. 5 cm.

Előzmény: x20fan (1017)
x20fan Creative Commons License 2015.03.15 0 0 1017

Van egy másik ötlet, gyűjtök hozzá infókat. Van a bejárati ajtón egy macskaajtó, az udvarba bejárnak idegen macskák, és szeretném elkerülni hogy bejöjjenek a házba. Hogyan ismerjem föl a saját macskákat? Rfid tag milyen távolságból működik? Pl. ez.

Hol találok két stabil állapotú reteszt? Ezzel szeretném a lengő macskaajtót befelé blokkolni úgy, hogy nem fogyaszt áramot csak az átbillentéskor. Jön a saját macska, érzékeli, hogy nyitni kell, impulzus kinyit, amíg ott a macska vár, ha eltávolodik bezár.

x20fan Creative Commons License 2015.03.15 0 0 1016

Nekem nem tűnt ilyen kényesnek, bár csak 2-3 sketchet töltöttem rá, amikor befejezte a fordítást és kiírta a memória adatokat, akkor nyomtam egyet, és már töltötte is föl. Mintha elég sokat várna az IDE a fordítás elkészülte után, és közben gondolom vár a válaszra, de ez úgy 8-10 másodperc.

Mindegy, a pro mini nem tesztelésre van, ebbe a végleges program kerül, és valószínűleg bootloader nélkül, szóval nem is az usb-soros konverterrel kell írni.

Előzmény: John Zero (1003)
x20fan Creative Commons License 2015.03.15 0 0 1015

Arra figyelj, hogy ha programozóval rakod fel a programot, akkor az felülírja a bootloadert! Természetesen a programozóval vissza is tudod rá rakni.

 

Pont ezt szeretném kipróbálni, hogy bootloader nélkül milyen gyorsan éled. A wc-lámpa threedben derült ki, hogy 1-2-3 másodperc kell a bootloadernek, míg átadja a futást a sketchnek, ráadásul még a 13-as pinen villogtat is. Remélhetőleg bootloader nélkül ezek nem lesznek, hanem ahogy a táp megjön elindul a sketch, és csak azt csinálja amit kell neki. A tápot is úgy van értelme tesztelni, ha nincs bootloader, hogy éledjen, milyen legyen stb.

Előzmény: Vargham (1001)
Törölt nick Creative Commons License 2015.03.14 0 0 1014

A forráskód innét származik, ezt bővítettem 8 mérőhelyig:

http://www.reocities.com/capecanaveral/launchpad/3632/pc_therm.htm

 

A vb6 kódba kellene beiktatni az arduino slave elérését, az arduino max6675 hőfokmérésének a kiolvasásához.

Előzmény: Vargham (1013)
Vargham Creative Commons License 2015.03.14 0 0 1013

Ez így olvashatatlan. :-(

Keress egy forráskód megosztó szolgáltatást, rakd fel oda a kódot, és linkeld be itt.

Vagy tedd fel valami tárhelyre a forrásfájlokat, és linkeld ide.

Előzmény: Törölt nick (1012)
Törölt nick Creative Commons License 2015.03.14 0 0 1012

Akkor ez a kérdés megoldva.

Marad nekem a fő problémám, a VB6-ban írt kód és az arduinós összehozása I2C kommunikációra.

Az I2C buszon Ds1624 hőmérők vannak, erre van a VB6 ban írt program:

VERSION 5.00
Object = "{648A5603-2C6E-101B-82B6-000000000014}#1.1#0"; "mscomm32.ocx"
Begin VB.Form frm_thermometer
ClientHeight = 7710
ClientLeft = 60
ClientTop = 345
ClientWidth = 8055
Icon = "frm_thermometer.frx":0000
LinkTopic = "Form1"
ScaleHeight = 7710
ScaleWidth = 8055
StartUpPosition = 2 'Képernyő közepére
Begin VB.Frame Frame4
Height = 1335
Left = 120
TabIndex = 11
Top = 0
Width = 6135
Begin VB.CheckBox check_start_minimized
Caption = "start minimized"
Height = 375
Left = 4200
TabIndex = 26
ToolTipText = "Start as an icon in taskbar"
Top = 480
Width = 1335
End
Begin VB.CheckBox check_log_to_file
Caption = "log data to file"
Height = 375
Left = 4200
TabIndex = 17
ToolTipText = "log temperatures on text file ""pc_thermometer.txt"""
Top = 840
Width = 1335
End
Begin VB.CheckBox check_farenheit
Caption = "use Farenheit"
Height = 375
Left = 4200
TabIndex = 12
ToolTipText = "Show as Fahrenheit or Celsius (centigrade)"
Top = 120
Width = 1335
End
Begin VB.Label külsődéli
Alignment = 2 'Középre
BackStyle = 0 'Átlátszó
Caption = "külső déli"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2280
TabIndex = 16
Top = 120
Width = 1215
End
Begin VB.Label padlószint
Alignment = 2 'Középre
BackStyle = 0 'Átlátszó
Caption = "padlószint"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 720
TabIndex = 15
Top = 120
Width = 1215
End
Begin VB.Label label_temperature_külsődéli
Alignment = 2 'Középre
Caption = "--.---"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 2040
TabIndex = 14
Top = 480
Width = 1815
End
Begin VB.Label label_temperature_padlószint
Alignment = 2 'Középre
Caption = "--.---"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 735
Left = 120
TabIndex = 13
Top = 480
Width = 1815
End
End
Begin VB.Frame Frame3
Caption = "Sample time"
Height = 2055
Left = 4560
TabIndex = 6
Top = 4440
Width = 1575
Begin VB.OptionButton option_1_min
Caption = "1 min."
Height = 375
Left = 240
TabIndex = 10
Top = 1440
Width = 855
End
Begin VB.OptionButton option_30_sec
Caption = "30 sec."
Height = 375
Left = 240
TabIndex = 9
Top = 1080
Width = 855
End
Begin VB.OptionButton option_6_sec
Caption = "6 sec."
Height = 375
Left = 240
TabIndex = 8
Top = 720
Width = 855
End
Begin VB.OptionButton option_1_sec
Caption = "1 sec."
Height = 375
Left = 240
TabIndex = 7
Top = 360
Value = -1 'True
Width = 855
End
End
Begin VB.Frame Frame2
Caption = "N. of sensor ICs"
Height = 2055
Left = 2400
TabIndex = 1
Top = 4440
Width = 2055
Begin VB.OptionButton option_double
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 3
Top = 1080
Width = 375
End
Begin VB.OptionButton option_single
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 240
TabIndex = 2
Top = 360
Value = -1 'True
Width = 375
End
Begin VB.Label Label3
Caption = "double IC (indoor + outside)"
Height = 615
Left = 720
TabIndex = 5
Top = 1200
Width = 1215
End
Begin VB.Label Label2
Caption = "single IC (indoor temperature)"
Height = 735
Left = 840
TabIndex = 4
Top = 360
Width = 1095
End
End
Begin VB.Frame Frame1
Caption = "Com port:"
Height = 2055
Left = 120
TabIndex = 0
Top = 4440
Width = 2175
Begin VB.OptionButton option_com8
Caption = "Com8"
Height = 375
Left = 1200
TabIndex = 25
Top = 1440
Width = 855
End
Begin VB.OptionButton option_com7
Caption = "Com7"
Height = 375
Left = 1200
TabIndex = 24
Top = 1080
Width = 855
End
Begin VB.OptionButton option_com6
Caption = "Com6"
Height = 375
Left = 1200
TabIndex = 23
Top = 720
Width = 855
End
Begin VB.OptionButton option_com5
Caption = "Com5"
Height = 375
Left = 1200
TabIndex = 22
Top = 360
Width = 855
End
Begin VB.OptionButton option_com4
Caption = "Com4"
Height = 375
Left = 120
TabIndex = 21
Top = 1440
Width = 855
End
Begin VB.OptionButton option_com3
Caption = "Com3"
Height = 375
Left = 120
TabIndex = 20
Top = 1080
Width = 855
End
Begin VB.OptionButton option_com2
Caption = "Com2"
Height = 375
Left = 120
TabIndex = 19
Top = 720
Width = 855
End
Begin VB.OptionButton option_com1
Caption = "Com1"
Height = 375
Left = 120
TabIndex = 18
Top = 360
Width = 855
End
End
Begin VB.Timer Timer1
Interval = 1000
Left = 240
Top = 6840
End
Begin MSCommLib.MSComm MSComm1
Left = 2400
Top = 6720
_ExtentX = 1005
_ExtentY = 1005
_Version = 393216
DTREnable = -1 'True
RTSEnable = -1 'True
End
Begin VB.Label ad_ertek
Height = 735
Left = 6360
TabIndex = 41
Top = 3120
Width = 1575
End
Begin VB.Label ADC
Caption = "ADC"
Height = 495
Left = 6240
TabIndex = 40
Top = 1560
Width = 1575
End
Begin VB.Label label_temperature_ADC
Caption = "--,---"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 238
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 6360
TabIndex = 39
Top = 2280
Width = 1455
End
Begin VB.Label Label_temperature_opoph424el
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 4320
TabIndex = 38
Top = 3840
Width = 1695
End
Begin VB.Label OPOPH424EL
Caption = "OPOP H424 EL"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 4320
TabIndex = 37
Top = 3000
Width = 1695
End
Begin VB.Label Label_temperature_opoph424be
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 4320
TabIndex = 36
Top = 2280
Width = 1695
End
Begin VB.Label OPOPH424BE
Alignment = 2 'Középre
Caption = "OPOP H424 BE"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 4320
TabIndex = 35
Top = 1560
Width = 1695
End
Begin VB.Label Label_temperature_boiler
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2280
TabIndex = 34
Top = 3840
Width = 1815
End
Begin VB.Label Boiler
Alignment = 2 'Középre
Caption = "Boiler"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 238
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2880
TabIndex = 33
Top = 3120
Width = 1215
End
Begin VB.Label Label_temperature_fancoilel
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 120
TabIndex = 32
Top = 3600
Width = 1815
End
Begin VB.Label Label_temperature_fancoilbe
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 120
TabIndex = 31
Top = 2160
Width = 1815
End
Begin VB.Label fancoilel
Alignment = 2 'Középre
Caption = "Fan-Coil El"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 120
TabIndex = 30
Top = 2880
Width = 1455
End
Begin VB.Label fancoilbe
Alignment = 2 'Középre
Caption = "Fan-Coil Be"
BeginProperty Font
Name = "MS Sans Serif"
Size = 9.75
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 120
TabIndex = 29
Top = 1440
Width = 1455
End
Begin VB.Label label_temperature_radiator
Alignment = 2 'Középre
Caption = "--.-"
BeginProperty Font
Name = "MS Sans Serif"
Size = 17.25
Charset = 238
Weight = 700
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 2280
TabIndex = 28
Top = 2280
Width = 1815
End
Begin VB.Label radiator
Alignment = 2 'Középre
Caption = "radiator"
BeginProperty Font
Name = "MS Sans Serif"
Size = 12
Charset = 238
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 2880
TabIndex = 27
Top = 1560
Width = 1215
End
End
Attribute VB_Name = "frm_thermometer"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim address_adc As Double
Dim parancs As Double
Dim feny_ertek As Long
Dim szamlalo


Private Sub ad_szoveg_Click()

End Sub

Private Sub ADC_label_Click()

End Sub

Private Sub Form_Load()
ReadIni
update_com_port
update_sample_rate
If check_start_minimized.Value Then
Me.WindowState = vbMinimized
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
close_iic_bus
SaveIni
End Sub


Private Sub option_1_min_Click()
update_sample_rate
End Sub

Private Sub option_1_min_KeyPress(KeyAscii As Integer)
update_sample_rate
End Sub

Private Sub option_1_sec_Click()
update_sample_rate
End Sub

Private Sub option_1_sec_KeyPress(KeyAscii As Integer)
update_sample_rate
End Sub


Private Sub option_30_sec_Click()
update_sample_rate
End Sub

Private Sub option_30_sec_KeyPress(KeyAscii As Integer)
update_sample_rate
End Sub


Private Sub option_6_sec_Click()
update_sample_rate
End Sub

Private Sub option_6_sec_KeyPress(KeyAscii As Integer)
update_sample_rate
End Sub


Private Sub option_com1_Click()
update_com_port
End Sub

Private Sub option_com1_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

Private Sub option_com2_Click()
update_com_port
End Sub

Private Sub option_com2_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

Private Sub option_com3_Click()
update_com_port
End Sub

Private Sub option_com3_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

Private Sub option_com4_Click()
update_com_port
End Sub

Private Sub option_com4_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

Private Sub option_com5_Click()
update_com_port
End Sub

Private Sub option_com5_KeyPress(KeyAscii As Integer)
update_com_port
End Sub
Private Sub option_com6_Click()
update_com_port
End Sub

Private Sub option_com6_KeyPress(KeyAscii As Integer)
update_com_port
End Sub
Private Sub option_com7_Click()
update_com_port
End Sub

Private Sub option_com7_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

Private Sub option_com8_Click()
update_com_port
End Sub

Private Sub option_com8_KeyPress(KeyAscii As Integer)
update_com_port
End Sub

 

Private Sub timer1_timer()
Dim t As Double
Dim unit As String
If check_farenheit Then
unit = "°F"
Else
unit = "°C"
End If

t = temperature(&H48)

If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read padlószint temperature", vbOKOnly, "Error"
Timer1.Enabled = False
label_temperature_padlószint.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
label_temperature_padlószint.Caption = Format(t, "#00.000")
End If

If option_double Then
t = temperature(&H49)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read külsődéli temperature", vbOKOnly, "Error"
Timer1.Enabled = False
label_temperature_külsődéli.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
label_temperature_külsődéli.Caption = Format(t, "#00.000")
End If
Else
label_temperature_külsődéli.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4A)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read radiator temperature", vbOKOnly, "Error"
Timer1.Enabled = False
label_temperature_radiator.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
label_temperature_radiator.Caption = Format(t, "#00.000")
End If
Else
label_temperature_radiator.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4B)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read fancoilbe temperature", vbOKOnly, "Error"
Timer1.Enabled = False
Label_temperature_fancoilbe.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
Label_temperature_fancoilbe.Caption = Format(t, "#00.000")
End If
Else
Label_temperature_fancoilbe.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4C)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read fancoilel temperature", vbOKOnly, "Error"
Timer1.Enabled = False
Label_temperature_fancoilel.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
Label_temperature_fancoilel.Caption = Format(t, "#00.000")
End If
Else
Label_temperature_fancoilel.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4D)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read opoph424be temperature", vbOKOnly, "Error"
Timer1.Enabled = False
Label_temperature_opoph424be.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
Label_temperature_opoph424be.Caption = Format(t, "#00.000")
End If
Else
Label_temperature_opoph424be.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4E)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read opoph424el temperature", vbOKOnly, "Error"
Timer1.Enabled = False
Label_temperature_opoph424el.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
Label_temperature_opoph424el.Caption = Format(t, "#00.000")
End If
Else
Label_temperature_opoph424el.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H4F)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read boiler temperature", vbOKOnly, "Error"
Timer1.Enabled = False
Label_temperature_boiler.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
Label_temperature_boiler.Caption = Format(t, "#00.000")
End If
Else
Label_temperature_boiler.Caption = "--.---" + unit
End If
If option_double Then
t = temperature(&H32)
If t = ERROR_TEMPERATURE_NOT_READ Then
MsgBox "Unable to read ADC temperature", vbOKOnly, "Error"
Timer1.Enabled = False
label_temperature_ADC.Caption = "--.---" + unit
Else
If check_farenheit Then
t = farenheit(t)
End If
label_temperature_ADC.Caption = Format(t, "#00.000")
End If
Else
label_temperature_ADC.Caption = "--.---" + unit
End If
If option_double Then
frm_thermometer.Caption = label_temperature_padlószint.Caption + " ( out " + label_temperature_külsődéli.Caption + " )"
Else
frm_thermometer.Caption = label_temperature_padlószint.Caption
End If

End Sub

Private Function temperature(address As Integer) As Double

Dim temperature_int As Long
Dim temperature_frac As Long
'address = address(&H48)
address = address * 2
On Error GoTo errors
open_iic_bus MSComm1.object

'/*resettiamo bene il chip*/
IIC_stop
'/**/
IIC_start
IIC_tx_byte &H90 + address
IIC_tx_byte &HAC
IIC_tx_byte &H2

IIC_start
IIC_tx_byte &H90 + address
IIC_tx_byte &HEE

IIC_stop

IIC_start
IIC_tx_byte &H90 + address
IIC_tx_byte &HAA
IIC_start
IIC_tx_byte &H91 + address
temperature_int = IIC_rx_byte(1)

temperature_frac = IIC_rx_byte(0)
temperature = (temperature_int * 256 + temperature_frac) / 128 * 5 / 10
If temperature_int >= 128 Then
temperature = temperature - 256
End If
IIC_stop
Exit Function

errors:
temperature = ERROR_TEMPERATURE_NOT_READ
End Function
Private Function update_sample_rate()
If option_1_sec Then
Timer1.Interval = 1000
ElseIf option_6_sec Then
Timer1.Interval = 6000
ElseIf option_30_sec Then
Timer1.Interval = 30000
ElseIf option_1_min Then
Timer1.Interval = 60000
Else
Timer1.Interval = 1000
End If
End Function
Private Function update_com_port()
If MSComm1.PortOpen Then
MSComm1.PortOpen = False
End If

If option_com1 Then
MSComm1.CommPort = 1
Timer1.Enabled = True
ElseIf option_com2 Then
MSComm1.CommPort = 2
Timer1.Enabled = True
ElseIf option_com3 Then
MSComm1.CommPort = 3
Timer1.Enabled = True
ElseIf option_com4 Then
MSComm1.CommPort = 4
Timer1.Enabled = True
ElseIf option_com5 Then
MSComm1.CommPort = 5
Timer1.Enabled = True
ElseIf option_com6 Then
MSComm1.CommPort = 6
Timer1.Enabled = True
ElseIf option_com7 Then
MSComm1.CommPort = 7
Timer1.Enabled = True
ElseIf option_com8 Then
MSComm1.CommPort = 8
Timer1.Enabled = True
Else
MSComm1.CommPort = 1
Timer1.Enabled = False
End If

End Function

Private Function farenheit(ByVal t As Double)
farenheit = 32 + 9 / 5 * t
End Function

Private Function log_to_file()
If check_log_to_file Then
Open "pc_thermometer.csv" For Append As #1
Print #1, Date$, Time$, label_temperature_padlószint.Caption, label_temperature_külsődéli.Caption, Label_temperature_fancoilbe.Caption, Label_temperature_fancoilel.Caption, Label_temperature_boiler.Caption, Label_temperature_opoph424el.Caption, Label_temperature_opoph424be.Caption, label_temperature_radiator.Caption, feny_ertek
Close #1
End If
End Function

 

 

 A kérdés, hogyan kell az arduino slave móddal kapcsolatot teremteni a VB6 kódból?

Előzmény: Vargham (1011)
Vargham Creative Commons License 2015.03.14 0 0 1011

> Neked is igazad van, a pro mini rst lábát használjuk DTR kapcsolatra.

Nono! Ez így nem precíz, pont fordítva van. :-)

A RS232 szabványban leírt Data Terminal Ready jelet (ami a szabvány szerint egészen másra való) használjuk arra, hogy reseteljük a mikrokontrollert. A DTR aktív alacsony jel, ez húzza az MCU reset lábát a földre.

Tehát a pro mini nem küld az RS232 szerinti Data Terminal Ready jelet sehova, és nem is dolgoz fel ilyet.

Előzmény: Törölt nick (1010)
Törölt nick Creative Commons License 2015.03.13 0 0 1010

Neked is igazad van, a pro mini rst lábát használjuk DTR kapcsolatra.

Előzmény: Vargham (1009)
Vargham Creative Commons License 2015.03.13 0 0 1009

Hidd el, hogy a pro minin nincs DTR láb, mert az Atmega328-nak nincs ilyen lába.

A DTR jelentése itt le van írva.

Van viszont reset lába, amit a soros kapcsolat DTR jele aktivál, ha bootloaderes feltöltést használsz. De próbálj ki olyan terminál szoftvert, amiben ez kapcsolható. A DTR gombot nyomogatva, az Arduino resetelni fog.

 

Az általad mellékelt rajzon a DTR annyit jelent, hogy oda kell kötni az USB-TTL serial DTR lábát. A rajzon az is látszik, hogy a reset lábon van egy 0,1uF kerámia kondenzátor, aminek a másik végre kell a DTR-t kötni. Érdemes ismerni ezeket a felépítésbeli, működési sajátosságokat. Láttam már olyat, aki a pro mini után egy másik boardra nem tudta feltölteni a programot. (Hova kösse a DTR-t? Resetre? De miért nem resetel? Stb.)

 

De hívhatjuk DTR lábnak is. Csak megtévesztő. ;-) Ha ez így szerepel a pro minin, akkor az nem jó ötlet. Keresgéltem a neten, de az általam talált képeken a pro mininek RST jelölésű kivezetése van, DTR jelű pedig nincs.

Előzmény: Törölt nick (1008)
Törölt nick Creative Commons License 2015.03.12 0 0 1008

Nem, a pro minin is van DTR láb.

Csak tudom mit vettem.

Az FTDI-TTL átalakítón is van, fizikai reset nélkül megy a pro minire a sketch rátöltése.

Előzmény: Vargham (1005)
Vargham Creative Commons License 2015.03.12 0 0 1007

Én erre válaszoltam:

"Ezen a pro minin van DTR láb."

A DTR láb a soros átalakítón van, nem a mikrokontrolleren.

Előzmény: John Zero (1006)
John Zero Creative Commons License 2015.03.12 0 0 1006

Van amelyiken nincs! Az FTDI-sen van, de a kínaiakon nem mindegyiken.

Előzmény: Vargham (1005)
Vargham Creative Commons License 2015.03.12 0 0 1005

Mármint az USB-TTL serial átalakítón van DTR láb.

Előzmény: Törölt nick (1004)
Törölt nick Creative Commons License 2015.03.12 0 0 1004

Ezen a pro minin van DTR láb.

Az Rx Tx lábakat fel kell cserélni az USB csatolón:

 

Előzmény: x20fan (999)
John Zero Creative Commons License 2015.03.12 0 0 1003

Ha nincs DTR akkor az fájdalmas. Átmenetileg próbálkozhatsz a jó reflexszel: amikor úgy látod, hogy kész a program fordítás és indulna a feltöltés, gyorsan nyomd meg a pro mini-n a reset gombot egyszer.

 

Az Arduino-s mikrokontroller reset után vár egy kicsit, hogy kap-e programozási parancsot, de ha nem, akkor továbbugrik és a már korábban feltöltött programot futtatja.

Régen 8 másodpercet várt, de mióta a DTR-es módszer van, ez már minimális idő, ezért kellenek jó reflexek :-)

Előzmény: x20fan (999)
Vargham Creative Commons License 2015.03.12 0 0 1002

Kár. Az a láb kezeli a reset-et bootloaderes feltöltéskor. Érdemes olyan átalakítót venni, amin ez ki van vezetve.

A PL2303-nak van DTR lába, forrassz rá egy kivezetést!

 

Nekünk mondjuk nem voltak jó tapasztalataink ezzel az IC-vel. Hiába kötöttük be a DTR lábat, nem resetelte az MCU-t. Valószínűleg driver probléma lehetett, de nem álltunk neki jelszintet mérni, meg hibát keresni.

A Silabs CP2102 hasonló áron van, WinCE-től kezdve Win 8-ig van hozzá driver, ahogy minden verziójú (Power és Intel architektúrájú) OSX-hez, Linuxhoz, és Androidhoz is. És rögtön működött a DTR lábra kötött reset is.

Előzmény: x20fan (999)
Vargham Creative Commons License 2015.03.12 0 0 1001

Arra figyelj, hogy ha programozóval rakod fel a programot, akkor az felülírja a bootloadert! Természetesen a programozóval vissza is tudod rá rakni.

Előzmény: x20fan (998)
Trike. Creative Commons License 2015.03.11 0 0 1000
Előzmény: John Zero (995)
x20fan Creative Commons License 2015.03.11 0 0 999

Nincs DTR láb, 3.3 V, 5 V, GND, TX és RX van. D-SUN USB to TTL a neve, Pl2303 chippel.

Előzmény: Vargham (997)
x20fan Creative Commons License 2015.03.11 0 0 998

És tényleg, resetet nyomva átmegy a sketch. Na akkor mégis van bootloader, de összerakom az unot programmernek, ki kell próbálni azt is, meg meg akarom nézni a direkt sketch futtatást is.

Előzmény: John Zero (996)
Vargham Creative Commons License 2015.03.11 0 0 997

Illetve az USB-TTL DTR lába és az MCU reset lába között van-e 100nF kerámia kondenzátor?

Előzmény: John Zero (996)
John Zero Creative Commons License 2015.03.11 0 0 996

Én eddig 2-t vettem eBay-ről, ment, rendes bootloader volt benne. Board típus biztosan stimmel? USB-soros konverter küldi a DTR-t (resetet) rendesen?

 

Előzmény: x20fan (994)
John Zero Creative Commons License 2015.03.11 0 0 995

Köszönöm a tanácsot, ha esetleg megírod privátban, vagy ha van weboldaluk, akár ide is.

Előzmény: Trike. (993)
x20fan Creative Commons License 2015.03.11 0 0 994

Megérkezett a pro mini, táp bekapcsoláskor egy rövidet villan, és utána hosszú-rövid szünet-hosszú stb. ciklustba lép. A pin13 villogtatja a ledet, usb-soros konverterrel a sketcheket nem lehe áttölteni. Jól gondolom, hogy nincs benne bootloader, csak egy blinket írtak bele programozóval?

Trike. Creative Commons License 2015.03.11 0 0 993

Barkács áruházakban kapható kisebb darab is, vagy ami jobb: polikarbonát. Nem reped, törik, mint a plexi. Dekoros cégek is foglalkoznak vele én is onnét szoktam rendelni méretre, van víztiszta és füstszínű. (Kaposvári címet tudok)

Előzmény: John Zero (985)
halaloszto Creative Commons License 2015.03.11 0 0 992

ugy 10 evvel ezelott a szokasos kisipari keszulekhaz a kovetkezokepp nezett ki:

 

1-1.5mm alulemez elolap. kijelzo helye kivagva, gombok helye 12-15mm kifurva. ketoldalas ragasztofolia, azon papirra nyomtatott elolap. azon vastag ontapados atlatszo folia. ez igy elegge rugalmas hogy a lukon at meg lehessen nyomni a nekinyomott nyakos gombokat.

 

Vajk

Előzmény: titusz99 (991)
titusz99 Creative Commons License 2015.03.11 0 0 991

kb 20x30-as dobozom lesz. Kijelző 20x04-es lcd vagy 3x8 -as 7szegmenses.

Az alap: Arduino MINI PRO (5-voltos).

Ezek megvannak.

Tápegységeket +a MAX6675-öt ma hozza a postás.

02.24-én rendeltem, 03.02-én adta postára,  03.11-én érkezik.

Még egy rotary encodert kellene szereznem.

Most az LCD-menüt próbálgatom aztán nekiesek.

A nyomtatáshoz még kellene fólia, nyomtató van.

Azt láttam, hogy van átlátszó ragasztós nyomtatható fólia is.

Plexi nekem macerás lenne, meg nehéz feliratozni.

Előzmény: John Zero (990)
John Zero Creative Commons License 2015.03.11 0 0 990

Én rajtuk gondolkozom, de még várom az árat. Szimpatikus, hogy fa rétegelt lemezt is tudnak vágni (5 mm-est pl.) így a doboz is megoldható. Plexiből nekik van átlátszó, akkor már csak a fólia kell.

http://www.3dhabvagas.hu/lezervagas

 

titusz: a fóliára nyomtatás lézerrel nem rossz, de ha maszkot akarsz, akkor nekem két fóliára kellett ugyanazt nyomtatni és egymás mögé tenni, és még úgy is csak 90%-os volt. De szerintem nem rossz.

Előzmény: titusz99 (989)
titusz99 Creative Commons License 2015.03.11 0 0 989

Esetleg papírboltban átlátszó, nyomtatható fólia nem lenne jó?

Vagy csak írásvetítő fólia?

Ha lesz dobozom (közeljövő) akkor egy jó megoldás ilyen fóliára rányomtatni (akár színesben) ami kell (szöveg, ábra, stb.).

A4-es méret bőven elég lehet.

Előzmény: halaloszto (988)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!