We develop and take a look at functions with the Professional midi 1284P board.
Not too long ago we’ve got launched and described a brand new prototyping board known as PRO midi 1284, primarily based on an ATmega 1284P microcontroller; after this presentation, made in a earlier publish, we begin to work with it and we clarify learn how to interface it in a sensible and quick option to the exterior world, not less than by way of {hardware}. For this function, on this article, we are going to suggest what, within the perspective of the event platform, is its pure complement, that could be a board created to permit and facilitate the examine, growth and debugging of functions primarily based on it. The board in query is the PRO midi 1284P Developer’s Board proven in Fig. 1.
This board offers a housing for the “PRO midi 1284P” and an entire sequence of connectors to attach or host numerous digital units (additionally within the type of a breakout board) that will let you develop functions that exploit the varied assets of the Atmega1284P, comparable to analogue ports, digital ports, serial ports, I²C bus, SPI bus, and so on., and so on..
Fig. 1.
Not solely that, for many who wish to develop in an MPLAB X setting and carry out each the code loading and the actual debugging, there may be additionally a JTAG connector the place to attach a budget SNAP programmer/debugger from Microchip; on this regard, we level out that the board, accessible from Open Electronics (additionally on-line at www.open-electronics.org) is already assembled however with the 2 LEDs LD1 and LD2 not soldered, however current within the package deal. Those that aren’t occupied with utilizing the MPLAB X growth setting and the JTAG programmer/debugger, however intend to make use of the Arduino setting and programming through a serial port by means of the bootloader, can simply solder these LEDs (respecting the polarity, cathode on the left , anode on the appropriate, wanting on the board with the facility connector on the left). However, if you wish to use JTAG programming and debugging, it could be higher to keep away from soldering these LEDs, since they correspond to the TCK and TMS pins of the JTAG connector and will intervene with appropriate operation.
ELECTRICAL DIAGRAM
On the prime you possibly can clearly see the facility provide part with the enter (blackjack, prime left of the board), the place you possibly can apply a voltage from 7V DC to 12V DC, linked first to a 5V voltage regulator after which to a 3.3V voltage regulator. These two voltage regulators present the 2 respective voltages to all the board.
Observe that since a number of units may be linked to the board and the facility consumption may be fairly excessive, the next limitations should be utilized, in any other case some parts could also be broken.
- Do not energy the “PRO midi 1284P Developer’s Board” by means of the USB <-> serial adapter current on the “PRO midi 1284P”, however solely by means of the black Jack. Which means, in the event you use Arduino IDE to program the MCU and also you interface through serial with an adapter, you will need to join all pins, besides the +Vcc pin (so you will need to join: GND, TX, RX and RST/DTR, however not +Vcc).
- Restrict the whole absorption (+5V along with +3.3V) to a most of 1,000 mA. Increased absorptions might trigger the 5V regulator to overheat, leading to attainable injury.
- The ability provide coming to the MCU is +5V, so all direct I/Os of the Atmega1284P might be with that voltage. There are already some connectors on the board which have stage translators from 5V to three.3V (for instance for the I²C pins).
Slightly below the facility provide part, on the left aspect, you possibly can see two MOSFETs (Q1 and Q2) which have the duty to behave as stage shifters, between +5V and +3,3V, for the alerts going to the I²C bus and to some connectors already ready for a selected use, such because the one to attach a breadboard with a BMP180 sensor (temperature, humidity and atmospheric stress) or these to attach a 0.96″ OLED show (there are two variations of the 0.96″ OLED show and one has the facility pins reversed in comparison with the opposite, so it’s important to be very cautious during which connector to insert the show).
One other connector permits the connection of different I²C units working at 3.3V, the truth is, it makes accessible the GND pin, the +3.3V pin and the 2 SCL and SDA pins linked to the extent shifter MOSFETs.
Observe that pull-up resistors for the I²C bus are already current on the board and are linked to the SDA and SCL pins of the MCU (pins 16 and 17 of the “PRO midi 1284P” board).
Persevering with downwards, at all times on the left aspect of the diagram, we discover another connectors. Two of them permit the connection of I²C units working at 5V, whereas the final one on the backside is ready for the insertion of a breadboard with the RTC DS3231 module.
Within the middle of the diagram, there may be the MCU (ATmega1284P microcontroller) that’s mounted on the PRO midi 1284P board and that should be inserted within the area reserved for it on the PRO midi 1284P Developer’s Board.
Persevering with to look at the diagram of the board, on the appropriate aspect of the MCU, continuing from prime to backside, we discover a connector marked NEOPIXELon which connector there are the facility provides, +5V and GND, in addition to pin D0 for use for connecting a strip of LEDs WS2812 or related, known as NeoPixel.
There may be additionally a connector labeled ANALOG that makes accessible the analogue inputs A1, A2 and A3 in addition to offering +5V and GND; this can be utilized to attach sensors that present an analogue sign output between 0V and +5V.
Within the wiring diagram we’ve got, then, a connector marked APA102; it makes accessible the facility provide line (+5V and GND), in addition to the 2 pins D7 and D5 that can be utilized to manage a strip of LEDs APA102 each with the administration completely software program of the 2 crucial alerts (Clock and Information) , and delegating this administration to the SPI library with which these LEDs are managed at excessive pace.
Let’s proceed with the evaluation arriving at trimmer R5, linked on one aspect to +5V and on the opposite to GND, with the cursor linked to analogue enter A0. This trimmer can be utilized to be taught the operation of an analogue port, the truth is, whenever you rotate the slider from proper to left, the worth returned by the perform analogRead(A0) of Arduino, will fluctuate from 0 to 1023 in a proportional option to the worth of voltage current on that pin A0.
A connector marked “SPI” that makes accessible the MOSI (D5), SCK (D7), MISO (D6) and SS (D4) pins, along with the same old +5V and GND, to attach objects that speak to the microcontroller by means of the SPI bus. If you don’t use the SPI bus, a few of these pins can be utilized with the “Servo” library to drive servomotors. Within the latter case, we suggest that you just seek the advice of Desk 1which reveals the correspondence between the interior timers and their contacts on the board.
Desk 1
The circuit has two pushbuttons named P1 and P2, full with R/C debouncing community, linked respectively to digital inputs D15 and D14; for his or her use understand that these buttons are near the bottom (LOW worth of Arduino). In an effort to use them, they should be outlined in this system as inputs with an energetic pull-up resistor, or, utilizing the Arduino syntax, you will need to make the: pinMode(pin, INPUT_PULLUP) in order that, when the button shouldn’t be pressed , the enter can have a excessive worth (HIGH), whereas when the button is pressed, it would have a low worth (LOW).
Slightly below these buttons, within the diagram, we discover the JTAG connector. The use or not of such connector is a perform of the event setting that’s meant to make use of.
For individuals who will work in a pure Arduino setting, with using the IDE and programming through serial port, by means of using the exterior converter USB <-> Serial, and the “bootloader” current within the “PRO midi 1284P”, this JTAG connector will serve solely to have accessible pins D18, D19, D20 and D21 along with the RESET pin and energy provide, +5V and GND.
For individuals who will work within the MPLAB X setting of Microchip, this JTAG connector will make accessible all of the alerts for using a programmer/debugger as SNAP, that’s, along with the facility provide +5V and GND, additionally the alerts of TCK, TDI, TMS and RESET. Observe that the connector on the board is immediately connectable to the aforementioned SNAP programmer, with a straight 7-conductor cable for the reason that pin place is identical because the programmer connector.
Lastly, on the backside of the circuit beneath the JTAG connector, we discover 4 light-emitting diodes, recognized by the initials LD1, LD2, LD3 and LD4. As talked about earlier, solely the 2 LEDs LD3 and LD4 might be soldered on the board, whereas the remaining two LEDs, LD1 and LD2, might be equipped unsoldered. It will likely be as much as the end-user to decide on whether or not to go away solely two LEDs on the board or to mount all 4, relying on whether or not or not the JTAG programmer/debugger is used. In an effort to facilitate low-level programming, we present in Desk 2 the correspondence of a number of the pins used within the PRO midi 1284P Developer’s Board.
Desk 2
Fig. 2 reveals the association of the described connectors. The serigraphy on the board clearly signifies the that means of every single pin. As it’s clear from the provision of connectors each generic (SPI, I÷C, ANALOG, and so on.) and particular (OLED Show, RTC DS3231, BMP180 module, and so on.) the PRO midi 1284P Developer’s Board permits to make use of of all of the assets of the Atmega1284P and to be taught the use and programming of them permitting the experimentation on using numerous extra {hardware} parts.
Fig. 2
Fig. 3 reveals the event board with the PRO midi 1284 and an RTC module put in; as an alternative in Fig. 4 you see the board utilized to an Arduino Mega (by advantage of the presence of the strips on the underside, which match the Arduino Mega headers), simply to present you an thought of the flexibility of the event system that it varieties with the ProMidi 1284P .
Fig. 3
Fig. 4
Checklist of Parts:
R1, R2, R3, R4: 4.7 Kohm
R5: Trimmer 10 Kohm MV
R6, R7: 1kohm
R8, R9, R10, R11, R12: 470 ohms
C1, C7, C9: 100 F 35 VL Electrolytic
C2, C5, C6, C8: 100 nF Ceramic
C3, C4: 100 nF 100 VL polyester
LD1: 5mm LED inexperienced (see textual content)
LD2 LED 5 mm yellow (see textual content)
LD3 LED 5 mm crimson
LD4 LED 5mm inexperienced
P1, P2: Microswitch
Q1, Q2: BS170
BMP180: BMP180 module
OLED1: 0.96″ I2C . OLED show
LCD: I2C LCD show
DS3231: DS3231 RTC Module
SERVO: 6V . Servomotor
NEOPIXEL: LED WS2812B
APA102: APA102 LED LEDs
D1:1N4007
U1: 7805
U2: MCP1702-3302E/TO
Varied:
– 3-way feminine strip (1 laptop.)
– 4 methods feminine strips (7 pcs.)
– 5 methods feminine strip (1 laptop.)
– 6 methods feminine strips (2 pcs.)
– 7 methods feminine strip (1 laptop.)
– 20 methods feminine strip (2 pcs)
– 8 methods Arduino strips (5 pcs.)
– 10 methods Arduino strips (1 laptop.)
– Arduino strips 2×18 methods (1 laptop.)
– Energy provide plug
– PCB S1393 (102×73 mm)
FROM OPENSTORE
Professional Midi 1284P
PRO midi 1284P Developer’s Board
1.3 inch OLED show
Breakout with DS3231 & EEPROM