Показаны сообщения с ярлыком avr. Показать все сообщения
Показаны сообщения с ярлыком avr. Показать все сообщения

четверг, 27 августа 2020 г.

connect old phone lcd to arduino, rpi or stm32

1. phone lcd

1.1. arduino + cell phone lcd (usb):
1) Display for Arduino - Use Smartphone as a Monitor for Arduino https://www.youtube.com/watch?v=LXA4E7MoMxU

1.2. arduino + mobile phone lcd (spi):
1) Подключаем дисплей от сотика или мобильного телефона к Ардуино https://www.youtube.com/watch?v=ShnyOOcfbhc
2) LG KF700 cellphone TFT LCD on Arduino Mega https://www.youtube.com/watch?v=8LEjZMAbedA
3) Arduino TFT LCD Touch Screen GSM Mobile Phone https://www.youtube.com/watch?v=4-6YDET6z9E

1.3. lcd (forums):
1) Reuse old touchscren for Arduino https://forum.arduino.cc/index.php?topic=470884.0
2) using Cellphone/mobile phone display screen https://forum.pine64.org/showthread.php?tid=1923

1.4. arduino lcds:

2. parallel lcd interface, ltdc, dpi:

2.1. RPI DPI:

2.2. arm + ltdc:
1) Праздник жизни по гиковски: с ARM и TFT LCD https://habr.com/ru/post/207136/
2) Нерабочий планшет + Orange Pi https://habr.com/ru/post/396277/

2.3. stm32 + ltdc (hal):
1) STM Урок 58. System Workbench. LCD. SDIO. Часть 1 https://narodstream.ru/stm-urok-58-system-workbench-lcd-sdio-chast-1/
2) STM Урок 64. HAL. LTDC. Часть 1 https://narodstream.ru/stm-urok-64-hal-ltdc-chast-1/
3) STM32: using the LTDC display controller http://www.lucadavidian.com/2017/10/02/stm32-using-
4) Запускаем дисплей на STM32 через LTDC… на регистрах https://habr.com/ru/post/412753/
6) STM32 ОПИСАНИЕ РАБОТЫ LTDC https://hubstub.ru/stm32/171-stm32-opisanie-raboty-ltdc.html
8) Library 18- ILI9341 with LTDC on STM32F429 Discovery http://stm32f4-discovery.net/2014/06/library-18-ili9341-ltdc-stm32f429-discovery/

2.4. stm32 + ssd1963:
1) STM32 и LCD, быстрая заливка экрана https://habr.com/ru/post/278967/
2) 

2.5. stm32 + RA8876, 8080:
1) Подключение дисплея 10" ER-TFT101-1 к STM32F429 через FMC https://habr.com/ru/post/483538/

2.6. stm32 + spi lcd:
1) STM32F1хх — продолжаем лечение от ардуинозависимости при помощи LCD https://habr.com/ru/post/139384/

2.7. stm32 + lvgl library:
1) Интеграция в проект LVGL графической библиотеки для микроконтроллеров https://habr.com/ru/post/510626/
2) 


понедельник, 10 августа 2020 г.

Interrupts

x86:
1) Обработка аппаратных прерываний в архитектуре intel. i8080 — i80486, PIC, ISA, conventional PCI https://habr.com/ru/post/128404/
2) Новая библиотека x86 SIMD интринсиков — immintrin debug https://habr.com/ru/company/intel/blog/450964/

avr:
1) Обработка прерываний в C http://avrprog.blogspot.com/2013/03/interruptc.html
2) AVR Studio: как написать обработчик прерывания http://microsin.net/programming/avr/avr-studio-isr.html
3) http://easyelectronics.ru/avr-uchebnyj-kurs-programmirovanie-na-si-chast-3.html
4) Прерывание на контроллере AVR в Atmel AVR Studio http://blablacode.ru/mikrokontrollery/235
5) Newbie's Guide to AVR Interrupts https://www.avrfreaks.net/forum/tut-newbies-guide-avr-interrupts?page=all

stm32:
1) Начинаем изучать Cortex-M на примере STM32, часть 2 https://habr.com/ru/post/218825/
2) Микроконтроллеры STM32: основы использования таймеров, прерываний и ШИМ https://eax.me/stm32-interrupts-timers-pwm/
3) ARM. Учебный Курс. Прерывания и NVIC — приоритетный контроллер прерываний http://easyelectronics.ru/arm-uchebnyj-kurs-preryvaniya-i-nvic-prioritetnyj-kontroller-preryvanij.html
4) STM32F4 External interrupts tutorial https://stm32f4-discovery.net/2014/08/stm32f4-external-interrupts-tutorial/
5) STM Урок 163. LL. USART. Interrupt https://narodstream.ru/stm-urok-163-ll-usart-interrupt/
6) STM32 External Interrupt Example https://www.keil.com/download/docs/352.asp
7) STM32. Урок 11. NVIC. Прерывания. Контроллер прерываний NVIC https://www.youtube.com/watch?v=FEisXTiiy1k
8) STM32. Урок 12. NVIC. EXTI. Примеры внешних прерываний https://www.youtube.com/watch?v=AUz1_qFrSCU
9) Прерывания, события и NVIC https://stm32.chrns.com/post/149089562384/nvic
10) Прерывания, события и NVIC https://themagicsmoke.ru/courses/stm32/nvic.html
11) Урок 18. Система прерываний STM32. Организация и управление прерываниями. http://mypractic.ru/urok-18-sistema-preryvanij-stm32-organizaciya-i-upravlenie-preryvaniyami.html

ti:
1) interrupt "pacing" (накопление прерываний, чтобы избежать слишком частого переключения контекста) https://processors.wiki.ti.com/index.php/Demystifying_Ethernet_Performance

вторник, 17 сентября 2019 г.

Ledblink (arduino nano, atmel studio)

Принципиальная схема arduino nano:


Пинаут:

На первой схеме видим, что к пину d13 подключен светодиод. На второй, что цифровой пин d13 соответствует выходу pb5 avr-микроконтроллера atmega328p. То есть нам надо включать-отключать уровень напряжения на порту pb5.

Первые три урока (1, 2, 3) проекта narodstream.ru посвящены установке и созданию проекта в atmel studio только на другом avr-контроллерe. Соответственно при создании проекта в ide надо вместо atmega8 выбрать atmega328p. Создадим пустой проект и напишем программу просто для включения ноги pb5, основываясь на пятом уроке:

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRD = 0xFF;
while(1) 
{
PORTD = 0b00000001;
_delay_ms(500);
PORTD = 0b00000000;
_delay_ms(500);
}
}


Скомпилим программу в hex-файл.

Создание принципиальной схемы в Proteus разбирается в четвертом уроке. Запилим свою схему для atmega328p, ноги pb5 со светодиодом, проверим выполнение в эмуляторе:

Подключение программатора USBASP к плате Arduino Nano описано тут, использование программы avrdude в Fedora30 описано тут.

Файл проекта в proteus 7.10 тут.
Архив с проектом для atmel studio 7 тут.

Microchip page:
1) datasheet
2) instruction set manual

Источники:
1) http://narodstream.ru/avr-urok-5-migayushhij-svetodiod/

Подробные серии уроков по avr:
1) http://easyelectronics.ru/category/avr-uchebnyj-kurs
2) http://narodstream.ru/programmirovanie-mk-avr/
3) https://home.roboticlab.eu/ru/avr

avr asm:
1) Программирование МК AVR на языке assembler в среде Linux https://habr.com/ru/post/373677/

uart:

LedBlink (arduino nano, arduino ide)

На arduino nano к 13-й ноге подключен smd-светодиод. При помощи простейшего скетча им можно помигать:

int led = 13;
void setup()
{
  pinMode(led, OUTPUT);
}

void loop()
{
  digitalWrite(led, HIGH);
  delay(1000);
  digitalWrite(led, LOW);
  delay(1000);
}
5) гистерезис

Ethernet module w5100:
1) datasheet 
2) https://arduino-kit.ru/product/ethernet-shild-w5100-dlya-mega-2560-1280-328-unr-r3
3) https://arduinomaster.ru/datchiki-arduino/w5100-modul-arduino-ethernet/
4) https://istarik.ru/blog/networ/109.html
5) Веб-сервер — ваша первая сетевая программа Arduino https://habr.com/ru/post/338844/

Серии уроков по arduino:
1) https://lesson.iarduino.ru/
2) http://mypractic.ru/uroki-programmirovaniya-arduino-navigaciya-po-urokam
3) http://edurobots.ru/kurs-arduino-dlya-nachinayushhix/
4) https://alexgyver.ru/arduino_lessons/
5) https://arduinomaster.ru/uroki-arduino/arduino-uroki-nachalo-raboty/
6) https://all-arduino.ru/category/uroki/
7) https://habr.com/ru/post/357908/

четверг, 12 сентября 2019 г.

game console on arduino nano (atmega-328p) and nokia 5110 lcd on breadboard

!!!Такое подключение плохо влияет на экран!!!

Для начала подключим на макетной плате дисплей nokia 5110 (синий) к arduino nano (схема во fritzing):


Возьмем скетч отсюда, только в нем надо поправить используемые дисплеем пины:

 Nokia 5110 модуль Arduino
 RST D8
 CE D7
 DC D6
 Din D5
 CLK D4
 VCC D3
 BL(LIGHT) D2
 GND BL

Для работы с дисплеем nokia5110 будем использовать либу Adufruit_GFX_Library Её необходимо распаковать и добавить в папку "libraries" в папке с Arduino IDE (у меня на win10 среда arduino ide 1.8.5 установлена в C:\Program Files (x86)\Arduino, папка с установленными библиотеками находится по следующему пути C:\Program Files (x86)\Arduino\libraries, сюда и надо скопировать папку Adufruit_GFX_Library из архива).

Перед входом в setup() создадим экземпляр класса Adafruit_PCD8544, в конструктор которого передаются пины, управляющие отображением:

// pin 4 - Serial clock out (SCLK)
// pin 5 - Serial data out (DIN)
// pin 6 - Data/Command select (D/C)
// pin 7 - LCD chip select (CS)
// pin 8 - LCD reset (RST)
Adafruit_PCD8544 display = Adafruit_PCD8544(4, 5, 6, 7, 8);

В начале функции setup() включим пины питания и подсветки дисплея:

void setup() {
  pinMode(2, OUTPUT);           // pin 2 - подсветка            
  digitalWrite(2, HIGH);       

  pinMode(3, OUTPUT);           // pin 3 - питание            
  digitalWrite(3, HIGH);       
  
  Serial.begin(9600);
  display.begin();              // Инициализация дисплея
  display.setContrast(60);      // Устанавливаем контраст
  display.setTextColor(BLACK);  // Устанавливаем цвет текста
  display.setTextSize(1);       // Устанавливаем размер текста
  display.clearDisplay();       // Очищаем дисплей
  display.display();
  delay(1000);
}

Весь скетч.

Источники:
3) gcConsole with Nokia5110Lcd http://www.getchip.net/posts/147-gc-rogue-nachinayu-dobavlyat-drugie-displei/
4) Arduboy arduino libraries (i2c lcd) https://arduboy.com/download-and-learn-arduino/
5) Arduboy2 arduino libraries (i2c lcd) https://github.com/EvgenKP/Arduboy2
6) Gamebuino Classic https://gamebuino.com/gamebuino-classic
7) Gamebuino Classic Arduino Library https://gamebuino.com/academy
8) Gamebuino Classic opensource games https://gamebuino.com/creations
9) Gamebuino scheme http://legacy.gamebuino.com/wiki/images/6/6f/Gamebuino_r2_schematics.pdf
10) Gamebuino на breadboard https://blog.prostorobot.ru/akdengi/2016/09/17/sozdaem-igrovuyu-konsol-na-arduino-chast-1.html
11) MAKERbuino (nokia 5110 lcd) opensource arduino games https://www.circuitmess.com/creations/
12) MAKERbuino (nokia 5110 lcd) opensource scheme https://www.circuitmess.com/reading-electronic-schematics/
13) MAKERbuino (nokia 5110 lcd) opensource gamebuino arduino library https://www.circuitmess.com/coding-getting-started/
14) Adufruit_GFX_Library http://zelectro.cc/nokia5110_module_arduino
15) Adufruit_GFX_Library https://robotclass.ru/tutorials/graphics-lcd-nokia-5110/
16) u8glib https://cuneyt.aliustaoglu.biz/en/nokia-5110-lcd-with-arduino-nano-and-u8glib/
17) https://www.instructables.com/id/Arduino-Nano-Nokia-5110-LCD-I-NTC-103-Termistor/
18) PCD8644 https://arduinoplus.ru/arduino-nokia-5110/
19) Зарядка-защита лития + применение (TP4056) https://mysku.ru/blog/aliexpress/30210.html
20) Micropong (i2c lcd) https://alexgyver.ru/micropong/

четверг, 4 июля 2019 г.

Установка последней среды Arduino на Ubuntu 16.04/Fedora 31

1. Ubuntu. Можно действовать двумя способами: ставить из репы и через umake.

1.1. Установка из репозитария.

sudo apt-get install arduino arduino-core
1.2. Установка через umake.

Набираем в терминале:

umake electronics arduino

Моя папка для инсталляции по умолчанию:

/home/adil/.local/share/umake/electronics/arduino

Переходим в папку и запускаем:

./arduino

2. Fedora. Установка только из репозитария.

sudo dnf install arduino arduino-core

Использованные материалы:
1) https://askubuntu.com/questions/1025753/how-to-install-latest-arduino-ide
2) https://www.centennialsoftwaresolutions.com/blog/get-and-install-the-64-bit-arduino-1-8-7-ide-on-ubuntu-16-04-3

среда, 26 июня 2019 г.

Использование программатора для avr-контроллеров usbasp и avrdudess (gui-оболочки над avrdude) на ubuntu 16.04 и fedora 30

1. Для Ubuntu 16.04.

Устанавливаем пакеты Mono:
sudo apt-get install libmono-system-windows-forms4.0-cil

Устанавливаем avrdude и avr-gcc:
sudo apt-get install avrdude gcc-avr

Скачиваем zip-архив gui для avrdude avrdudess_20190209, распаковываем, переходим в распакованную папку, запускаем:
mono avrdudess.exe

Хороший аналог Bray's Terminal под linux - cutecom:
sudo apt install cutecom

2. Для Fedora 30.

Устанавливаем пакеты Mono:
sudo yum install mono-core

Устанавливаем avrdude и avr-gcc:
sudo yum install avrdude

Скачиваем zip-архив gui для avrdude avrdudess_20190209, распаковываем, переходим в распакованную папку, запускаем:
mono avrdudess.exe

3. Программа способна прочитать значения fuse-битов, но само выставление битов в программе сделано через байтовые значения fuse high byte, fuse low byte, fuse extended byte и онлайн-конфигуратор этих значений. Удобнее конфигурирование fuse-битов для записи в "чистый" avr-контроллер сделано под виндой в программе avrdude, с которой был скопирован основной функционал avrdudess, во вкладке "Fuses".

Ссылки:
1) http://blog.zakkemble.net/avrdudess-a-gui-for-avrdude/
2) https://ph0en1x.net/77-avrdude-full-howto-samples-options-gui-linux.html
3) https://radiotech.kz/threads/nastrojka-usbasp-v-ubuntu.137/
4) Пример программы (мигание светодиодом), собранной под linux с помощью avr-gcc
https://fos.cmb.ac.lk/esl/programing-avr-ubuntu-14-04-usbasp/
5) http://www.societyofrobots.com/robotforum/index.php?topic=7004.0
6) https://ru.wikipedia.org/wiki/WinAVR

Подключение программатора USBASP к Arduino Nano