数码管控制
Pkj(讨论 | 贡献)2014年6月9日 (一) 02:59的版本 (Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家如何用processing来控制一个共阴极数码管。 ==设备== *'''Microduino-Core''' *'''Microduino-...")
目的本教程将教大家如何用processing来控制一个共阴极数码管。 设备
原理图程序见 ProcessingSegment
调试步骤一:按着原理图搭建硬件环境,像这样:
本例需要两端的代码,Processing端和Microduino端 Microduino: 使用firmata的StandardFirmata程序。 Processing: //定义8个LED用来表示一个数码管。 LED[] leds = new LED[8]; // An array of 8 led objects! //定义对应数码管引脚1,2,.......10的Microduino引脚。 int microduinoPins[] = {//Correspondence microduino pin for 7 segment 11,2,4,5,6,7,9,10}; //定义数码管LED标签 String segmentLables[]={"1-e","2-d","3-c","4-dp","5-b","6-a","7-f","8-g"};
for (int i = 0; i < leds.length; i ++ ) { // Initialize each led and output pin using a for loop. leds[i] = new LED((i+1)*60, 75, 50,50,i+1); arduino.pinMode(microduinoPins[i], Arduino.OUTPUT); } //在draw()中绘制数码管并判断led的亮灭并把状态发送到Microduino for (int i = 0; i < leds.length; i ++ ) { // Run each Car using a for loop. leds[i].display(); //draw segemnt lables text (segmentLables[i], (i+1)*60+8, 60); if (leds[i].button) {//switch led on/off arduino.digitalWrite(microduinoPins[i], Arduino.HIGH); } else { arduino.digitalWrite(microduinoPins[i], Arduino.LOW); } } 步骤三:下载代码并编译通过。 步骤四:运行后,在processing中会出现8个LED,鼠标点击每个led看数码管会有什么反应。 结果鼠标点击后对应的数码管LED会亮起或熄灭,像这样
视频 |