soonuse / epd-library-arduino Goto Github PK
View Code? Open in Web Editor NEWArduino libraries for Waveshare e-paper series
License: GNU General Public License v3.0
Arduino libraries for Waveshare e-paper series
License: GNU General Public License v3.0
When using epd.Sleep (); on displays 1.54 consumption in sleep mode 800microamper!!!
By now Waveshare has many more displays available. And their wiki provides more information and resources.
I personally would like the 5.65in to be added.
Any chance more recent display are added?
Is it possible to implement that ?
Hello i always get this error
epd2in13b-demo:28:23: error: epd2in13b.h: No such file or directory
If i do like the readme:
1.Copy the libraries (e-paper/arduino/libraries) of Arduino demo code to the libraries directory of Arduino IDE. (C:\users\username\documents\arduino\libraries by default. You can also specify the location on Arduino IDE --> File --> Preferences --> Sketchbook location).
2.Open the project (arduino/epd-demo/epd-demo.ino)
Compile and upload the program.
So i copied all files from libraries folder to the arduino/libraries
Please tell me the correct folder path beginning from arduino IDE folder to epd2in13b.h file
Black border (frame) appears when 2.9 inch b/w EPD is initialised.
You have a register BORDER_WAVEFORM_CONTROL defined in epd2in9.h, but you do not send any data to it to remove Black border
I ran into "library not found" errors while trying to run this code on my Arduino, both desktop IDE 1.8.9 and the new Arduino Web Editor. It happened with the epd4in2 driver, but will probably apply to other drivers as well.
The broken lines were as follows:
include <arduino.h>
in epdif.h: it should now be include <Arduino.h>
include <spi.h>
in epdif.cpp: it should now be include <SPI.h>
After these changes, the code ran properly. I'm guessing it's because inbuilt library names have been changed to uppercase in the new versions of Arduino.
Is the 7.5 V3 supported? The 7.5 Model seems to be the 7.5 V1.
Hello,
I've been trying to get my Waveshare epaper 1.54" screen working on an Arduino Mega. I've been successful but I had to make a modification to the library.
In the above file, Line 36 needs to be changed from 10 to 53 because the screen communicates via SPI, and the SS pin for SPI communications on the Mega is on pin 53 whereas it is pin 10 on the Uno. That's it for the code changes.
Additionally, I needed to change the wiring:
After doing the above, the screen worked flawlessly in my Mega. It would be helpful if the library files could detect whether they're being compiled for the uno or mega and update the pin definitions in epdif.h accordingly. Also helpful would be documentation updates to include how to wire the screen up for the mega.
Thank you!
Hello! Thank-you for providing these great libraries :)
I am trying to use a 2.9inch(b) screen with my new Arduino Nano... unfortunately the example code does not work and nothing appears to happen on the screen.
I have found that it hangs in Epd::Init() where WaitUntilIdle(); is called.
Presumably this is because DigitalRead(busy_pin) never stops being busy (0)?
I am not sure if this is a wiring problem, a compatibility issue, or a bug, but I would be happy to help if you have any ideas!
I would love to make these libraries work with the new Nano33 IOT :)
Starting version 1.5.x, Arduino requires a new library.properties
file which is used by the Library Manager to import those libraries. Details can be found at this wiki page.
The various e-Paper libraries in this project are missing libraries.properties
; it would help to have them in order to easily upload and manage them with Arduino's new tools. Details can be found on the aforementioned page, but here is a sample file we could use:
name=epd4in2
version=1.0
author=Yehui from WaveShare
maintainer=Yehui from WaveShare
sentence=Arduino driver for the WaveShare 4.2inch e-paper display
paragraph=You can find more information on this and other displays at https://www.waveshare.com/wiki/Main_Page#OLEDs_.2F_LCDs
category=Display
url=https://github.com/soonuse/epd-library-arduino
If you give me a final sample file you want to use, I can generate libraries.properties
for all the libraries and submit them in a pull-request. (Unfortunately, you will have to change the version every time you make an update, which means updating all those various files once again).
I have the flexible 2.13 eink display from waveshare which you marked at 2.13" D display. I was able together display from waveshare to work with your code but not the 2.13"D. Could you tell me how to get this working?
Can you add a function to make Pin of the screen settable to add compatibility with other boards like ESP8266 E12 ?
The protocol for version 2 of the single color 1.54 inch display is completely different from that of the old model. Hardware form factor is identical as are the pinouts.
Official demo code for Arduino is at https://github.com/waveshare/e-Paper/tree/master/Arduino/epd1in54_V2
It took me awhile to figure out what was happening. But I figured it out (I think)
line 115 of the epd4in2.cpp reads :
SendData(((x & 0xf8) + w - 1) >> 8);
It should be:
SendData(((x) + w - 1) >> 8);
the (& 0xf8) will set the first 8 bits of any 16 bit number to 0. it works fine below 256 because they are zero anyway, but above 255 and a bit is lost.
I noticed the comment in the 2.9b sketch
/**
* Due to RAM not enough in Arduino UNO, a frame buffer is not allowed.
* In this case, a smaller image buffer is allocated and you have to
* update a partial display several times.
* 1 byte = 8 pixels, therefore you have to set 8*N pixels at a time.
*/
Can a frame buffer be used for AVR chips with more RAM such as ATxmega series or Arduino-compatible boards such as the ESP8266/ESP32 which have plenty of RAM compared to an UNO?
Does the code take advantage of microcontrollers with additional RAM, and if not, could it be modified to do so?
I used the epd2in7 libary and it works great!
But in combination with the standart SD.h libary from Arduino the libray has some weird malfunction.
Despite using diffrent Chip-select-pins for the SD and the display, it seems that the SPI communication of the SD card interferes the communication of the display.
What I have observed:
#include <SD.h>
is inserted in the epd2in7-demo the display shows random noise! But Updating and Clearing still works.SD.begin(cs);
is inserted in void Setup()
the display does not react to anything. But the serial Monitor prints e-Paper busy
and e-Paper busy release
.This showes that the libary is still working corecctly but void SendCommand(unsigned char command);
and void SendData(unsigned char data);
aren´t.
After studying both libaries intensly, I did not found any problems that could result in this odd behaviour.
Has anybody suggestions why this is happening or how to prevent it??
In epd-library-arduino/2.9inch_e-paper/arduino/libraries/epdif.cpp, the following 2 lines must be swapped:
60 SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
61 SPI.begin();
otherwise the SPI bus won't work [as I found out when trying to get the 2.9" display to work].
So the correct sequence is:
60 SPI.begin();
61 SPI.beginTransaction(SPISettings(2000000, MSBFIRST, SPI_MODE0));
Regards,
Paul
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.