Frankie34 发表于 2017-10-2 10:16:47

[DS18B20传感器套件level up]别看他们仪表堂堂,背地里连只猫...

喵~ 这篇文是给我码的哦!
#########2017.10.12更新见文末###########################3

步骤1:原理图

让我们来制作这个项目的草稿。
首先我需要一个Raspberry Pi,它有一个Linux操作系统,可以编译Python,甚至可以访问互联网。次要我想使用Arduino获取一些数据,并实现一些基本的物理反应。第三,需要网络摄像头来捕获用户操作。
最后是连接到一个模拟聊天机器人。
材料清单:
树莓派 3型号B
树莓派夜视摄像头
DFRduino UNO R3 [类似于Arduino UNO R3]
用于Arduino Uno / Mega的USB电缆A-B
防水DS18B20传感器套件
金属9g舵机(1.6kg)
并且Raspberry Pi需要一个显示器
步骤2:组装


image.png
把所有东西都放在正确的位置。
步骤3:初始化树莓派
https://mc.dfrobot.com.cn/forum.php?mod=image&aid=40941&size=300x300&key=244173378338f53c&nocache=yes&type=fixnone
image.png
请移步浏览本教程。
提示:只需安装Raspbian。
步骤4:测试Pi相机
这是pythonprogramming.net的测试代码:

import io
import picamera
import cv2
import numpy

#Create a memory stream so photos doesn't need to be saved in a file
stream = io.BytesIO()
#Get the picture (low resolution, so it should be quite fast)
#Here you can also specify other parameters (e.g.:rotate the image) with picamera.PiCamera() as camera: camera.resolution = (320, 240) camera.capture(stream, format='jpeg')
#Convert the picture into a numpy array
buff = numpy.fromstring(stream.getvalue(), dtype=numpy.uint8)
#Now creates an OpenCV image
image = cv2.imdecode(buff, 1)
#Load a cascade file for detecting faces
face_cascade = cv2.CascadeClassifier('/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml')
#Convert to grayscale
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
#Look for faces in the image using the loaded cascade file
faces = face_cascade.detectMultiScale(gray, 1.1, 5)
print "Found "+str(len(faces))+" face(s)"
#Draw a rectangle around every found face for (x,y,w,h) in faces:
cv2.rectangle(image,(x,y),(x+w,y+h),(255,255,0),2)
#Save the result image
cv2.imwrite('result.jpg',image)



步骤5:PySerial封装串行端口的访问
用电缆连接Raspberry Pi和Arduino Uno。安装pySerial后,从Arduino读取数据:

>>> import serial

>>> ser = serial.Serial('/dev/tty.usbserial', 9600)

>>> while True:

... print ser.readline()

'1 Hello world!\r\n'

'2 Hello world!\r\n'

'3 Hello world!\r\n'

Writing data to Arduino is easy too (the following applies to Python 2.x):

>>> import serial # if you have not already done so

>>> ser = serial.Serial('/dev/tty.usbserial', 9600)

>>> ser.write('5')

提示:https://playground.arduino.cc/Interfacing/Python
步骤6:测试传感器和Arduino上的舵机
我有一个温度传感器,当(宠物小猫)背部传感器温度达到一定的预设高度时,会给出反馈。


步骤7:添加(伪)Chatbot功能(铲屎官识别功能即将上线。。。。)
当我抚摸它时(摩擦喵喵的脊背),我希望机器人做出一些反馈。
可以是通过舵机,试图摆动尾巴稍(舵机不给力)或者言语反馈。
例如。 '喵!舒服~    就这里,继续。”
“Purrrrrr。你今天过得怎么样,铲屎的?“
“别看那些有女朋友的程序员人前光鲜!背地里他们连只猫都没有!“

我把这些句子中的每一个都编号(利用随机数),并且在我撸猫十分钟甚至更长时间之后,我的手机显示收到来自喵喵的嘲讽短信(twilio)。
#####################
(铲屎官面部识别功能即将上线。。。。)
#####################
步骤8:更新代码
步骤9:打包一切硬件,把它们放进玩具小猫「摄像头目前拟定用项圈形式」

#############更新#################################
原先的模型被一只很real的喵(用ta特别的方式)标记了领地。。。。。。。


更新一波(嵌入温度传感器)细节图




以及无处安放的摄像头Orz(求各位大佬指点)










gray6666 发表于 2017-11-16 14:43:37

好招人喜欢的小猫

胡秩通 发表于 2017-11-6 21:00:09

:)我有猫

iooops 发表于 2017-10-12 12:19:58

背地里却连只猫都没有 = =

1973742214 发表于 2017-10-2 13:28:10

本帖最后由 1973742214 于 2017-10-3 08:42 编辑

喵星人都懒得理你@hnyzcj 来看看

hnyzcj 发表于 2017-10-2 16:50:26

1973742214 发表于 2017-10-2 13:28
喵星人都懒得理你@hnyzcj 来看看

啥事,不理我

Frankie34 发表于 2017-10-2 21:30:58

~~~~~~~~~

本帖最后由 Frankie34 于 2017-10-2 21:34 编辑

~~~~~~~~~

1973742214 发表于 2017-10-3 08:43:40

hnyzcj 发表于 2017-10-2 16:50
啥事,不理我

喵星人都懒得理你指的是楼主{:5_170:}

Frankie34 发表于 2017-10-6 20:23:29

:lol 样品改进ing 11月左右可以来蘑菇云围观~~~~

胡秩通 发表于 2017-11-6 20:52:32

我有猫
页: [1]
查看完整版本: [DS18B20传感器套件level up]别看他们仪表堂堂,背地里连只猫...