Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

products:laboratory_iot_c:exp40 [2024/11/24 11:18] – создано labuser30products:laboratory_iot_c:exp40 [2024/11/24 11:29] (текущий) – [Программный код эксперимента] labuser30
Строка 9: Строка 9:
  
 ==== Программный код эксперимента ==== ==== Программный код эксперимента ====
-<file python Exp40.py[enable_line_numbers="2", start_line_numbers_at="1"]> +<file arduino Exp40.ino[enable_line_numbers="2", start_line_numbers_at="1"]> 
-import time +#include <OneWire.h> 
-import onewire +#include <DallasTemperature.h> 
-import ds18x20 +#include <LCDI2C_Multilingual.h>
-from machine import I2C, Pin +
-from esp8266_i2c_lcd import I2cLcd +
-_init()+
  
-DEFAULT_I2C_ADDR 0x3F Или 0x27 в зависимости от модели микросхемы на плате+#define BUS_PIN 12 
 +#define DEFAULT_I2C_ADDR 0x3F // Или 0x27 в зависимости от твоей платы IoT
  
-i2c = I2C(scl=Pin(5), sda=Pin(4), freq=400000+OneWire oneWire(BUS_PIN)
-lcd = I2cLcd(i2c, DEFAULT_I2C_ADDR, 2, 16) +DallasTemperature sensors(&oneWire); 
-lcd.backlight_on()+LCDI2C_Generic lcd(DEFAULT_I2C_ADDR, 16, 2);
  
-def print_lcd(data): +void setup() { 
-    lcd.clear() +  sensors.begin(); 
-    lcd.putstr('Temp: ' + str(data))+  lcd.init() 
 +  lcd.setBacklight(0);  
 +}
  
-ow = onewire.OneWire(Pin(12)+void loop() { 
- +  sensors.requestTemperatures() 
-ds ds18x20.DS18X20(ow+  float tempC sensors.getTempCByIndex(0); 
-roms = ds.scan() +  lcd.clear(); 
- +  lcd.print("Temp "); 
-while True: +  lcd.print(tempC, 2) 
-    ds.convert_temp() +  delay(1000);  
-    time.sleep(2) +}
-      +
-    for rom in roms: +
-        print_lcd(ds.read_temp(rom))+
 </file> </file>