智能小车三《技术用到九寨沟去》

请先原谅我的标题,本文还是讲技术的。本来我是想和以前一样介绍arduino技术。但昨天的地震和我最近遇到的一些事,让我感觉到人的渺小,在大自然、宇宙、行驶的汽车面前,人就是只蚂蚁。但人不同于蚂蚁,人有梦想。我的梦想就是从计算机这个角度来理解世界,为世界做一些事。比如利用arduino技术制作一个小车,去探测倒塌的房屋。

但我还是一脚踏实地,一步一步的学习技术,实现各种功能,最后才能用技术实现上面的愿望。下面还是要进入枯燥的技术知识,我分享一下关于arduino、c、java中的字符串的区别。

在说String以前,先看一下arduino的基本类型。这里还是引用一下官方文档https://www.arduino.cc/en/Reference/HomePage

通过c语言的sizeof能得到各类型的字节大小。

类型 字节长度
void 1
boolean 1
char 1
unsigned char 1
byte 1
int 2
unsigned int 2
word 2
long 4
unsigned long 4
short 2
float 4
double 4
string - char array 字符数组
String - object 6
array 数组

从上面可以看出arduino即有string也有String,那我们用那个呢?

Arduino的内置String数据类型比C字符数组更容易使用,但这是通过在String代码库里实现的,这将导致需要从Arduino获得更多的资源需求(从上图也可看出它需要的字节数最多,6个)。从本质上说,更容易出问题。

String数据类型这所以如此灵活,因为它使用动态内存分配。也就是说,当你创建或修改一个String,arduino会从c库请求新的存储空间,并且String使用完毕时,Arduino需要回收空间。

可以写一个程序,不停的给String加值,观察其内存的变化。

可以看到, 可用内存不断减少,最后内存泄漏,变量s没有值了。这就是arduino的String.而c语言中没有String,只有char [],这个大小可以自己控制。java中的String其实与c、arduino没有什么比较的意义。

因为它经过jdk的封装,不用考虑释放的问题,当然一直加最终也会抛出out of memory异常。

其它的数据类型我不多讲了,网上有很多教程,也可联系我,我发给你。

时间: 2024-11-08 20:53:43

智能小车三《技术用到九寨沟去》的相关文章

自己动手做个智能小车(4)

自己动手做个智能小车(4) --电机控制电路 CPU是接通了,程序也可以跑了,现在得让程序可以控制电机才行. 前面我们知道,单片机是一个运行程序的芯片,当程序里把变量P0.0变成1时,芯片39接口就变成高电位(5v),变量赋值为0时,接口就变成了低电位(0v),很是方便. 但问题来了,这个如何控制电机呢? 先理一下,我们电机有几种功能:正转.反转.刹车.滑行.调速,这几大功能.现在的问题就是考虑如何用0和1来实现这些功能. 正转.反转,小时候玩过电动机的朋友都知道,将电机的两个引线反过来接,那电

搜酷——全球智能硬件与技术精华集(全彩)

搜酷——全球智能硬件与技术精华集(全彩)(汇集智能硬件.可穿戴设备.机器人.物联网.3D打印等上百种前沿产品及其理念与技术,科技发烧友.智能硬件创客.电子极客.产品经理.工业设计师.概念产品爱好者.科技观察者热捧阅读) 杨明慧 编著   ISBN 978-7-121-23959-5 2014年8月出版 定价:59.00元 236页 16开 编辑推荐 巴西2014年世界杯的第一球非常特殊,它是由一位残疾孩子开出的,本书为您揭密! 当3D打印实实在在地进入我们的家里了——家里来客人啦!小丽,打3双筷

智能小车29:自动驾驶与机器学习

要让我的小车能自动去倒一杯咖啡.需要的做的事还有很多,其中一个很难的问题就是自动驾驶,怎么才能让我的小车自动驾驶到咖啡机旁边去呢? 1.DeepDriving,网址http://deepdriving.cs.princeton.edu/ ,如图: 这是一个不借助mobileye之类硬件的一个软件技术.直接通过图像识别来判断和控制汽车. 2.comma.ai ,一个便宜的硬件+开源软件 网址:https://comma.ai/ 3. 市面上已经有的产品,如"那狗N2 ADAS" 可以看得

Arduino智能小车制作报告

Arduino智能小车制作报告 制作成员:20135224陈实  20135208贺邦  20135207王国伊 前提: Arduino,是一个开源的单板机控制器,采用了基于开放源代码的软硬件平台,构建于开放源代码 simple I/O接口版,并且具有使用类似Java,C语言的Processing Wiring开发环境.选择Arduino作为智能小车的控制板,因为它的小巧但功能强大,能够方便的和传感器还有各种电子元件连接,而且还能和很多软件如Flash.Processing进行连接互动,但是最重

自己动手做个智能小车(1)

自己动手做个智能小车(1) --介绍及工具材料准备 目前物联网发展很迅速,软硬结合也越来越流行.对硬件有些兴趣的我,也想来做点业余玩具. 这是个业余小作品,可以学习一些基本硬件.单片机,底层软件,Android编程等知识,同时不失趣味性. 直接上图: 怎么每张图有个手机?-- 哈哈那是遥控器. 介绍: 这个小车是一个三轮车,为啥采用三轮:方便.灵活.控制简单,比如要转个弯,只需要把这边的轮子速度降下来,就转过去了:还可以原地旋转,两个轮子速度相同,方向相反即可,这是四轮车办不到的. 问,边上的手

聊聊高大上的物联网(智能家居)技术及平台

作为屌丝程序媛中的一员,我也想屌丝逆袭,变得高大上.可惜木有干爹和干妈,所以只有幻想着掌握了高大上的技术,自己也就高大上了(典型的程序员阿Q精神).废话不说了,直入主题. 一.NEST平台 Nest是Nest Labs推出的一款家庭恒温器,它可以通过记录用户的室内温度数据,智能识别用户习惯,并将室温调整到最舒适的状态. Nest Labs的第二款产品智能烟雾警报器 Protect,使用真人语音播报.当侦测到了一氧化碳,它会用急促的声音警告,同时响起警铃.如果出现了误报警,只需轻轻挥动手臂就能解除

自己动手做个智能小车(3)

自己动手做个智能小车(3) --让小电脑运行程序吧 通了电源,也有了初步的规划,我们就把主芯片给接上,并让其工作起来. 这个主芯片就是89C52单片机,有人说,单片机没学过啊,怎么没,没关系,在里,我们就从最简单的入手,然后再慢慢加功能.我们知道学个新程序,一般从HelloWord开始,那单片机同样,也从其本的开始. 51单片机,有40个引脚,其中,芯片从一个U口的左侧开始计数,然后一圈编号,40脚与20脚接电源的正负极.其中,1~8 0~17 39~32 1~28 为单片机的P1 P3 P0

TurnipBit之DIY无线遥控智能小车

一.准备工作 TurnipBit 开发板 2块 TurnipBit 扩展板 1块 数据线 1条 智能小车器件 1套 电机驱动模块(L298N) 1个 在线可视化编程 点击进入   二.思路设计   2块TurnipBit开发板,1块模拟体感器,用于采集人体的动作变化,并将这些信息发送给接收器:另1块当做接收器,用来接收模拟设备的数据,同时控制小车执行相应的动作.     三.无线智能遥控车的实现   1.功能区点击加速度传感器,选择判断当前-的动作.如下图: 本次实验主要涉及到5种动作,即:向上

福柜智能货柜三步消费体验,布局在消费者身边的迷你小超市

福柜智能货柜通过动态视频识别技术+大数据算法技术+卷积神经网络技术,控制货损,将货损降低至0.1%.把人性的贪欲通过技术手段降到了最低:扫码开门即可追踪,取货视频判定.关门结算判定.消费者实现真正意义上的无感支付. 在中国智能货柜市场大,产品却参差不齐,大多智能货柜局限于运营成本高.货损高.技术不达标.品类受限.识别不清晰.易出错.卡顿等问题,但福柜科技始终定位为AI新零售服务平台,致力于解决传统货柜运营成本高.货损高.品类受限等问题,实现低成本.低货损.多品类,极大程度上满足消费者所需,服务每