“8*8单色点阵控制”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用processing来控制8乘8点阵。 ==设备== *'''Microduino-Core''' *'''Microduino-FT232R''' ...")
 
设备
 
(未显示1个用户的2个中间版本)
第1行: 第1行:
 +
{{Language |8*8 Single-color_Lattice_Control}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
第7行: 第8行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
  
 
*其他硬件设备
 
*其他硬件设备
第16行: 第17行:
 
**8*8点阵LED 一个
 
**8*8点阵LED 一个
 
**74HC595 2个
 
**74HC595 2个
 
  
 
==原理图==
 
==原理图==
第80行: 第80行:
 
函数说明:
 
函数说明:
  
mousePressed()//鼠标点击事件处理
+
mousePressed();//鼠标点击事件处理
  
booleanArray2Byte()//把boolean数组转化为byte值
+
booleanArray2Byte();//把boolean数组转化为byte值
  
shiftOut()//74hc595芯片的shiftOut二进制处理函数
+
shiftOut();//74hc595芯片的shiftOut二进制处理函数
  
  

2014年10月29日 (三) 07:26的最新版本

Language English

目的

本教程将教大家如何用processing来控制8乘8点阵。

设备

  • 其他硬件设备
    • USB数据连接线 一根
    • 面包板跳线 一盒
    • 面包板 一块
    • 8*8点阵LED 一个
    • 74HC595 2个

原理图

88LatticeSchematics.jpg

程序

见 ProcessingLattice

调试

步骤一:按着原理图搭建硬件环境,像这样:

88LatticeConnectionDiagram.jpg


步骤二:解释一下代码:

本例需要两端的代码,Processing端和Microduino端

Microduino:

使用firmata的StandardFirmata程序。

Processing:

//定义第一个串口。

 arduino = new Arduino(this, Arduino.list()[0], 57600);

//在setup()中定义输出引脚,和64个LED灯对象

 arduino.pinMode(latchPin, Arduino.OUTPUT);
 for (int i=0;i<8;i++) {
   for (int j = 0; j < 8; j ++ ) { // Initialize each led and output pin using a for loop.
     leds[i][j] = new LED((i+1)*60, (j+1)*60, 50, 50, j+1+(i*10));
     ledStates[i][j]=false;
   }
 }


//在draw()中判断64个LED中哪一行那一列的开启火熄灭

 background(255);
 for (int i=0; i<8;i++) {
   for (int j = 0; j < 8; j ++ ) { // Run each LED using a for loop.
     leds[i][j].display();
     if (leds[i][j].button) {//switch led on/off
       ledStates[i][j]=true;
     }
     else {
       ledStates[i][j]=false;
     }
   }
 }

//控制74hc595芯片进行处理,映射到8乘8点阵上。

 for (int i=0;i<8;i++) {
   arduino.digitalWrite(latchPin, 0);
   shiftOut(dataPin, clockPin, maskByteLines[0]); //mask(col)
   shiftOut(dataPin, clockPin, booleanArray2Byte(ledStates[i])); //row
   arduino.digitalWrite(latchPin, 1);
 }

函数说明:

mousePressed();//鼠标点击事件处理

booleanArray2Byte();//把boolean数组转化为byte值

shiftOut();//74hc595芯片的shiftOut二进制处理函数


步骤三:下载代码并编译通过。

步骤四:运行后,processing中会出现8乘8LED点阵,鼠标点击任何一个LED,看有什么反应。

结果

屏幕上显示的LED亮灭状态会和真实的8乘8点阵对应,像这样

88LatticeResult.jpg


视频