Skip to main content

UART communication Raspberry Pi Pico to Raspberry Pi

I am trying to communicate with a raspberry pi pico with my raspberry pi 4 over uart. The below code does transmit data, but I am only receiving data from the print statement.

 import os
    import utime
    from machine import ADC
    
    temp_sensor = ADC(4) # Default connection of temperature sensor


def temperature():
    # get raw sensor data 
    raw_sensor_data = temp_sensor.read_u16()
    
    # convert raw value to equivalent voltage
    sensor_voltage = (raw_sensor_data / 65535)*3.3
    
    # convert voltage to temperature (celcius)
    temperature = 27. - (sensor_voltage - 0.706)/0.001721
    
    return temperature
    

#print setup information :
print("OS Name : ",os.uname())

uart = machine.UART(0, baudrate = 9600)
print("UART Info : ", uart)
utime.sleep(3)

while True:
    temp = temperature()
    print(str(temp))
    uart.write(str(temp))
           
    utime.sleep(1)

And the code on my raspberry pi 4 is:

import serial
import time
import numpy as np
import matplotlib.pyplot as plt

#ser = serial.Serial('COM14',9600)
ser = serial.Serial('/dev/ttyACM0', 9600)

time.sleep(1)


while True:
    # read two bytes of data
    #data = (ser.read(8))
    data = (ser.readline())
    # convert bytestring  to unicode transformation format -8 bit
    temperature = str(data).encode("utf-8")
    #print("Pico's Core Temperature : " + temperature + " Degree Celcius")
    print(temperature)

The output in the terminal on my RPI 4 is:

27.2332

26.443

26.443

26.564

There is an extra new line between. If I remove print(str(temp)) from the pico code I get nothing. I can put just about anything in uart.write(str(temp)) and still receive the print statement, but without the uart.write() I will receive nothing.



source https://stackoverflow.com/questions/69397785/uart-communication-raspberry-pi-pico-to-raspberry-pi

Comments

Popular posts from this blog

Confusion between commands.Bot and discord.Client | Which one should I use?

Whenever you look at YouTube tutorials or code from this website there is a real variation. Some developers use client = discord.Client(intents=intents) while the others use bot = commands.Bot(command_prefix="something", intents=intents) . Now I know slightly about the difference but I get errors from different places from my code when I use either of them and its confusing. Especially since there has a few changes over the years in discord.py it is hard to find the real difference. I tried sticking to discord.Client then I found that there are more features in commands.Bot . Then I found errors when using commands.Bot . An example of this is: When I try to use commands.Bot client = commands.Bot(command_prefix=">",intents=intents) async def load(): for filename in os.listdir("./Cogs"): if filename.endswith(".py"): client.load_extension(f"Cogs.{filename[:-3]}") The above doesnt giveany response from my Cogs ...

How to show number of registered users in Laravel based on usertype?

i'm trying to display data from the database in the admin dashboard i used this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count(); echo $users; ?> and i have successfully get the correct data from the database but what if i want to display a specific data for example in this user table there is "usertype" that specify if the user is normal user or admin i want to user the same code above but to display a specific usertype i tried this: <?php use Illuminate\Support\Facades\DB; $users = DB::table('users')->count()->WHERE usertype =admin; echo $users; ?> but it didn't work, what am i doing wrong? source https://stackoverflow.com/questions/68199726/how-to-show-number-of-registered-users-in-laravel-based-on-usertype

Why is my reports service not connecting?

I am trying to pull some data from a Postgres database using Node.js and node-postures but I can't figure out why my service isn't connecting. my routes/index.js file: const express = require('express'); const router = express.Router(); const ordersCountController = require('../controllers/ordersCountController'); const ordersController = require('../controllers/ordersController'); const weeklyReportsController = require('../controllers/weeklyReportsController'); router.get('/orders_count', ordersCountController); router.get('/orders', ordersController); router.get('/weekly_reports', weeklyReportsController); module.exports = router; My controllers/weeklyReportsController.js file: const weeklyReportsService = require('../services/weeklyReportsService'); const weeklyReportsController = async (req, res) => { try { const data = await weeklyReportsService; res.json({data}) console...