Лучший эмулятор Arduino UnoArduSim V2.6. Третья серия.

Пример 1. Запись строки в файл test.txt, на SD карту.




//Начало скетча


  1. #include "SPI.h"
  2. #include "SD.h"
  3. File myFile; // переменная myFile класса File
  4. void setup() {
  5. if (!SD.begin()) { // инициализация SD карты
  6. return;
  7. }
  8. myFile = SD.open("test.txt", FILE_WRITE); // если файла с именем " test.txt " - отсутствует, то он будет создан.
  9. if (myFile) { // если файл открыт для записи, то выполнить следующее…
  10. myFile.println("Hallo world!");
  11. myFile.close(); // закрыть файл
  12. }}
  13. void loop() {
  14. }

//Конец скетча




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



//Начало скетча


  1. void setup(){
  2. pinMode(9, OUTPUT);
  3. }
  4. void loop(){
  5. servo(9, 0);
  6. delay(2000);
  7. servo(9, 90);
  8. delay(2000);
  9. servo(9, 180);
  10. delay(2000);
  11. servo(9, 90);
  12. delay(2000);
  13. }
  14. void servo(int pin, int angle)
  15. {
  16. for (int i = 0; i <= 60; i++)
  17. {
  18. int pulseWidth = (angle * 11) + 500;
  19. digitalWrite(pin, HIGH);
  20. delayMicroseconds(pulseWidth);
  21. digitalWrite(pin, LOW);
  22. delay(20 - pulseWidth / 1000);
  23. }}

//Конец скетча




Пример 3. Для модуля на 4 светодиода.



//Начало скетча


  1. void setup(){
  2. pinMode(0, OUTPUT);
  3. pinMode(1, OUTPUT);
  4. pinMode(2, OUTPUT);
  5. pinMode(3, OUTPUT);
  6. }
  7. void loop(){
  8. digitalWrite(0, HIGH);
  9. delay(500);
  10. digitalWrite(0, LOW);
  11. digitalWrite(1, HIGH);
  12. delay(500);
  13. digitalWrite(1, LOW);
  14. digitalWrite(2, HIGH);
  15. delay(500);
  16. digitalWrite(2, LOW);
  17. digitalWrite(3, HIGH);
  18. delay(500);
  19. digitalWrite(3, LOW);
  20. }

//Конец скетча




Пример 4. Отображение цифр на модуле 7 сегментный индикатор.



//Начало скетча


  1. int pins[4]={0,1,2,3};
  2. //контакты 0, 1, 2, 3, на плате Arduino
  3. //контакты D0, D1, D2, D3 дешифратора К176ИД2
  4. // значения для вывода цифр 0-9
  5. byte numbers[10] = { 0b0000, 0b1000, 0b0100, 0b1100, 0b0010, 0b1010, 0b0110, 0b1110, 0b0001, 0b1001};
  6. // переменная для хранения значения текущей цифры
  7. int number = 0;
  8. void setup()
  9. {
  10. // Сконфигурировать контакты как выходы
  11. for(int i=0;i<4;i++)
  12. pinMode(pins[i],OUTPUT);
  13. pinMode(7,OUTPUT); digitalWrite(7,LOW); //для включения дешифратора
  14. }
  15. void loop(){
  16. showNumber(number);
  17. delay(1000);
  18. number = (number + 1) % 10;
  19. }
  20. // функция вывода цифр
  21. void showNumber(int num)
  22. {
  23. for(int i=0;i<4;i++)
  24. {
  25. if(bitRead(numbers[num],3-i)==HIGH){ // зажечь сегмент
  26. digitalWrite(pins[i],HIGH);
  27. }else{ // потушить сегмент
  28. digitalWrite(pins[i],LOW);
  29. }}}

//Конец скетча




Пример 5. Бегущая дорожка для модуля сдвиговый регистр.



//Начало скетча


  1. #include "SPI.h"
  2. enum { REG_SELECT = 4 }; // CS к 4, CLK 13, Din 11
  3. void setup(){
  4. SPI.begin();
  5. pinMode(REG_SELECT, OUTPUT);
  6. digitalWrite(REG_SELECT, LOW);
  7. SPI.transfer(0);
  8. digitalWrite(REG_SELECT, HIGH);
  9. }
  10. void rotate(uint8_t &bits){
  11. uint8_t high_bit = bits & (1 << 7) ? 1 : 0;
  12. bits = (bits << 1) | high_bit;
  13. }
  14. void loop(){
  15. static uint8_t nomad = 1;
  16. digitalWrite(REG_SELECT, LOW);
  17. SPI.transfer(nomad);
  18. digitalWrite(REG_SELECT, HIGH);
  19. rotate(nomad);
  20. delay(200);
  21. }

//Конец скетча




Видео "Эмулятор Arduino UnoArduSim V2.6. Третья серия."

Использование модулей SD карта, сдвиговый регистр, сервомотор.


Лучший эмулятор Arduino UnoArduSim