① arino怎么快速入门,零基础学习
学习Arino和学习单片机的方法几乎相同。但是学习Arino更像是学习自动挡汽车驾驶,传统单片机更像是手动挡汽车。自动档汽车的学习主要是上路实践的注意事项,手动挡汽车的学习更重要的是挂挡摘档避免熄火等基础操作,熟练后考虑上路实践注意事项。但是自动档汽车学习你最好要明白手动挂摘档是怎么一回事,对自动挡汽车才能更好理解,只是不必花费主要时间精力去熟练这些基础操作。
可见Arino像自动挡一样越过了很多底层操作,比如寄存器映射,库函数创建封装,电源拓扑结构的选择等。工作时阅读芯片数据表的寄存器定义章节可以仅简单看一下而已。精通使用Arino实际上要求你有过系统的电子学专业学习经历,通览电子信息工程各门课程,并且有过C语言学习经历,当然不必要达到很高的分数,好比自动挡汽车学挂挡和离合一样。学习Arino更加强调实际应用,也就是学校里的高年级学科,比如信号处理,通信工程,EDA中的PCB设计等。淡化低年级基础课程比如模电数电等,这倒不是说基础学科没用,模电数电对于芯片设计和制造等集成电路产业很重要,对于应用芯片来进行终端产品开发的意义就不大了。
以往学习单片机,最终目的是什么不用考虑,先学会单片机的硬件方案设计,软件驱动设计就要学很久,学完也不知道要做什么,可能这款单片机就快淘汰了。然后又学新的芯片,M3完了M0,M0完了F4,会的越来越多,经历却很单调。
学习Arino不是这样,Arino直接给你提供了几十种硬件平台和软件驱动,主流内核和方案都有,语言学起来很简单。你独立开发时要考虑最严峻的问题是:
1。现在软硬件环境都现成了,我要用它来做什么???
2。我做出的产品如何运营?靠什么盈利,定价多少,以何种方式出售?
如果你是工程师,在一家公司,团队开发项目,你面临的最严峻的问题是
1。数十种Arino我要选取哪一种,是否能实现项目的要求功能,是否可以熟练的找到开放资料,比如工程文件?硬件工程师是否可以根据开放资料按需要进行PCB修改?软件工程师是否可以写出数据采集或信号处理或组网方面的程序?
2。如何说服领导采用这种自动挡的方法去开发?同时老板又不会因此而降低我们待遇?
3。如何改变现在出力不出功的公司文化。轻轻松松搞开发而不是像苦力一样却碌碌无为。
客户只在意最终实现的效果,却不在乎你盒子里用的是哪种系统,客户只在意结果。但现实是,很多公司只为员工的过程买单,客户却只为公司的结果买单。多数时候员工让领导看到的过程都是徒劳却充满表现色彩的。
过去,“Arino”的标签意味着使用的开发板上有一个Atmel处理器,并且使用Arino软件库。现在不再如此。几乎每家微处理器制造商都基于Arino板设计了一套开发工具,用到了它们自己的处理器和软件。在《原型到产品:专业化的Arino》一文中,我提到Arino给开发者提供的最重要特性就是硬件兼容,并且能用它们自己的软件。正在试图融合Python和Arino优点的开发者需要寻找一款开发工具或是平台,符合硬件标准,能运行Python,但又不局限于使用Atmel处理器或是Arino代码包。
在Arino上运行Python的小技巧就是寻找一个兼容Arino的开发工具,在上面运行Python。这个问题本质上就是寻找哪种型号的Arino板子有Python端口。没有开发者会为了在单片机上运行Python而自己做迁移,尽管迁移Python很有趣,但是也非常耗费精力。当然还有其它的开发者,和开源的或者迁移的Python代码。
强大的谷歌搜索告诉我们几乎没有合适的选择。仅有的几个之一的选择是一款五年前的开源产品,名为Pymite。它使用的Python版本是2.5(不是最新的2.7版本),在过去两年里几乎没有更新。没有活跃社区的支持,Pymite也免不了落入开源项目的陷阱中。Pymite可以作为一个方案,但是在出现问题的时候会很无助。
**第二种选择是Micro Python。**Micro Python是一个Python 3的开源项目,针对单片机做了性能优化。(你可以阅读《Micro Python入门教程》来了解它)。Micro Python近期汇集了一些资源,目前支持许多硬件平台,包括CC3200、ESP8266、PIC16和STM32。粗略浏览Micro Python代码库(如图1)可以发现它对STM32家族的产品支持度要好于其它产品。
但是,这些单片机开发工具包在盒子之外还支持Micro Python吗?对目前支持Micro Python的板子调研后发现,只有NETDUINO_PLUS_2和OLIMEX_E407有Arino兼容的输出。OLIMEX_E407使用的处理器与PyBoard原产的405RG略有不同,但是Netino Plus 2使用完全相同的处理器。不幸的是,Netino Plus 2刚刚被淘汰。取而代之的是Netino Plus 3,它的处理器性能远远好于405RG。这款新处理器目前还没有Micro Python的端口。因此,开发者只能使用Olimex板,或者能找到一块可用的Netino Plus 2.
如果上述两种方案对开发者来说都无法实现,用Arino板子运行Python的第三种方案就是在PyBoard板子和标准Arino引脚板子之间连一块适配板。适配板也许是确保与原生Micro Python板以及将来更新相兼容的最佳方案。第四种方案就是基于405RG制作我们自己的Arino兼容板子,不过这样我们的原型制作速度将大打折扣。
一个开发团队是有可能整合Arino、硬件设备、Python编程的便捷性以及软件开发的优势。然而,目前并没有一种唾手可得的经验。开发者若想在Arino上运行Python,可以先写好Python脚本,然后在Olimex 407或是Netino Plus 2上轻易地跑起来。
③ 本人老师,想学习arino编程,请问arino与pyhton有什么关系
Arino更好,PYTHON是一种高级桌面语言,类似于JAVA,针对PC编程。微控制器上主要用在树莓派编程。然而树莓派和Arino最大的区别就是Arino开放完整全部的PCB设计文件,开放芯片数据表,包括全部寄存器描述和内核框架描述等,而且各种主流语言翻译的都很好包括中文。Arino后期量产可以根据项目个性化更改PCB,添加和删除板卡上的外设,更改PCB尺寸外形,接口位置等等。树莓派主频600M属于高速板,核心芯片数据表资料不开放,不提供PCB文件,也就几乎无法修改PCB,尺寸,增减外设。用树莓派去开发,后期量产也是需要批量购买原始树莓派板,外形,尺寸,外设都不能有变化。
Arino的本质:全世界各厂商主流微控制器底层程序标准化。由顶级高手们编写主流微控制器底层驱动,固化封装成更易用语言,减少BUG,增加终端产品开发效率。弱化项目中嵌入式软件工程师的作用,强化硬件工程师和PCB设计工程师的作用。随着PCB打样技术成熟,价格低廉,完美符合当前市场价值要求。频繁快速打样的价格远远低于程序开发价格。可以避免以往前期平台软件开发大量资金和时间投入,快速进入到项目运营研讨和量产研讨阶段。
树莓派的本质:固化硬件系统,尺寸,性能,外设增减都不可改,必须购买树莓派原版硬件。避免硬件设计,避免PCB工程设计,打样,焊接,调试。使用LINUX系统,强化嵌入式软件工程师尤其是LINUX软件工程师的作用,弱化硬件工程师和PCB设计工程师的作用。随着电子技术的不断进步,硬件新芯片日新月异,这种模式不符合发展潮流,LINUX的随意更改,大量底层驱动软件开发人员水平的良莠不齐,意味着层出不穷的软件BUG和混乱的应用逻辑,最终影响终端产品的效果和数据安全性,可以参考早期各行业繁多昙花一现的LINUX嵌入式终端,开发软件平台建设时间久,资金大,运营研讨和量产研讨拖得很久,变数大,风险高,成功率小。好处是,这种模式可以让桌面操作系统的软件工程师和互联网软件公司,找到微控制器应用领域的一个切入点,。应用LINUX系统去分ST,AT,TI,MICOCHIP等硬件芯片公司的终端产品一杯羹,实现过度,后期仍然要转换到灵活硬件设计,固化软件平台开发的轨道上来。
④ 推荐arino学习经典的书籍和论坛
一、入门
《Java 2从入门到精通》- 推荐
《Thinking in Java》- 强烈推荐*
O’reilly的Java编程基础系列 - 参考*
二、进阶
《Java Cook Book》- 非常推荐* (包含了Java编程的Tips,适合当做手册来查阅)
《O’reilly-Java IO》- 推荐* (包含Java IO编程的各个方面)
《O’reilly-Database Programming with JDBC》- 推荐* (JDBC编程)
《O’reilly-Java Programming with Oracle JDBC》- 参考*
三、Java Web编程
《O’reilly-Java Server Pages》- 强烈推荐*
《O’reilly-Java Servlet Programming》- 非常推荐*
《O’reilly-Jakarta Struts》- 推荐* (Java Web编程的一个MVC实现框架Struts的书)
四、EJB编程
《J2EE应用与BEA Weblogic Server》- 强烈推荐
《Mastering EJB 2.0》- 非常推荐*
《Enterprise Java Bean》- 推荐*
五、Java XML编程
《O’reilly-Java and XML》- 推荐*
《O’reilly-Java and SOAP》- 参考* (Java的SOAP编程)
六、设计模式
《Core J2EE Patterns》- 强烈推荐* (J2EE设计模式,设计企业应用软件必备参考书)
《EJB Design Patterns》- 推荐*
七、其它
《O’reilly Ant - The Definitive Guide》- 推荐* (Ant是一种功能非常强大的Java工具)
Note:
强烈推荐书籍:建议购买,重点学习
非常推荐书籍:建议花时间学习
推荐书籍:在学有余力的情况下,建议学习
参考书籍:有兴趣的情况下学习
标明*号的书籍有电子版本
⑤ Arino编程用的是什么方法
arino编程语言入门:
1. 关键字
语法符号:
;
;是一条语句结束的标志,供编译器识别,必须得有。
{}
{}将多条语句合成一个复合语句,能划分语句的作用域,增强整体整体的可读性。
//
//行注释,该行//后的所有语句,文字将不被编译器所编译、执行。相似的,还有,在中的所有语句,文字将不被编译器所编译、执行。
if(表达式)
{
语句A;
}
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
...
else if(表达式n)
{
语句n;
}
else
{
语句n+1;
}
for(初始表达式;条件表达式;循环变量表达式)
{
循环体语句;
}
switch(表达式)
{
case 表达式常量1:语句序列1;
case 表达式常量2:语句序列2;
...
case 表达式常量i:语句序列i;
case 表达式常量n:语句序列n;
default:语句序列n+1;
}
while(条件表达式)
{
循环语句;
循环变量表达式;
}
do
{
循环体语句;
}while(条件表达式);
break;
continue;
return x;
goto 语句标号;
2. 数据类型:
3. 常量
HIGH | LOW 表示数字IO口的高低电平。HIGH 表示高电(1),LOW 表示低电平(0)。
INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR单片机能提供5V电压 40mA电流)。
true | false true 表示真(1),false表示假(0)。
4. 程序结构
声明变量及接口名称(例如:int i;int ledPin=13;)。
void setup() 函数在程序开始时使用,初始化变量,管脚模式,调用库函数等(例如:pinMode(ledPin,OUTUPT);)。
void loop() 在void setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arino。
5. 数字 I/O
以下型号为UNO
pinMode(pin, mode);
数字IO口输入输出模式定义函数,pin表示为0~13, mode表示INPUT或OUTPUT。
digitalWrite(pin, value) ;
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
必须先定义为输入或输出模式digitalWrite才能生效。
int digitalRead(pin);
数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数
字传感器。
6. 模拟IO
int analogRead(pin);
模拟IO口读函数,pin表示为0~5(ArinoDiecimila为0~5,Arino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。
analogWrite(pin, value) - PWM
数字IO口PWM输出函数,Arino数字IO口标注了PWM的IO口可使用该函数通常在引脚的旁边标注~,pin表示3, 5, 6, 9,10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。
7. 扩展 I/O
shiftOut(dataPin, clockPin, bitOrder,value);
SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。
unsigned long pulseIn(pin, value);脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。
8. 时间函数
unsigned long millis();返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
delay(ms);延时函数(单位ms)。
delayMicroseconds(us);延时函数(单位us)。
9. 数学函数
min(x, y) ;求最小值。
max(x, y) ;求最大值。
abs(x) ; 计算绝对值。
constrain(x, a, b) ; 约束函数,下限a,上限b,x必须在ab之间才能返回。
map(value, fromLow, fromHigh, toLow,toHigh);约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
pow(base, exponent);开方函数,base的exponent次方。
sq(x); 平方。
sqrt(x);开根号。
三角函数:
sin(rad);
cos(rad);
tan(rad);
10. 随机数函数
randomSeed(seed);随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
long random(max);随机数函数,返回数据大于等于0,小于max。
long random(min, max);随机数函数,返回数据大于等于min,小于max。
11. 外部中断函数
attachInterrupt(interrupt, , mode;外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
detachInterrupt(interrupt);中断开关,interrupt=1 开,interrupt=0 关。
interrupts();中断使能函数,用于使能中断。
noInterrupts();中断禁止函数,禁止中断。
12. 串口收发函数
Serial.begin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如9600,19200等。
int Serial.available() 判断缓冲器状态。
int Serial.read();读串口并返回收到参数。
Serial.flush();清空缓冲器。
Serial.print(data);串口输出数据。Serial.print(数据,数据的进制) 默认为十进制(DEC)
Serial.println(data);串口输出数据并带回车符。
13. 重要
以上列举了一些较常用的函数,事实上,在Arino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。
也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。
通过以上介绍,其实大家可以看到arino编程语言入门并不难,以上内容分享出来给大家作为参考,想要了解更多更专业的arino编程语言教程可以去DF创客社区Arino教程专栏学习。
⑥ arinoide编程器怎么选择
这要看你具体使用什么开发板,也就是开发板支持什么类型的编程器,
像arino nano V3.0的板子使用AVRISP mkII,arino as ISP 都是可以的,亲测可用。详情请参考:http://blog.csdn.net/testcs_dn/article/details/52565277
其实选错了也没关系,顶多就是烧录失败,也不用担心会损坏板子的情况,至少目前我还没遇到。
⑦ arino到底是什么
1、n. (Arino)人名;(意)阿尔杜伊诺
2、是一块基于开放源代码的USB接口Simple i/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境。
⑧ 玩arino 需要做哪些准备
说到电子这个东东,我还从小就和它结下了不解之缘。我还是读小学,90年代,每次在回家的路上会经过一个电子厂,能捡到一些报废的电子管。当时觉得这个东东长得很像宇宙飞船,大概记得小学4,5年级的时候,我就开始鼓弄DIY了。所以今天也为大家回答一下,玩 Arino 需要做哪些准备?
先买一块arino板子,新手推荐arino UNO R3,加一些必要的元器件,可以考虑套件。
开始看资料,理解arino作为单片机系统,可以做些什么事。总体就是运行程序,接受输入,控制输出。
以上就是新手的入门入门的基本步骤了,同时也有一些书籍是可以参考的,大家可以自己在网络上搜一下,只要是适合新手的都可以参考,大家可以自己选择。
⑨ Arino编程都用什么语言c51还是什么
Arino编程使用Java、C等语言。
Arino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arino板)和软件(ArinoIDE)。由一个欧洲开发团队于2005年冬季开发。它构建于开放原始码simpleI/O接口版,并且具有使用类似Java、C语言的Processing/Wiring开发环境。
主要包含两个的部分:硬件部分是可以用来做电路连接的Arino电路板;另外一个则是ArinoIDE,你的计算机中的程序开发环境。你只要在IDE中编写程序代码,将程序上传到Arino电路板后,程序便会告诉Arino电路板要做些什么。
(9)arino编程参考扩展阅读
Arino语言函数架构
1、pinMode(pin,mode)
数字IO口输入输出模式定义函数,pin表示为0~13,mode表示为INPUT或OUTPUT。
2、digitalWrite(pin,value)
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
3、intdigitalRead(pin)
数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数字传感器。
⑩ arino编程用的是什么软件
arino编程语言入门:
1. 关键字
语法符号:
;
;是一条语句结束的标志,供编译器识别,必须得有。
{}
{}将多条语句合成一个复合语句,能划分语句的作用域,增强整体整体的可读性。
//
//行注释,该行//后的所有语句,文字将不被编译器所编译、执行。相似的,还有,在中的所有语句,文字将不被编译器所编译、执行。
if(表达式)
{
语句A;
}
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
...
else if(表达式n)
{
语句n;
}
else
{
语句n+1;
}
for(初始表达式;条件表达式;循环变量表达式)
{
循环体语句;
}
switch(表达式)
{
case 表达式常量1:语句序列1;
case 表达式常量2:语句序列2;
...
case 表达式常量i:语句序列i;
case 表达式常量n:语句序列n;
default:语句序列n+1;
}
while(条件表达式)
{
循环语句;
循环变量表达式;
}
do
{
循环体语句;
}while(条件表达式);
break;
continue;
return x;
goto 语句标号;
2. 数据类型:
3. 常量
HIGH | LOW 表示数字IO口的高低电平。HIGH 表示高电(1),LOW 表示低电平(0)。
INPUT | OUTPUT 表示数字IO口的方向,INPUT 表示输入(高阻态),OUTPUT 表示输出(AVR单片机能提供5V电压 40mA电流)。
true | false true 表示真(1),false表示假(0)。
4. 程序结构
声明变量及接口名称(例如:int i;int ledPin=13;)。
void setup() 函数在程序开始时使用,初始化变量,管脚模式,调用库函数等(例如:pinMode(ledPin,OUTUPT);)。
void loop() 在void setup()函数之后,即初始化之后,loop() 让你的程序循环地被执行。使用它来运转Arino。
5. 数字 I/O
以下型号为UNO
pinMode(pin, mode);
数字IO口输入输出模式定义函数,pin表示为0~13, mode表示INPUT或OUTPUT。
digitalWrite(pin, value) ;
数字IO口输出电平定义函数,pin表示为0~13,value表示为HIGH或LOW。
必须先定义为输入或输出模式digitalWrite才能生效。
int digitalRead(pin);
数字IO口读输入电平函数,pin表示为0~13,value表示为HIGH或LOW。比如可以读数
字传感器。
6. 模拟IO
int analogRead(pin);
模拟IO口读函数,pin表示为0~5(ArinoDiecimila为0~5,Arino nano为0~7)。比如可以读模拟传感器(10位AD,0~5V表示为0~1023)。
analogWrite(pin, value) - PWM
数字IO口PWM输出函数,Arino数字IO口标注了PWM的IO口可使用该函数通常在引脚的旁边标注~,pin表示3, 5, 6, 9,10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。
7. 扩展 I/O
shiftOut(dataPin, clockPin, bitOrder,value);
SPI外部IO扩展函数,通常使用带SPI接口的74HC595做8个IO扩展,dataPin为数据口,clockPin为时钟口,bitOrder为数据传输方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要传送的数据(0~255),另外还需要一个IO口做74HC595的使能控制。
unsigned long pulseIn(pin, value);脉冲长度记录函数,返回时间参数(us),pin表示为0~13,value为HIGH或LOW。比如value为HIGH,那么当pin输入为高电平时,开始计时,当pin输入为低电平时,停止计时,然后返回该时间。
8. 时间函数
unsigned long millis();返回时间函数(单位ms),该函数是指,当程序运行就开始计时并返回记录的参数,该参数溢出大概需要50天时间。
delay(ms);延时函数(单位ms)。
delayMicroseconds(us);延时函数(单位us)。
9. 数学函数
min(x, y) ;求最小值。
max(x, y) ;求最大值。
abs(x) ; 计算绝对值。
constrain(x, a, b) ; 约束函数,下限a,上限b,x必须在ab之间才能返回。
map(value, fromLow, fromHigh, toLow,toHigh);约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间。
pow(base, exponent);开方函数,base的exponent次方。
sq(x); 平方。
sqrt(x);开根号。
三角函数:
sin(rad);
cos(rad);
tan(rad);
10. 随机数函数
randomSeed(seed);随机数端口定义函数,seed表示读模拟口analogRead(pin)函数 。
long random(max);随机数函数,返回数据大于等于0,小于max。
long random(min, max);随机数函数,返回数据大于等于min,小于max。
11. 外部中断函数
attachInterrupt(interrupt, , mode;外部中断只能用到数字IO口2和3,interrupt表示中断口初始0或1,表示一个功能函数,mode:LOW低电平中断,CHANGE有变化就中断,RISING上升沿中断,FALLING 下降沿中断。
detachInterrupt(interrupt);中断开关,interrupt=1 开,interrupt=0 关。
interrupts();中断使能函数,用于使能中断。
noInterrupts();中断禁止函数,禁止中断。
12. 串口收发函数
Serial.begin(speed);串口定义波特率函数,speed表示波特率(串行每秒传输数据位数的速率),如9600,19200等。
int Serial.available() 判断缓冲器状态。
int Serial.read();读串口并返回收到参数。
Serial.flush();清空缓冲器。
Serial.print(data);串口输出数据。Serial.print(数据,数据的进制) 默认为十进制(DEC)
Serial.println(data);串口输出数据并带回车符。
13. 重要
以上列举了一些较常用的函数,事实上,在Arino的安装目录下的libraries还有众多函数可以根据需要进行调用和学习。
也可以自己编写函数然后按照libraries目录下其他函数的格式打包好。放置在libraries目录下,然后自己就可以在IDE环境下调用自己编写的函数了。
通过以上介绍,其实大家可以看到arino编程语言入门并不难,以上内容分享出来给大家作为参考,想要了解更多更专业的arino编程语言教程可以去DF创客社区Arino教程专栏学习。