P10 Led Panel 32x16 consist of 512 leds. There are 2 connectors, called Hub1.2 (8x12 male header) and 5v power connector. Hub1.2 placed left side of the board shown in image below is input, right one is the connector to connect another p10 panels input. Pin definition of Hub1.2 is shown in image. ENABLE pin is the pin which allows you to control the panel is working state or stop state. Panel enables when it is driven a HIGH signal, When it is driven low it does not matter another pin states, panel stops working. A, B are row selectors, this pins represent a 2 bit binary number allow you to select one of four rows in a sequence. Selecting a row means that, the leds on the selected row are powering their anod pins. There are 16 rows in total(A1-A16), and they are in a group of 4. Each group of rows are represented with the same color in the images below. Look at the table, driving A and B with a LOW signal means selecting rows labelled A1,A5,A9 and A13. B A Selected rows
Let's code! Expalantions are in the code area. Happy Coding! /* * DHT 11 driving without library * * http://en.devrelerim.com * Author : Hakan OZMEN (hakkanr@gmail.com) * Date : 30.03.2021 * * You can change or share all / or same part of * this code. Free of charge! :) */ uint8_t data [ 5 ] ; // to save our 8bit * 5 data void setup ( ) { Serial . begin ( 115200 ) ; } /* * This function count an 8bit integer value * while given signal is not changed * no need to measure time counting is also * need time ;) */ uint8_t expectedSignal ( bool level ) { uint8_t count = 0 ; while ( digitalRead ( 2 ) == level ) count ++ ; return count ; } void loop ( ) { delay ( 2000 ) ; // wait 2 secs for sensor to initialize Serial . println ( "----------------------" ) ; pinMode ( 2 , INPUT_PULLUP ) ; // Standard is HIGH delay ( 1000 ) ; pinMode ( 2 , OUTPUT ) ; // make pin 2 output digitalWrite ( 2 , LO
What's inside DHT11 sensor , I've removed the plastic case and what I saw is : There is a resistive type humidity measurement component, a NTC to measure temperature and a 8 bit microcontroller and it uses single-wire serial interface to communicate with other systems. Measurement range 0-50 °C in temp and 20-90%RH in humidity. Accuracy for temp is ±2°C, ±5%RH for humidity, and last information about it is resolution is 1. What about the power? it can work between 3v and 5.5V, this means you can use it 3.3v boards and also 5v boards. Communication Process This is the part I like the most ! - One communication process is about 4ms. - Data format : 8bit Humidity (integer part) 8bit Humidity (decimal Part) 8bit Temp (integer part) 8bit Temp (decimal Part) 8bit checksum totally we have 40 bits of data to deal with. Let's look at the signal on data pin with logic analyzer There are two timing maker pairs A1 to A2 (at the same point B1),
Comments
Post a Comment
You can share your experience, or ask anything about the topic, Let's write ;)