H@mid.RS

نمایش و خواندن دما در آردوینو با Basic4Arduino

1 ارسال در این موضوع قرار دارد

درود با این مثال شما می توانید دما رو از سنسور TMP36 دریافت و بخونید


کل کد پروژه :



Sub Process_Globals
Public Serial1 As Serial
Private TempSensorPin As Pin 'Output pin connected from the TMP36 sensor
Private TempSensorPinNumber As Byte = 0x00 'Pin number used is A0 (Analog)
Private MeasureTimer As Timer 'Timer for the sensor measurement
Private MeasureTimerInterval As ULong = 2 'Timerinterval in seconds
End Sub

Private Sub AppStart
Serial1.Initialize(115200)
Log("AppStart - TemperaturePin ", TempSensorPinNumber, " read every ", MeasureTimerInterval, " seconds")
'Init the pin with TMP36 connected
TempSensorPin.Initialize(TempSensorPinNumber, TempSensorPin.MODE_OUTPUT)
'Init the timer
MeasureTimer.Initialize("MeasureTimer_Tick", MeasureTimerInterval * 1000)
'Start the timer
MeasureTimer.Enabled = True
End Sub

'Handle the timer ticks
Private Sub MeasureTimer_Tick
'Read the current state of the pin
Dim rawvoltage As UInt = TempSensorPin.AnalogRead
'Convert rawvoltage To celsius And fahrenheit
Dim volts As Double = rawvoltage/205.0
'Calculate Celsius
Dim celsiustemp As Double = 100.0 * volts - 50
Log("Temperature: ", celsiustemp)
End Sub

چیزی که بهتون نشون میده داخل لوگ برنامه :



AppStart - Temperature Pin 0 read every 2 seconds
Temperature: 16.3415
Temperature: 17.8049
Temperature: 19.2683
Temperature: 20.2439
Temperature: 21.2195
Temperature: 20.2439
Temperature: 19.7561

در پناه حق


:iranmap: 


semo_amba و Mostafanet پسند شده است

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط H@mid.RS
      ی راه حل عالی استفاده از کتابخانه MQTT

      که این کتابخانه در قسمت کتابخانه های برنامه Basic4Arduino موجود است به صورت زیر عمل کنید:


      mqtt.Initialize(ethClient.Stream, serverIp, serverPort, "arduino", "Mqtt_MessageArrived", "Mqtt_Disconnected")

      Sub Connect(unused As Byte)
      If mqtt.Connect = False Then
      Log("trying to connect again")
      CallSubPlus("Connect", 1000, 0)
      Return
      End If
      Log("Connected to broker")
      mqtt.Subscribe("arduino", 0)
      End Sub

      Sub Mqtt_MessageArrived (Topic As String, Payload() As Byte)
      Log("Message arrived. Topic=", Topic, " payload: ", Payload)
      End Sub

      Sub Mqtt_Disconnected
      Log("Disconnected")
      mqtt.Close
      Connect(0)
      End Sub

      اینم نمونه کدی که برای آردوینو uno r3 بکار میره و با موفقیت تست شده :


      Sub Process_Globals
      Public Serial1 As Serial

      Private eth As Ethernet
      Private ethClient As EthernetSocket
      Private btn As Pin
      Private serverIp() As Byte = Array As Byte(192, 168, 1, 105 )
      Private MacAddress() As Byte = Array As Byte(0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED)
      Private const serverPort As UInt = 50000 '51042

      Private mqtt As MqttClient
      'Private astream As AsyncStreams
      End Sub

      Private Sub AppStart
      Serial1.Initialize(115200)
      Log("AppStart")
      If eth.InitializeDHCP(MacAddress) = False Then
      Log("Error connecting to network.")
      Return
      Else
      Log("Connected to network. My ip address: ", eth.LocalIp)
      End If
      btn.Initialize(btn.A0, btn.MODE_INPUT_PULLUP)
      btn.AddListener("Btn_StateChanged")


      mqtt.Initialize(ethClient.Stream, serverIp, serverPort, "arduino", "Mqtt_MessageArrived", "Mqtt_Disconnected")
      Connect(0)
      End Sub

      Sub Btn_StateChanged (State As Boolean)
      If ethClient.Connected Then
      Dim s As Byte
      If State Then s = 1 Else s = 0
      'astream.Write(Array As Byte(s))
      mqtt.Publish("pc" , Array As Byte(s) )
      End If
      End Sub



      '============mqtt

      Sub Connect(unused As Byte)
      If mqtt.Connect = False Then
      Log("trying to connect again")
      CallSubPlus("Connect", 1000, 0)
      Return
      End If
      Log("Connected to broker")
      mqtt.Subscribe("arduino", 0)
      End Sub

      Sub Mqtt_MessageArrived (Topic As String, Payload() As Byte)
      Log("Message arrived. Topic=", Topic, " payload: ", Payload)
      End Sub

      Sub Mqtt_Disconnected
      Log("Disconnected")
      mqtt.Close
      Connect(0)
      End Sub

      در پناه حق

    • توسط H@mid.RS
      آردوینو می تواند با استفاده از سنسور های مختلف محیط اطراف را احساس کند ، آردوینو می تواند با کنترل لامپ ها ، موتور ها  و سایر ماژول ها بر دنیای اطراف خود تأثیر گزاری کند.میکروکنترلر بکار رفته بر روی برد آردوینو بر اساس زبان برنامه نویسی آردوینو (بر پایه Wiring) و محیط ویژه کدنویسی آن (بر پایه Processing) برنامه ریزی شده است و شما برای کد نویسی به نرم افزار  B4R نیاز دارید. پروژه های آردوینو می توانند به صورت stand-alone و یا مرتبط با سایر نرم افزار های کامپیوتر شخصی شما باشد. برای مثال شما می توانید فرمان های خود را برای کنترل موتور ها با یک کامپیوتر شخصی از طریق پورت USB ارسال نموده و یا داده های سنسورها را نیز از همین پورت دریافت نمایید.

      آردوینو تقریبا می تواند به هر چیزی وصل شود ، کامپیوتر شخصی ، گوشی موبایل ، تبلت ، لپ تاپ ، شبکه های محلی و اینترنت از طریق سیم و وایفای ، اتومبیل شخصی ، دستگاهای موجود در منزل و هزاران هزار مورد دیگر.

      آردوینو در سال 2006 موفق به اخذ یک دیپلم افتخاری در بخش Digital Communities از جشنواره Ars Electronica Prix شده است. اعضای تیم آردوینو: Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino و David Mellis. Credits