Street electronic clocks are widely used in the design of modern infrastructure in Moscow and other cities as an effective means of attracting people's attention.

The production company "RusImpulse" produces a wide range of outdoor LED clocks: with a digit height of 80mm and above and any color of glow.

Serial models of street wall clock"Impulse" standardly displays the current time, date and air temperature in alternating mode. Optionally, such watch-thermometer is also capable of displaying a wide range of meteorological data: water temperature, relative air humidity, atmospheric pressure, wind speed, background radiation level. The display time of each of the parameters can be set by the user independently.

Electronic boards "Impulse" operate in a wide temperature range (from -40 to +50 °C), have special protection against corrosion, dust and moisture ingress into the housing (IP 65) and can be operated in any weather conditions.

Electronic street clocks with an "Impulse" thermometer are produced, as a rule, in a one-sided version and are installed on the wall of a building. It is possible to double-sided watch with vertical or side fastening.

Depending on the intended installation location, an outdoor electronic thermometer clock can be selected for the shady or sunny side. For placement in the shade, a thermometer clock with less bright red LEDs - 1.5Kd is suitable, while for the sunny side, as well as installation in shop windows, watches with brighter LEDs (3.0Kd for a red glow / at least 2Kd for a different color) are recommended. )

Outdoor electronic clock with a thermometer is standardly controlled using a remote control remote control on infrared rays with a range of up to 10 m. The remote control allows you to change the brightness of the glow and the duration of the indication of the displayed parameters. Large-sized watch-thermometer with a font height of 700 mm is controlled by a radio remote control with a range of up to 50 m.

Basic models of outdoor electronic watches "Impulse"

displayed parameters current time(HH:MM), date (DD.MM), air temperature (-88°C or 88 °C)
indicator format 88:88
indicator type LEDs
indicator brightness
control IR remote control (distance up to 10m)
food 220V/ 50Hz, power cable 1.5m.
terms of Use street, temperature from -40° to 50° С
case type and color stamped steel body,painted with black powder paint,decorative profile, acrylic glass, fastening -hinges on the back of the case
weather sensorsair temperature sensor - remote, sensor wire 1.5 m.
optionally it is possible to equip the board with other weather sensors
guarantee period 2 years

The proposed device uses character LED sixteen-element indicators PSA08-11 with common anodes. The choice fell on them because of the low cost, large size of the displayed symbol and high brightness. In order to get the maximum useful information, the text moves from right to left. On six familiarity, the current time, indoor temperature, outdoor temperature, date, day of the week and month are displayed in turn, in words, for example, “MARCH 18 THURSDAY.

Time is kept by the DS1307 chip. It is a Real Time Clock (RTC) with a built-in calendar. When the general power is off, this microcircuit continues to operate from a backup source - a CR2032 lithium cell with a voltage of 3 V. Since, in the absence of external calls, the current consumed by the DS1307 microcircuit does not exceed 300 nA, the time count in this mode can last up to ten years. The clock generator of this microcircuit is built using an external quartz resonator with a frequency of 32768 Hz, which ensures high accuracy. The microcircuit counts seconds, minutes, hours, days of the month (including leap years), months, days of the week and years. Her calendar is valid until 2100. More detailed information about it can be obtained in .

To measure the temperature in the device, digital temperature sensors LM75 are used, which have an error of no more than 2 °C in the temperature range from -25 to +100 °C. More information about them can be found in .
Scheme of a clock and a thermometer with a running line shown in fig. 1. All functions, except for counting time, are performed by the DD2 microcontroller (PIC16F873A-20I / P), clocked by the built-in oscillator with a ZQ2 quartz resonator. The SB1-SB5 buttons are used to control the device. When their contacts are open, resistors R4-R8 provide a high logic level at the corresponding inputs of the microcontroller. Resistor R11 keeps the microcontroller's setup input high, preventing random noise from restarting the program.

To power the clock, a stabilized 5 V voltage source with a maximum load current of at least 600 mA is required. It is connected to connector XS1. The author's version uses Charger from cell phone. Capacitors C1 and C2 are smoothing, and the capacitance of capacitor C1 must be at least 1000 microfarads.
The watch has an alarm clock. His sound signal supplies a piezo emitter with a built-in generator HA1 (HPA24AX). According to the signals of the microcontroller, it is controlled by a key on the transistor VT7. By selecting the resistor R18 in the base circuit of this transistor, it is possible to adjust the volume of the sound within certain limits.

Red LEDs HL1-HL3 are designed to indicate operating modes. Their brightness is changed by selecting resistors R15-R17.
For programming the microcontroller installed on the board, it has an XP1 connector. For the duration of this operation, a programmer is attached to it, for example, PICkit2, EXTRAPIC or another similar one. In the current device, this connector is not needed. You can not install it if you program the microcontroller in the programmer panel before mounting it on the board.


Microcontroller programming consists in downloading program code from a HEX file to its FLASH memory. This requires a programmer control program, such as WinPic800, which is freely available at www.winpic800.com/descargas/WinPic800.zip on the Internet. Detailed instructions on microcontroller programming can also be read in.
To simplify the microcontroller program and the device as a whole, the RTC DD1 chip and temperature sensors VK1 and VK2 are connected to the microcontroller via the same I2C bus. The VK2 sensor is connected to the XP2 connector with a cable up to several meters long according to the scheme shown in fig. 2.

Resistors R2 and R9 connect the SCL and SDA lines of the I 2 C bus to the power plus, maintain a high level on them during information transfer pauses, as required by the bus specification. You can learn more about using this bus from. The address inputs of the temperature sensors VK1 and VK2 are connected in different ways to the power plus and the common wire, which makes it possible for the microcontroller to programmatically distinguish the sensors.

Sixteen-bit parallel codes for displaying information on the indicators are formed at the outputs of the DD3 and DD4 microcircuits. The DD2 microcontroller enters information into these microcircuits in a serial code, using only three lines of its ports B and C for this. RC7 and the clock inputs of both microcircuits have a rising level difference. In this case, the code already contained in the serially connected shift registers is moved one position towards the senior bit of register DD4, and the value set by the microcontroller at its input is written to the released low bit of register DD3.

After sixteen such operations, the entire code is written into a sixteen-bit shift register formed by the DD3 and DD4 microcircuits. However, this code has not yet appeared at the outputs of the microcircuits; the one that was displayed in the previous cycle continues to operate on them. To update the state of the outputs, the microcontroller generates a rising level difference on its RB0 line and the code write inputs from the shift registers of the microcircuits DD3 and DD4 to their storage registers. You can familiarize yourself with the operation of the 74HC595 serial-to-parallel converter chip by reading.

After writing the code to the DD3 and DD4 microcontrollers, the microcontroller sends a command to turn on one of the six indicators, for the cathodes of the elements of which this code is intended. In order not to overload the outputs of the microcontroller, the indicator anodes are connected to them through switches on transistors VT1-VT6. The diagram of the indicator board is shown in fig. 3, a conventions elements of the indicator PSA08-11SRW - - in fig. 4. Connectors XP1 and XP2 of the indicator board are connected to connectors XS3 and XS2 of the main board, respectively.

Drawings of the main board and the placement of elements on it are shown in fig. 5. It is made of fiberglass laminated on one side. The board is designed to install a BK1 temperature sensor in a DIP8 package, however, the LM75AD sensor is produced in an SO8 package for surface mounting, so it should be installed through an adapter board (Fig. 6). On fig. 5, the contour of the adapter is shown by a dash-dotted line. Wire segments are inserted into the corresponding holes of the adapter and the board and soldered on both sides. You can, of course, by changing the topology of the printed conductors on the main board, do without an adapter.

The double-sided printed circuit board of indicators is shown in fig. 7. Please note that the connectors on it are installed on the side opposite to the one where the indicators are located. When connecting the connectors, both boards are located one above the other “whatnot”, as can be seen in the photograph of Fig. eight.
Transistors KT502B can be replaced by any of the same series. Instead of AL307BM LEDs, other low-power red glows are also suitable, for example AL310A.
A correctly assembled device with a correctly programmed microcontroller does not need to be adjusted and starts working immediately after being turned on.

After power is applied, the welcome message is displayed first on the indicators. It is followed by the time in 12- or 24-hour format, which can be selected in the corresponding menu item. Further, the running line with the current time stops for 10 seconds. After their expiration, the temperature in the room (readings of the VK1 sensor), the temperature outside (readings of the VK2 sensor) are displayed, and another ten-second pause is maintained, during which the indicator shows the street temperature. After that, the number is displayed, followed by the month and day of the week in words, after which the cycle (with the exception of the welcome message) repeats.

To set the current time and other parameters, switch to the “Menu” mode by briefly pressing the SB3 “M” button. The HL2 LED turns on, indicating that this mode is enabled. On the indicator, after the message “SETTINGS”, the line “XX HOUR” is displayed and stops, where XX is the current hour value, which can be increased by pressing the SB1 “+” button or decreased by pressing the SB5 “-“ button.
In order to move to the next menu item, press the SB2 “>” button. With it, you can “scroll through” the menu in the following order, using the SB4 “<” – в противоположном. После первого нажатия на кнопку SB2 “>” displays the line “MIN XX”, then “YEAR 20XX” (default 2011), then “MONTH XX”, “DATE XX”, “WEEKDAY XX”, “WEEK_HOUR XX” (the hour of the alarm), “WEEK_MIN XX” (minutes of the alarm).

Then one of the lines “BUD OFF” or “BUD ON” appears on the indicator, showing the current state of the alarm. It can be changed by pressing the button SB1 “+” or SB5 “-“. When the alarm is turned on, the HL1 LED is on, signaling this.
Next, the line “XX FORMAT” is displayed, where XX is equal to 12 or 24, depending on the time display format selected by pressing the SB1 “+” or SB5” button. After pressing SB2 “>” again, the line “BYE” is displayed, the HL2 LED turns off, the clock switches to normal operating mode.


When the current time coincides with the set alarm time, the HL3 LED and the HA1 sound emitter turn on. To turn off the light and sound alarms, just press any button. An electrical signal for controlling an external actuator, if necessary, can be removed from the output RB5 of the microcontroller, to which the HL3 LED is connected through a resistor R17.
When the external power is off, the device continues counting time - the DD1 chip is powered by a lithium cell G1.

Attached files: source.zip

LITERATURE
1. DS1307 - 64 X 8 real time clock with serial interface. – www.piclist.ru/D-DS-DSB1 “+”307-RUS/D-DS-DS1307-RUS.html
2. LM75A Digital temperature sensor and thermal watchdog. www.alldatasheet.com/datasheet-pdf/pdf/100962/PHILIPS/LM75AD.html
3. Long A. Programmers and programming of microcontrollers. - Radio, 2004, No. 1, p. 53.
4. Semyonov B. Yu. Bus I2C in radio engineering structures. – M.: “SOLON-R”, 2002.
5. 74HC595; 74HST595 8-bit serial-in, serial or parallel-out shift register with output latches; 3-state. - www.nxp.com/documents/data_sheet/74HC_HCT595.pdf

V. BALANDIN, p. Petrovskoye, Tambov region
“Radio” №9 2012

simple clock on LED matrices Oh. Many radio amateurs, beginners and not only like to "reinvent the wheel" - to build THEIR electronic clock. This fate did not spare me either. Of course, there are plenty of watch designs on the Internet today, but for some reason there are only a few watches on LED matrices. In the Russian-speaking Internet, I found only one fully completed and described design. At the same time, LED matrices are now very much cheaper, and their cost is not higher, or even lower than that of seven-segment indicators the same size. For example, the GNM23881AD I used with a size of 60x60mm were bought for 1.5u (3 indicators cost 4.5u), for this money you can hardly buy four seven-segment units of the same size. But information that can be placed on a matrix indicator can be much more. In addition to numbers, they can display any letters, signs, and with the help of a running line, text can also be displayed.

Based on this, there was a desire to build a clock on LED matrices, but so that the circuit turned out to be no more complicated than on seven-segment ones. I also wanted it to be functional enough and not like the others. Thus, the following scheme was born.

The functionality of the watch is as follows:

  • Countdown, calendar, day of the week. (leap year is taken into account, the transition to summer / winter time is not carried out).
  • Saving the clock when lost external power supply(consumption is 15mA).
  • Travel correction + - 59.9 sec \ day, in 0.1 sec increments. 9 alarms. 3 of which are “disposable”, and 6 are “permanent”, individually adjustable by day of the week.
  • Individually adjustable duration of the sound signal for each alarm (1-15min).
  • Sound confirmation of button presses (it is possible to disable).
  • Hourly beep (can be turned off).
  • From 00-00 to 08-00 the signal is not given.
  • 1 or 2 temperature sensors (Street and house).
  • Customizable ticker that displays all information (except time)
  • The value of the stroke correction, and the settings of the “creeping line” are saved even if the backup power is lost.

AtMega16A was chosen as the "heart" of the watch, because of its availability, cheapness and "legs". I wanted to simplify the circuit as much as possible, so everything that was possible was assigned to the controller. As a result, we managed to get by with just two microcircuits, a controller and a TPIC6B595 register. If TPIC6B595 is not available to someone, then you can replace it with 74HC595 + ULN2803. Both options have been tested. You can also try to use TPIC6C595, it is a bit weak, and slightly heated, but in general it worked stably. The time is counted using an asynchronous time - T2. The clock is kept even in the event of a power failure. At this time, most of the circuit is de-energized, and the controller is powered by a battery, accumulator, or from an ionistor. It was interesting for me to “play around” with the ionistor, so I applied it. The current consumption of the watch in standby mode is 15mA. When powered by a ionistor at 1F, the watch “lasted” for four days. This is quite enough to maintain the course during power outages. If you use a CR2032 battery, then theoretically, according to the calculations, the charge should be enough for 1.5 years. Availability mains voltage the controller "listens" through pin PB.3 This pin is the inverting input of the comparator. The supply voltage, through the divider R2-R3, is supplied to the output PB.3, and in the normal state is approximately 1.5V. If the external voltage drops below 4.1 volts, then the voltage at the PB.3 pin will become less than 1.23 volts, and an interrupt from the comparator will be generated, and all “unnecessary” controller nodes are turned off in the interrupt handler and the controller itself is put to sleep. In this mode, only the timer T2 keeps running. When external power appears, the voltage on PB.3 will again rise above 1.23V, the controller "seeing" this will transfer all nodes to working condition. If instead of an ionistor, a CR2032 battery is used, then it must be connected through a diode (preferably a Schottky diode). The anode of the diode is connected to + batteries, and the cathode to the cathode VD1. AT normal mode The screen displays the time in hour-minute format. With an interval of one minute, the running line is launched. The running line displays the day of the week, date, year, temp. at home, and temp. on the street. The running line is customizable, i.e. You can turn on / off the display of any of the elements. (For example, I always turn off the display of the year). When all elements are turned off, the creeping line does not start, and the clock constantly displays the current time. The 9 alarms are divided into 3 disposable and 6 reusable. When you turn on alarms 1-3, they only work once. In order for them to work again, they must be re-enabled manually. And alarm clocks 4-9 are reusable, i.e. they will run daily set time. In addition, these alarms can be set to sound only on certain days of the week. This is convenient, for example, if you do not want the alarm clock to wake you up on the weekend. Or, for example, you need to wake up on weekdays at 7-00, and on Thursday at 8-00, and on weekends you don’t need an alarm clock. Then we set one reusable at 7-00 on Monday-Wednesday and Friday, and the second at 8-00 on Thursday ... .. In addition, all alarm clocks have a signal duration setting, and if you don’t have enough signal for 1 minute to wake up , then you can increase it for a time from 1 to 15 minutes. The course correction is made once a day, at 00-00. If the clock is faster, for example, by 5 seconds per day, then at 00-00-00 the time will be set to 23-59-55, if the clock is behind, then at 00-00-00 the time will be set to 00-00-05. Correction step - 0.1 sec. The maximum correction is 59.9 sec/day. With serviceable quartz, more is unlikely to be needed. Correction is also carried out in standby mode when powered by a battery. LED arrays can use any 8*8 common cathode LEDs. As already indicated, I used the GNM23881AD. In principle, you can "dial" a matrix from individual LEDs. The AtMega16a microcontroller can be replaced with the “old” AtMega16 with the letter L. In this case, theoretically, the current consumption from the battery should increase slightly. It will probably work just AtMega16, but there may be problems when running on batteries. Diode D1 - preferably any Schottky diode. It also works with a conventional rectifier, but in order to protect yourself from various glitches associated with the fact that part of the circuit is powered by voltage “before the diode”, and the part “after the diode” is better to look for Schottky. Transistor VT1 - any n-p-n. The clock is controlled by two buttons. Their number could be increased to 8 pieces, without adding any more components at all, except for the buttons themselves, but I wanted to try to “get out” with just two. The buttons are conventionally named "OK" and "STEP". The “STEP” button usually switches to the next menu item, and the “OK” button changes the parameters of the current menu. The signal of the triggered alarm is also turned off by the "OK" or "STEP" buttons. Pressing any button during the alarm will turn off the alarm. The control scheme turned out like this:

Video how it works!

This creeping line allows you to read a text of no more than 8192 letters including spaces.The text is entered into the 24C64 memory of the running line using a keyboard from a computer without connecting the computer itself. While entering text, it is possible to erase letters using the (Backspace) key while observing this action of deleting letters on the scoreboard.

It is possible to adjust the speed of running letters using the two keys next to the numbers on the keyboard (+ and -). The speed of the line running is recorded in the latest memory cell 24C64, therefore, when you first turn it on without adjusting the speed, a slow run of letters will be observed, and therefore you need to make the first adjustment. The running speed changes greatly when adjusting the number entry in the last cell 24C64 of a number from 1 .... 30 in decimal or hexadecimal 1..1E, which can be verified using the PICKIT2 programmer, but this is not necessary.

The string memory contains a character generator that has in its memory the entire alphabet of Russian letters of capital and small letters, as well as some characters and all numbers.

Line indication line by line dynamic consisting of 8 lines that are lit from top to bottom in turn one after another 300 times per second, the entire cycle of 8 lines is performed, which allows you to observe the picture without flickering.

The 74NS595 scoreboard chips play the role of igniting the horizontal of the scoreboard or a row of 160 LEDs, and the transistors make it possible to change the horizontals or rows from top to bottom in turn, that is, the scoreboard is ignited line by line from top to bottom in turn at a speed of 300 frames per second.

The 74NS595 microcircuit itself is a conventional shift register with the output of each register to an LED matrix, but there is a large NO matrix with registers connected not directly, but through registers fixing the logical state.

Why is this needed? This is necessary so that while the shift registers are being loaded from the MK in a chain from one to another with each clock signal at pin 11 and at the same time observed on LED matrices, which we do not need at all, since the picture was illuminated by LEDs not in right places. Therefore, additional latching registers block the output of information to the matrices during data loading and update only after the clock signal appears on pins 12 forward from the shift registers to the latching data, and the latching ones are transmitted to the matrices.

The scoreboard data that creates the entire picture of the line comes from the MK from output 34 to the input of register 14 of the 74NS595 microcircuit from the first 74NS595 microcircuit to the second data is transmitted from output 9 to input 14 and so on through the chain to the last 20 microcircuit.

I repeat, the data moves with each cycle at input 11 of all 74NS595 microcircuits along the chain to the latest 74NS595 microcircuit, and after loading all 20 microcircuits, a cycle appears on the locking registers of output 12, thereby updating the image of the entire line, and not the entire display image. Rows are updated each time after moving to a lower row.

When assembling the scoreboard, it is very convenient to make boards from two 8x8 matrices or for the board to contain two matrices with the possibility of increasing the number of boards, by connecting the first display board to the microcontroller board, you can make sure that it works without the rest of the display boards and only after that check the following boards, so it will be easier to look for flaws and soldering mistakes.

To check the first display board, you need to connect the keyboard to the MK board, turn on the power, press one or more letters, give the command for the end of the line, that the text is entered by pressing the ENTER key, then the line will run at a low speed, since the running speed also needs to be adjusted by pressing the (-) key to until the constant from 5..1E is written in hexadecimal form into the 24C64 memory.

If you do not need a string of such a large length consisting of 20 8x8 matrices, then I can send you a firmware with a smaller number from 2 to 19, this is done simply and quickly.

The display boards are wired for matrices of 6x6 centimeters of red glow with the QFT 2388ASR marking. The microcontroller board is made with the condition of upgrading the addition of a clock line and a thermometer, but since the firmware for this case has not been completed, I do not recommend adding buttons so as not to burn the MK port.

command buttons.

(Shift) – button to switch to capital letters, by clicking on it and releasing it, a letter is pressed and a capital letter is displayed on the display; if you press the next letter without first pressing Shift, a small letter is displayed, that is, before each input capital letter you need to press and release Shift.

(+ and - ) - these keys work when you turn on the running line before typing and adjust the speed of movement of letters on the scoreboard + increases speed reduces the speed of moving letters.

backspace- the key for erasing text during typing, works only in typing mode, displaying the deleted letter on the scoreboard by shifting the text to the left.

Enter this key starts the line run after typing, indicating the end of the text in the 24C64 memory and says that you need to start running the line from the beginning from this place in the text.

For a new typing, the scrolling line must be turned off and on again with the keyboard connected, select the speed of running the text with the plus and minus keys, and when you first click on the letter, the scoreboard is cleared with the first letter displayed on the right side of the line, typing text moves to the left side, after which the Enter key is pressed and the line goes into running mode without responding to the keyboard.

To re-enter the text, you must remember to turn the line on and off.

Ticker with clock, calendar and typing on PS/2 keyboard

The running line shows the time hours minutes seconds day in numbers, and the month and day of the week in words, for exampleTIME 12.30.10 20 JANUARY WEDNESDAY.

Exactly the same ticker with typing on the keyboard only has a clock with a calendar. In this line, you cannot change the number of LED matrices, since all 20 of them are involved in setting the time, date and month and day of the week.

While typing, pressing the left CTRL key inserts a clock with a calendar into the ticker text. This line has all the same functions as the previous lines on PIC16F628 and PIC16F877 and it is controlled in the same way.

To set the time, you need to press the select button on the board with the microcontroller, and the time setting display appears, the seconds start flashing by pressing the change button, the seconds are reset to zero. We press the selection button again, the minutes start flashing by pressing the change button, we increase the minutes, the same with the clock, date, month and day of the week.

In the time settings, the day of the week and month are displayed as numbers.

Here is a slightly modified circuit of this line, here two buttons with pull-up resistors for changing the time and clock quartz at 32768 Hz were added, and another resistor pulling up the controller input responsible for entering the keyboard.

For more stable operation It is better to power the PIC16F877 through a 11 ohm 0.25 watt resistor on a positive power supply to reduce noise coming from transistors that switch the scoreboard rows.

Running line with a clock and a thermometer for the street and at home.

The creeping line works on DS1820 sensors and shows the temperature in the house and on the street by inserting readings on the scoreboard into the text of the creeping line.

The readings are displayed in the form of the inscription TEMPERATURE HOUSE 25.2 STREET -12.4 temperature readings have a lower indicator in the form of a tenth of a degree.

To insert a thermometer into the text, press the left ALT key on the computer keyboard connected to the running line.

The temperature range of the displayed thermometer is -55 to 99 degrees, but it is not recommended to heat the sensor above 70 degrees in order to avoid its damage.

The length of the wire going to the sensor on the street should be no more than 4 meters.

There is a firmware with three Ukrainian letters.
The alarm signal is taken as a log 0 during the signal from the 38th pin of the PIC16F877

List of radio elements

Designation Type of Denomination Quantity NoteScoreMy notepad
Scheme 1
IC MK PIC 8-bit

PIC16F877

1 To notepad
IC1 memory chip24C641 To notepad
IC2, IC3 shift register

CD74HC595

20 To notepad
VT1-VT8 bipolar transistor

BD140

8 To notepad
C1, C2 Capacitor100 nF2 To notepad
C3, C4 Capacitor15 pF2 To notepad
C5 Capacitor3.3 nF1 To notepad
R1-R16, R18, R19, R21-R24, R30, R31 Resistor

330 ohm

24 To notepad
Resistor

330 ohm

144 To notepad
R26, R27 Resistor

5.1 kOhm

2 To notepad
R28, R29 Resistor

4.7 kOhm

2 To notepad
Cr1 Quartz resonator20.000 MHz1 To notepad
LED Matrix8x820 To notepad
ConnectorPS/21 To notepad
Scheme 2
IC MK PIC 8-bit

PIC16F877

1 To notepad
IC1 memory chip24C641 To notepad
shift register

CD74HC595

20 To notepad
bipolar transistor

BD140

8 To notepad
C2 Capacitor100 nF1 To notepad
C3, C4 Capacitor15 pF2 To notepad
C5 Capacitor3.3 nF1 To notepad
C6, C7 Capacitor33 pF2 To notepad
C8 electrolytic capacitor47uF1 To notepad
R18, R19, R21-R24, R30, R31 Resistor

330 ohm

24 To notepad
Resistor

330 ohm

144 To notepad
R26, R27, R32, R33 Resistor

5.1 kOhm

4 To notepad
R29, R34, R35 Resistor

4.7 kOhm

3 To notepad
R36 Resistor

11 ohm

1 To notepad
Cr1 Quartz resonator20.000 MHz1 To notepad
Cr2 Quartz resonator32768 Hz1 To notepad
S1, S2 Clock button 2 To notepad
LED Matrix8x820 To notepad
ConnectorPS/21 To notepad
Scheme 3
IC MK PIC 8-bit

PIC16F877

1 To notepad
IC1 memory chip24C641 To notepad
shift register

CD74HC595

20 To notepad
temperature sensor

DS18B20

2





  • DS18b20) .
  • The second option DS18b20) .

Display in creeping line mode - date, month, year and day of the week.

General scheme.


- When you press Kn2 Kn2


Kn1Kn3 Kn2


UA-EN-RU .


ds 18 b 20 #1 or #2.

Schematic solutions are possible, with combination options for connecting sensors, below are examples of options with which this program will work correctly.

Watch Clock+RF Clock + RF + ds18b20



Clock + ds18b20 (2pcs) Watch+ds18b20 RF transmitter



Scheme in proteus

ATmega328 bootloader firmware.)


FUSE, if anyone will use an ICSP programmer for firmwareATmega328 in this circuit.

With jumpers Jp -1, Jp -2, Jp RF

1sec.

2sec.

4sec.

8sec.

16sec.

32sec.

64sec.

128sec.

Jp-1

Jp-2

Jp-3

fuse, ATtiny24a are installed on the internal oscillator MK - 8MHz.



in the archive.

Radio sensor for matrix clocks, battery-powered, diagram and firmware in the forum.

DS18b20, RTCDS1307 , light sensor, control buttons, kit RF -modules, and a 5 volt power supply (circuit consumption at peak moments, at maximum brightness, is up to 0.6A, and on average it is 0.3A, you can also use extra charging from a mobile phone, if available with suitable parameters)).
What is the interest of usingArduino Nano Atmega328.
The fact that on board this scarf there is already a modem with a mini USB output, you can flash such a controller without much difficulty through the bootloader, using your computer and a telephone cord for charging mobile phone with mini USB connector.
All this is easily done with a simple program.XLoader.
A little more about the experience of flashing through the bootloader, described here" Nano volt - ammeter 2 channels. ".
If desired, all the necessary modules can be bought at a bargain price on Aliexpress.

MAX7219 dot matrix

Nano Atmega328

DS1307

DS18b20

Light sensor

Power Supply

After ordering, a little patience until all these parts arrive by mail, and you can be guaranteed to assemble this very interesting circuit with a clock and a thermometer.


In general, with an elementary base, I think there should be no questions, since everything is standard here.


The design of the display of the type of clock operation - a thermometer, is already an amateur version.
The program has three options for designing the work of the thermometer clock.

  • The first option is the alternate display of time (hours and minutes), outdoor temperature and room temperature (two sensorsDS18b20) .

Display in creeping line mode - date, month, year and day of the week.

  • The second option display of time (hours and minutes), ambient temperature (one sensorDS18b20) .

Display in creeping line mode - date, month, year and day of the week.

  • The third option, just a clock, time display (hours and minutes),

display in creeping line mode - date, month, year and day of the week (temperature display is disabled).

Actually, the differences between the options are small, and it consists only in the differences in the temperature display on the matrix display of the thermometer clock, almost every option can be in demand.


Scheme.


- The scheme uses three control buttons, with a short press on these buttons, one-time rotation of the readings on the main screen clock - date - day of the week - temperature.


- When you press Kn2 more than 2 seconds, the settings menu is entered (when in the menu, pressing Kn2 more than 2 sec., exit from the setup menu).


- After entering the menu, use the buttons Kn1Kn3you can make a correction of the date and time, the movement through the menu is carried out Kn2 , the parameter being changed will be inverted.


- Also in the menu, it is possible, if necessary, to set the correction of the inaccuracy of the clock, during the day ± 9 sec.


- The next item in the menu will be the choice of the language used, one firmware provides for the use of languages UA-EN-RU .


- Item animation option on the screen, one of the three that is described at the beginning of the article.


- Radio sensor, when you select the value "0", the radio sensor is not used in the program, when you select 1 or 2, the temperature readings from the radio sensor will take place on the display, instead of ds 18 b 20 #1 or #2.

Photo of the clock being debugged on a breadboard.

Scheme in proteus

Transmitter diagram for this watch.

With jumpers Jp -1, Jp -2, Jp -3, you can choose the transmission frequency RF -module of data packets with temperature from sensor No. 3.

1sec.

2sec.

4sec.

8sec.

16sec.

32sec.

64sec.

128sec.

Jp-1

Jp-2

Jp-3

(1 - jumper closed, 0 - no)

Circuit board for clock and radio sensor.

FUSE to work ATmega328 with bootloader (archive with ATmega328 bootloader firmware.)

FUSE if anyone will be using an ICSP programmer to flash the ATmega328 in this circuit.

Firmware “Clock - thermometer on matrix modules”, printed circuit boards, proteus, archived .