Escudo de papel electrónico en pcDuino (2 / 6 paso)

Paso 2: código

 #include ”core.h”//pcDuino contains Core header file 
 #include ”ls.h”//Containing images to be displayed #define STATUS_PIN 9//Define electronic paper 's state pin #define CS_PIN 10//Define electronic paper 's chip select pin #define MISO_PIN 11//Master input and slave output pin #define MOSI_PIN 12//Master output and slave input pin #define SCK_PIN 13//Defined clock pin #define FRAME_END_LEN 11//Define the refresh frequency (I used 11, it's free to modify) unsigned char SoftSpiTransfer(unsigned char data)//Simulating SPI timing { unsigned char cnt; unsigned char rst; rst = 0; for(cnt = 0;cnt < 8 ;cnt ++) { rst <<= 1; if(data & 0×80) digitalWrite(MOSI_PIN,HIGH); else digitalWrite(MOSI_PIN,LOW); digitalWrite(SCK_PIN,HIGH); digitalWrite(SCK_PIN,LOW); rst |= digitalRead(MISO_PIN); data <<= 1; } return rst; } void ClearScring(void)//Clear function { bool DeviceStatus;//Defined a quantity of state DeviceStatus = digitalRead(STATUS_PIN); digitalWrite(CS_PIN,LOW); SoftSpiTransfer(3); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”);//Embedded a delay assembler instruction, the same below } digitalWrite(CS_PIN,HIGH); } void SetImageWide(unsigned int wide)//Image width setting function { bool DeviceStatus; DeviceStatus = digitalRead(STATUS_PIN); digitalWrite(CS_PIN,LOW); SoftSpiTransfer(1); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } DeviceStatus = !DeviceStatus; SoftSpiTransfer(wide >> 8); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } DeviceStatus = !DeviceStatus; SoftSpiTransfer(wide & 0xff); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } digitalWrite(CS_PIN,HIGH); } void SetImageHigh(unsigned int high)//Image Height setting function { bool DeviceStatus; DeviceStatus = digitalRead(STATUS_PIN); digitalWrite(CS_PIN,LOW); SoftSpiTransfer(2); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } DeviceStatus = !DeviceStatus; SoftSpiTransfer(high >> 8); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } DeviceStatus = !DeviceStatus; SoftSpiTransfer(high & 0xff); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } digitalWrite(CS_PIN,HIGH); } void SendImage(const unsigned char * pic)//Function of displays pictures { bool DeviceStatus; unsigned char data; unsigned char cnt0; unsigned int cnt1; unsigned long time; DeviceStatus = digitalRead(STATUS_PIN); digitalWrite(CS_PIN,LOW); SoftSpiTransfer(4); while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); } DeviceStatus = !DeviceStatus; for(cnt0 = 0;cnt0 < FRAME_END_LEN; cnt0 ++) { Serial.println(“New Line”); for(cnt1 = 0; cnt1 < 120000; cnt1 ++) { data = gImage[cnt1]; SoftSpiTransfer(data); time = 0; while(digitalRead(STATUS_PIN) == DeviceStatus) { asm(“nop”); time ++; if(time > 1000000) { Serial.println(“Error”);//When timeout serial prompt an error digitalWrite(CS_PIN,HIGH); return; } } DeviceStatus = !DeviceStatus; } } digitalWrite(CS_PIN,HIGH); } void setup() { Serial.begin(9600); pinMode(STATUS_PIN, INPUT); pinMode(CS_PIN, OUTPUT); pinMode(MOSI_PIN, OUTPUT); pinMode(MISO_PIN, INPUT); pinMode(SCK_PIN, OUTPUT); digitalWrite(CS_PIN,HIGH); digitalWrite(STATUS_PIN,HIGH); digitalWrite(SCK_PIN,LOW); } void loop() { char cmd; if(Serial.available())//If serial port received a data { cmd = Serial.parseInt(); switch(cmd) { case 1: SetImageWide(600); Serial.println(“Set Image Wide Complete !”); break; case 2: SetImageHigh(800); Serial.println(“Set Image High Complete !”); break; case 3: Serial.println(“Start Clear Scring !”); ClearScring(); Serial.println(“Clear Scring Complete !”); break; case 4: Serial.println(“Start Send Image Data!”); SendImage(gImage); Serial.println(“Send Image Data Complete !”); break; default: Serial.println(“Unknow instruction !”); break; } } } 

Artículos Relacionados

"Creación de ranas de papel electrónico" E-Origami

"Creación de ranas de papel electrónico" E-Origami

¿Quieres crear tus propias figuras de papel con electrónica integrada? Sólo necesitas pegamento, pintura conductora y paciencia. Se le puede diseñar circuitos de papel e integrar fácilmente algunos componentes electrónicos básicos.Siguiendo este tuto
Mar diversión - un vivo papel juguete por electrónico módulos básicos

Mar diversión - un vivo papel juguete por electrónico módulos básicos

de caigo para juguete de papel últimamente. Además de cortar y pegar de papel 3D juguetes, decidí hacer un vivo que puede realmente moverse e interactuar conmigo. Tenía las figuras de la historieta y escenas de papel impresión en una tienda de impres
Remitente de correo electrónico Arduino Ethernet adaptador/escudo

Remitente de correo electrónico Arduino Ethernet adaptador/escudo

Hola de nuevo.No hace mucho llegué a de 50.000 vistas en mi módulo de ESP8266 Wi-fi. Me sorprendió bastante y queria agradecer a todos los que visto, le gustó y comentado en él. El 2 de septiembre., he publicado instructable sobre estación meteorológ
Instrumento electrónico

Instrumento electrónico

este instrumento electrónico le permite a secuencia y loop de audio y datos MIDI.  Mayoría de las veces de que lo uso para secuencia muestras de batería así que puedo juguetear con los ritmos y pulsaciones diferentes.  Lo realmente bueno de este inst
Residuos electrónicos curiosidad 120$ impresora 3D educación

Residuos electrónicos curiosidad 120$ impresora 3D educación

ACTUALIZACIÓN: Nuestra primera campaña crowdfunding es en vivo por SparkRaise.com!El objetivo de nuestra campaña es donar los kits a escuelas necesitadas, instituciones y otros grupos alrededor del mundo que luego organizan talleres para niños de 8 a
Lámpara de estado de ánimo de silueta de IoT (notificador de correo electrónico y Twitter)

Lámpara de estado de ánimo de silueta de IoT (notificador de correo electrónico y Twitter)

IoT (Internet de las cosas) se está convirtiendo en cada vez más popular y más número de microcontroladores es IoT habilitado, decidí hacer una serie de tutoriales sobre IoT con un fotón partícula y un Edison de Intel.Hoy voy a mostrarle cómo constru
BRICOLAJE - cómo utilizar la Arduino Uno para enviar un correo electrónico, SMS y hacer una voz llamar

BRICOLAJE - cómo utilizar la Arduino Uno para enviar un correo electrónico, SMS y hacer una voz llamar

¿Se pregunta cómo enviar correos electrónicos a través de tu Arduino Uno? No te preocupes... Este vídeo tutorial ilumine sobre el proceso paso a paso para enviar correos electrónicos, mensajes SMS, así como hacer voz llamar usando el 3G/GPRS shield l
Contador de correo electrónico no leídos de cubo de hielo

Contador de correo electrónico no leídos de cubo de hielo

cavando en la bóveda de nunca completamente documentado proyectos, encontré esto y decidió hacer un Instructable sobre ella. Hacer esto sobre todo por la memoria, quizás han perdido algunas cosas. Avísame si ves cualquier error. Este es un proyecto q
Electrónico automatizado alijo oculto construido en tabla (fácil y baratísimo)

Electrónico automatizado alijo oculto construido en tabla (fácil y baratísimo)

Hola chicos! Así que estuve jugando a deus ex 1 y 3 y todos los escondites ocultos detrás de la TV y fotos y bajo pisos me dieron una idea! ¿Voy a hacer yo algo similar cómo sobre un lugar para guardar mis plumas que se desliza para arriba de mi escr
Cosplay Zootopia con módulo electrónico

Cosplay Zootopia con módulo electrónico

Zootopia es una maravillosa película adorable que llevarme un bonito conejo y un zorro inteligente. Me gusta tanto de ellos. Así como a Coser que quiero conseguir un par de oídos inteligentes de los animales en la película.Hardware de código abierto
Residuos electrónicos 60$ 3DPrinter

Residuos electrónicos 60$ 3DPrinter

Este proyecto describe el diseño de un muy bajo presupuesto la impresora 3D que está principalmente construido de componentes electrónicos reciclados. El resultado es una impresora de pequeño formato por menos de 100$.En primer lugar, aprendemos cómo
Con incrustaciones de lógica: Un gigante circuito embutido de rastros electrónicos por chorro de agua

Con incrustaciones de lógica: Un gigante circuito embutido de rastros electrónicos por chorro de agua

Este Instructable muestra cómo hacer una tarjeta de circuitos electrónicos con incrustaciones gigante de rastros de acero inoxidable, corte por chorro de agua OMAX y fresado en una Shopbot CNC de acrílico.Estos pasos se extienden para construir cualq
Pisapapeles electrónico

Pisapapeles electrónico

imaginar un pisapapeles que no sólo tiene montones de papel en su lugar, pero perpetuamente parpadea!Paso 1: Componentes básicos Una célula solar, supercapacitor y un nuevo chip de ultra baja potencia 555 hacerlo posible!Paso 2: El CSS555 microfuerza
Hacer un dispositivo electrónico en la calle (IR Pen)

Hacer un dispositivo electrónico en la calle (IR Pen)

a veces no tienen suficientes materiales y espacio para hacer cualquier instructables para usted seguir leyendo...Quería hacer algunos instructables muy simple para que cualquier persona puede hacerlo en cualquier lugar. No será que la más impresiona