http://arduino.cc/en/Main/ArduinoGSMShield
Все для создания Роботов и не только. Умный дом, Tasmota, MQTT, Home Assistant.
ATMEL ATmega32 +---\\---+ (XCK/T0) D0 PB0 01| |40 PA0 AI7 D31 (ADC0) (T1) D1 PB1 02| |39 PA1 AI6 D30 (ADC1) (INT2/AIN0) D2 PB2 03| |38 PA2 AI5 D29 (ADC2) (OC0/AIN1) D3 PB3 04| |37 PA3 AI4 D28 (ADC3) (SS) D4 PB4 05| |36 PA4 AI3 D27 (ADC4) (MOSI) D5 PB5 06| |35 PA5 AI2 D26 (ADC5) (MISO) D6 PB6 07| |34 PA6 AI1 D25 (ADC6) (SCK) D7 PB7 08| |33 PA7 AI0 D24 (ADC7) RESET 09| |32 AREF VCC 10| |31 GND GND 11| |30 AVCC XTAL2 12| |29 PC7 D23 (TOSC2) XTAL1 13| |28 PC6 D22 (TOSC1) (RXD) D8 PD0 14| |27 PC5 D21 (TDI) (TXD) D9 PD1 15| |26 PC4 D20 (TDO) (INT0) D10 PD2 16| |25 PC3 D19 (TMS) (INT1) D11 PD3 17| |24 PC2 D18 (TCK) (OC1B) D12 PD4 18| |23 PC1 D17 (SDA) (OC1A) D13 PD5 19| |22 PC0 D16 (SCL) (ICP1) D14 PD6 20| |21 PD7 D15 (OC2) +--------+
Arduino на Atmega32A – 16 Mhz – собрал вот такую Ардуинку, залил туда bootloader Arduino. Все отлично работает. Собрал также USB-UART модуль на CP2102.
Источник: http://www.instructables.com/id/Using-Atmega32-with-Arduino-IDE/
mega32-16.name=ATmega32-External 16mhz mega32-16.upload.protocol=arduino mega32-16.upload.speed=19200 mega32-16.upload.maximum_size=32000 mega32-16.build.mcu=atmega32 mega32-16.build.f_cpu=16000000L mega32-16.build.core=arduino:arduino mega32-16.build.variant=mega32 mega32-16.bootloader.low_fuses=0xEF mega32-16.bootloader.high_fuses=0x89
Как превратить ATmega1284P в Arduino проверенно работает.
Работает. Это просто тест.
LiquidCrystal lcd(28,29, 24,25,26,27);
PA0,PA1,PA2,PA3,PA4,PA5
Код для mbed NXP LPC11U24
WIKI: OR-BWSENSE
DigitalInOut QTRA(p6); //connected to digital P6
DigitalInOut QTRB(p5); //connected to digital P5
DigitalOut led1(LED1);
DigitalOut led4(LED4);
Timer t;
Serial pc(USBTX, USBRX); // tx, rx
int bw=0,aw=0,k;
int main()
{
while(1) {
QTRA.output();
QTRA.mode(PullUp);
wait_us(2500);
QTRA.mode(PullNone);
QTRA = 1;
t.start();
QTRA.input();
while (QTRA == 1 || t.read_us() < 3000);
bw = t.read_us();
t.stop();
t.reset();
QTRB.output();
QTRB.mode(PullUp);
wait_us(2500);
QTRB.mode(PullNone);
QTRB = 1;
t.start();
QTRB.input();
while (QTRB == 1 || t.read_us() < 3000); aw = t.read_us(); t.stop(); t.reset(); // pc.printf(“%d %d\n”,bw,aw); if (bw > 3100) { led1 = 1; } else { led1=0; } // Black
if (aw > 3100) { led4 = 1; } else { led4=0; } // Black
}
}