Как мне перейти на Arduino Mega?
Мне нужно использовать камеру OV7670 на моем arduino mega, и я обнаружил, что на этом сайте есть руководство по использованию камеры ov7670, но в этом руководстве используется arduino Uno. если я использую arduino Mega2560, что мне нужно сделать? мне нужно изменить их код и контактный разъем?
вот ссылка
https://www.instructables.com/ id/OV7670-Arduino-Camera-Sensor-Module-Framecapture-T/?amp_page=true
@Ibnum Richaflor, 👍1
1 ответ
Да, вам придется изменить код, чтобы он соответствовал распиновке Mega.
Поскольку программа должна работать достаточно быстро, а функции Arduino
digitalRead()
и digitalWrite()
ужасно медленны, автор
программа использовала прямой доступ к порту для выполнения необработанного ввода-вывода.
Например:
//Подождите, пока vsync будет на контакте 3 (считая с 0) portD
while(!(PIND&8));//ждем высокого уровня
while((PIND&8));//ждем низкого уровня
Это тестовый контакт PD3 (8 соответствует 23), который на Uno цифровой 3, но на Меге цифровая 18. Тот же код может быть написан в переносимом виде:
//Подождите, пока vsync будет на контакте 3 (считая с 0) portD
while (digitalRead(3) == LOW); // ждем высокого
while (digitalRead(3) == HIGH); // ждем минимума
но, вероятно, это было бы слишком медленно.
Обратите внимание, что здесь:
UDR0=(PINC&15)|(PIND&240);
программа использует особое расположение выводов Uno в
чтобы прочитать 8 входов только с двумя чтениями порта (4 бита на
порт C и 4 бита на порт D). Вы могли бы сделать еще лучше на Меге
если вы используете контакты с A8 по A15 для шины данных, а затем прочитайте весь
8-битное слово как PINK
.
Могут быть некоторые другие различия между Uno и Mega, которые необходимо принимать во внимание, но сопоставление выводов — единственное, что для меня это очевидно, если быстро просмотреть код.
- Могу ли я использовать датчик камеры от неработающего смартфона в Arduino или Raspberry Pi?
- Потоковая передача видео с камеры на мобильный телефон и отправка управляющего сигнала обратно с мобильного телефона на Arduino через Wi Fi
- Различные названия контактов в модуле камеры 0V7670
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
привет, Вы сказали, что «…что на Uno цифровое 3, а на Mega цифровое 18». откуда вы знаете, что на Mega стоит Digital Pin 18? и я до сих пор не понимаю, как использовать контакты с A8 по A15 и читать слово как РОЗОВЫЙ, @Ibnum Richaflor
@IbnumRichaflor: Re «_откуда вы знаете [...]_»: погуглите «распиновка Arduino Uno» и «распиновка Arduino Mega». Повторите «_используйте контакты с A8 по A15 и прочитайте слово как PINK_»: контакты A8–A15 (обозначение Arduino) — это PK0–PK7 (обозначение производителя), вместе известные как «порт K»., @Edgar Bonet