#achacho is the project based on the smart cattle monitering system for precision llivestock and forming
#importimport libraary for the project
"""import network
import machine
import ureequests
import time
import math
import dht
import mpu6050
import json
import Blynk
import BLYNK_AUTH_TOKEN
import BLYNK_TEMPLATE_NAME
import send_data_to_blynk
from machine import I2C, pins
BLYNK_TEMPLATE_NAME= "NaanMudhalvanProject"
BLYNK_AUTH_TOKEN ="H_yR9JrRNwqsbdPbrB5bnrkQUPInvqo-"
import Blynk server parameters
pip install adafurit_dht
pip install adafurit_lcd
import machine
import time
from adafurit_dht import DHT22
import adafurit_lcd.i2c
display = adafurit_lcd.i2c.display(...)
dht_pin = machine.pin(14)
sensor = DHT22(dht_pin)
pot_pin = machine.ADC(34)
def read_dht22():
try:
sensor.measure()
temperature = sensor.temperature
humidity = sensor.humidity
return temperature,humidity
except RuntimeError as e:
Print("Failed to read from DHT sensor:",e)
return None,None
def read_mpu6050():
return accel_x, accel_y,accel_z,gyro_x,gyro_y,gyro_z
def read_potentiometer():
pot_value = pot_pin.read_u16()
return pot_value/(65535-1)
def send_data_to_blynk(temperature,humidity,accel_x,accel_y,accel_z,gyro_x,gyro_y,gyro_z):
Print("Data sent to Blynk server:",temperature,humidity,accel_x,accel_y,accel_z,gyro_x,gyro_y,gyro_z)
def update_lcd(temperature,humidity,pot_value):
print(f"LCD:Temp:{humidity:.1f}%, Pot:{pot_value:.2f}")
while True:
temperature,humidity = read_dht22"""
import machine
import time
from dht import DHT22
import mpu6050
from i2c_lcd import I2C_LCD
# Define pin connections
dht_pin = machine.Pin(14)
potentiometer_pin = machine.ADC(34) # Replace with your ADC pin if different
i2c = machine.I2C(scl=machine.Pin(2), sda=machine.Pin(19))
lcd = I2C_LCD(i2c, 0x24, 4, 16) # Replace with your LCD's I2C address, rows, and columns
# Initialize sensors
dht_sensor = DHT22(dht_pin)
imu = MPU6050(i2c)
def read_sensors():
# Read DHT22 temperature and humidity
try:
dht_sensor.measure()
temperature = dht_sensor.temperature()
humidity = dht_sensor.humidity()
except OSError as e:
print("DHT22 sensor error:", e)
temperature = "N/A"
humidity = "N/A"
# Read MPU6050 accelerometer and gyroscope values
accel_values = imu.accel.get_values()
gyro_values = imu.gyro.get_values()
# Read potentiometer value (0-1023 for full range)
potentiometer_value = potentiometer_pin.read_u16()
return temperature, humidity, accel_values, gyro_values, potentiometer_value
def display_data(temperature, humidity, accel_x, accel_y, accel_z, gyro_x, gyro_y, gyro_z, potentiometer_value):
lcd.clear()
lcd.print("Temp: {}°C".format(temperature))
lcd.move_to(0, 1)
lcd.print("Humidity: {}%".format(humidity))
lcd.move_to(0,1)
lcd.print("accel_value: {}".format(accel_values))
lcd.move_to(0,1)
lcd.print("gyro_value: {}".format(gyro_values))
lcd.move_to(0,1)
lcd.print("pot_value: {}".format(potentiometer_value))
lcd.move_to(0,1)